最新のコンテンツが反映されていません。早急にアップデート内容をご提供できるよう努めております。最新のコンテンツ内容は韓国語ページをご参照ください。
VPC環境で利用できます。
HBaseベースで動作する OpenTSDB(Time Series DataBase)は、分散と拡張可能な時系列データベースです。
OpenTSDBはサーバ、ネットワーク、アプリケーションプログラムから収集されたメトリック情報を保存、インデックス、転送するなどの処理のために作られました。
OpenTSDBアーキテクチャ
- TSD(Time Series Daemon): 入力されたメトリック情報を HBaseの保存場所に保存するロールを担います。
- 入力ソース: サーバ、ネットワーク、アプリケーションプログラムなどから送られるメトリック情報です。
- 保存場所: HBaseを基本保存場所として利用し、時系列データを保存します。

OpenTSDBの詳細は、OpenTSDBホームページをご参照ください。
このガイドでは、Cloud Hadoopを利用して OpenTSDBを構築する方法を説明します。
このガイドで使用する OpenTSDBオープンソースの内容は、OpenTSDBをご参照ください。
事前タスク
OpenTSDBをインストールするサーバを作成します。例では、Linuxサーバで使用する方法を説明します。
- サーバ作成の詳細は、Server を開始するガイドをご参照ください。
- Linuxサーバにアクセスする方法は、サーバアクセスガイドをご参照ください。
OpenTSDB を使用する
まず、サーバに OpenTSDBオープンソースをインストールする際に必要なシステム要件を確認します。インストール要件は次の通りです。
<インストールのシステム要件>
- Java SE (JDK)
- Gnuplot
- OpenTSDB(オープンソース)
1. OpenTSDBのインストール
サーバに OpenTSDBをインストールする方法は、次の通りです。
-
以下のコマンドを使用して OpenJDKをサーバにインストールします。
yum install java-1.8.0-openjdk-devel.x86_64 -
yumパッケージ管理者を利用して、OpenTSDBのグラフの作成に必要な
gnuplotパッケージをインストールします。yum -y install gnuplot -
ユーザーアカウントを作成します。
useradd -m -d /home/opentsdb -u 10001 opentsdb -
ログディレクトリを作成します。
mkdir /var/log/opentsdb && chown opentsdb:opentsdb /var/log/opentsdb -
OpenTSDBオープンソースをインストールします。
# rootユーザー su - opentsdb # opentsdbユーザー git clone https://github.com/OpenTSDB/opentsdb cd opentsdb -
OpenTSDBソースをビルドします。
# opentsdbユーザー ./build.sh
2. HBaseクライアントのインストール
HBaseクライアントをインストールする方法は、次の通りです。
-
以下のコマンドを使用して HBase binaryをダウンロードします。
- Cloud Hadoop 2.0以上のバージョン
# opentsdbユーザー wget https://archive.apache.org/dist/hbase/2.2.6/hbase-2.2.6-bin.tar.gz tar xvfz hbase-2.2.6-bin.tar.gz ln -s hbase-2.2.6 hbase- Cloud Hadoop 1.9以下のバージョン
# opentsdbユーザー wget https://archive.apache.org/dist/hbase/2.0.2/hbase-2.0.2-bin.tar.gz tar xvfz hbase-2.0.2-bin.tar.gz ln -s hbase-2.0.2 hbase参考Cloud Hadoop Classicの場合、HBase 1.1.2をダウンロードします。
-
Ambari UIで [ACTIONS] > Download Client Configsをクリックしてダウンロードした「HBaseクライアント設定情報」を OpenTSDBをインストールしたサーバに転送します。
- Ambari UIへのアクセスや使用に関する詳細は、Ambari UIガイドをご参照ください。

- Ambari UIへのアクセスや使用に関する詳細は、Ambari UIガイドをご参照ください。
-
HBaseクライアントの設定情報の圧縮を展開します。
# opentsdbユーザー tar xvfz HBASE_CLIENT-configs.tar.gz -C ~/opentsdb/hbase/conf sed -i -e 's|\(^export JAVA_HOME=.*\)|#\1|' ~/opentsdb/hbase/conf/hbase-env.sh -
opentsdbユーザーの.bash_profileを変更します。# opentsdbユーザー echo 'export HBASE_HOME=~/opentsdb/hbase' >> ~/.bash_profile echo 'export PATH=$PATH:${HBASE_HOME}/bin' >> ~/.bash_profile echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk' >> ~/.bash_profile logout -
Ambari UI > Hostsメニューで Cloud Hadoopクラスタのホスト名と Private IPアドレス情報を確認します。

-
以下のコマンドを使用して
/etc/hosts情報を追加します。- 前のステップで確認した Cloud Hadoopクラスタのホスト名と Private IPアドレス情報を追加します。
# rootユーザー # echo 'IP ホスト名' >> /etc/hosts echo '1**.**.*.* e-001-*****-**' >> /etc/hosts echo '1**.**.*.* m-001-*****-**' >> /etc/hosts echo '1**.**.*.* m-002-*****-**' >> /etc/hosts echo '1**.**.*.* d-001-*****-**' >> /etc/hosts echo '1**.**.*.* d-002-*****-**' >> /etc/hosts -
以下のコマンドを使用して
hbase shellアクセスをテストします。su - opentsdb # opentsdbユーザー hbase shell HBase Shell; enter 'help<RETURN>' for list of supported commands. Type "exit<RETURN>" to leave the HBase Shell Version 1.1.2, rcc2b70cf03e3378800661ec5cab11eb43fafe0fc, Wed Aug 26 20:11:27 PDT 2015 hbase(main):001:0>
もし HBase Shell アクセスに失敗した場合、Cloud Hadoopの ACGに OpenTSDBサーバを追加します。ACG設定については、ファイアウォール設定(ACG)ガイドをご参照ください。
3. OpenTSDBテーブルの作成
OpenTSDBテーブルを作成する方法は、次の通りです。
-
以下のコマンドを使用して
TSDBテーブルを作成します。# opentsdbユーザー export COMPRESSION=SNAPPY export DATA_BLOCK_ENCODING=FAST_DIFF export TSDB_TTL=2147483647 sh ~/opentsdb/src/create_table.sh -
以下のコマンドでテーブルリストを確認します。
# opentsdbユーザー hbase shell hbase(main):001:0> list TABLE tsdb tsdb-meta tsdb-tree tsdb-uid 4 row(s) in 0.1620 seconds => ["tsdb", "tsdb-meta", "tsdb-tree", "tsdb-uid"] hbase(main):002:0>
4. OpenTSDBの起動
以下のコマンドを使用して TSDを 8888番ポートで起動します。
# opentsdbユーザー
cd opentsdb
./build/tsdb tsd --port=8888 --staticroot=build/staticroot --
cachedir=`pwd`/build/tmp --zkquorum=m-001-*****-**,m-002-*****-**,d-001-*****-**:
2181 --zkbasedir=/hbase-unsecure &
5. OpenTSDBに時系列データを保存
OpenTSDBに時系列データを保存する方法は、次の通りです。
-
以下のコマンドを使用して
cpu.utilメトリックを作成します。# opentsdbユーザー ./build/tsdb mkmetric cpu.util --zkquorum=m-001-*****-**,m-002-*****-**,d-001-*****-**: 2181 --zkbasedir=/hbase-unsecure metrics cpu.util: [0, 0, 1] -
以下のコマンドを使用して
cpu.utilメトリックの収集スクリプトを作成します。 (sar-data-input.sh)- スクリプト出典: Effective Monitoring and Alerting原書を参照
#!/bin/bash # Ignore sar's header. LC_ALL=en sar -u 1 | sed -u -e '1,3d' | while read time cpu usr nice sys io steal idle; do NOW=$(date +%s) echo put cpu.util $NOW $usr time=user echo put cpu.util $NOW $sys time=system echo put cpu.util $NOW $io time=io echo put cpu.util $NOW $idle time=idle # Report values to standard error. echo timestamp:$NOW user:$usr sys:$sys io:$io idle:$idle >&2 done | nc -w 30 localhost 8888 -
以下のコマンドを使用してメトリックデータを OpenTSDBに転送します。
sh sar-data-input.sh
6. OpenTSDBグラフの確認
OpenTSDBグラフを確認する方法は、次の通りです。
- サーバコンソールで OpenTSDBサーバのパブリック IPアドレスを確認します。

- OpenTSDBサーバの
8888番ポートでアクセスして収集されたグラフを確認します。
