OpenTSDB を使用する
    • PDF

    OpenTSDB を使用する

    • PDF

    Article Summary

    Classic環境で利用できます。

    HBaseベースで動作するOpenTSDB(Time Series DataBase)は、分散及び拡張可能な時系列データベースです。
    OpenTSDBはサーバ、ネットワーク、アプリケーションから収集されたメトリック情報を保存、インデックス、伝達するなどの処理のために作られました。

    OpenTSDBアーキテクチャ

    • TSD(Time Series Daemon):入力されたメトリック情報をHBase保存場所に保存する役割を担う
    • 入力ソース:サーバ、ネットワーク、アプリケーションなどから送られるメトリック情報
    • 保存場所:HBaseを基本保存場所として利用し、時系列データを保存

    hadoop-chadoop-use-ex1_1-1

    参考

    OpenTSDBに関する詳細は、OpenTSDBの公式サイトをご参照ください。

    このガイドでは、Cloud Hadoopを利用してOpenTSDBを構築する方法を説明します。 クラスタを作成する際は、クラスタタイプHBaseに選択します。

    このガイドで使用するOpenTSDBオープンソースに関する内容は、OpenTSDBをご参照ください。

    事前作業

    OpenTSDBをインストールするサーバを作成します。 例では、Linuxサーバで使用する方法を説明します。

    OpenTSDBを使用する

    まず、サーバにOpenTSDBオープンソースをインストールする際に必要なシステム要件を確認します。 **<インストールのシステム要件>**は以下のとおりです。

    <インストールのシステム要件>

    • Java SE (JDK)
    • Gnuplot
    • OpenTSDB(オープンソース)

    1. OpenTSDBのインストール

    サーバにOpenTSDBをインストールする方法は、以下のとおりです。

    1. 以下のコマンドを使用してOracleサイトからJDKをダウンロードし、サーバにインストールします。

      rpm -ivh jdk-8u192-linux-x64.rpm
      
      参考
      • i:パッケージをインストール
      • v:詳細情報を出力
      • h:インストールの進捗状況を出力
    2. yumパッケージ管理者を利用して、OpenTSDBのグラフの作成に必要なgnuplotパッケージをインストールします。

      yum -y install gnuplot
      
    3. ユーザーアカウントを作成します。

      useradd -m  -d /home/opentsdb -u 10001 opentsdb
      
    4. ログディレクトリを作成します。

      mkdir /var/log/opentsdb && chown opentsdb:opentsdb /var/log/opentsdb
      
    5. OpenTSDBオープンソースをインストールします。

      # rootユーザー
      su - opentsdb
      
      # opentsdbユーザー
      git clone https://github.com/OpenTSDB/opentsdb
      cd opentsdb
      
    6. OpentTSDBソースをビルドします。

      # opentsdbユーザー
      ./build.sh
      

    2. HBaseクライアントのインストール

    HBaseクライアントをインストールする方法は、以下のとおりです。

    1. 以下のコマンドを使用してHBase Binaryをダウンロードします。

      # opentsdbユーザー
      wget https://archive.apache.org/dist/hbase/1.1.2/hbase-1.1.2-bin.tar.gz
      tar xvfz hbase-1.1.2-bin.tar.gz
      ln -s hbase-1.1.2 hbase
      
    2. Ambari UIページでHBaseクライアントの設定情報をダウンロードします。

      • Ambari UIへのアクセスや使用に関する詳細は、Ambari UIガイドをご参照ください。
        hadoop-chadoop-use-ex1_2-2_ja
    3. 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
      
    4. opentsdbユーザーの.bash_profileを修正します。

      # opentsdbユーザー
      echo 'export HBASE_HOME=~/hbase'                   >> ~/.bash_profile
      echo 'export PATH=$PATH:${HBASE_HOME}/bin'         >> ~/.bash_profile
      echo 'export JAVA_HOME=/usr/java/jdk1.8.0_192-amd64' >> ~/.bash_profile
      logout
      
    5. Ambari UI > Hostsページで、Cloud Hadoopクラスタのホスト名とPrivate IP情報を確認します。
      hadoop-chadoop-use-ex1_2-5_ja

    6. 以下のコマンドを用いて/etc/hosts情報を追加します。

      • 前の段階で確認したCloud Hadoopクラスタのホスト名とPrivate IP情報を追加します。
      # rootユーザー
      # echo 'IP               ホスト名'      >> /etc/hosts
      echo  '1*.**.**.237  e-001-*****-**'  >> /etc/hosts
      echo  '1*.**.**.109  m-001-*****-**'  >> /etc/hosts
      echo  '1*.**.**.142  m-002-*****-**'  >> /etc/hosts
      echo  '1*.**.**.169  dn-001-*****-**' >> /etc/hosts
      echo  '1*.**.**.186  dn-002-*****-**' >> /etc/hosts
      
    7. 以下のコマンドを用いて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)をご参照ください。

    hadoop-chadoop-use-ex1_2-7_ja

    3. OpenTSDBテーブルの作成

    OpenTSDBテーブルを作成する方法は以下のとおりです。

    1. 以下のコマンドを使用してTSDBテーブルを作成します。

      # opentsdbユーザー
      export COMPRESSION=SNAPPY
      export DATA_BLOCK_ENCODING=FAST_DIFF
      export TSDB_TTL=2147483647
      sh ~/opentsdb/src/create_table.sh
      
    2. 以下のコマンドでテーブルリストを確認します。

      # 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(Time Series Daemon)を8888番ポートで起動します。

    # opentsdbユーザー
    cd opentsdb
    ./build/tsdb tsd --port=8888 --staticroot=build/staticroot --
    cachedir=`pwd`/build/tmp --zkquorum=m-001-*****-**,m-002-*****-**,dn-001-*****-**:
    2181 --zkbasedir=/hbase-unsecure &
    

    5. OpenTSDBに時系列データを保存

    OpenTSDBに時系列データを保存する方法は以下のとおりです。

    1. 以下のコマンドを使用してcpu.utilメトリックを作成します。

      # opentsdbユーザー
      .build/tsdb mkmetric cpu.util --zkquorum=m-001-*****-**,m-002-*****-**,dn-001-*****-**:
      2181 --zkbasedir=/hbase-unsecure metrics cpu.util: [0, 0, 1]
      
    2. 以下のコマンドを使用して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
      
    3. 以下のコマンドを使用してメトリックデータをOpenTSDBに転送します。

      sh sar-data-input.sh
      

    6. OpenTSDBグラフの確認

    OpenTSDBグラフを確認する方法は以下のとおりです。

    1. サーバコンソールでOpenTSDBサーバのグローバルIPを確認します。
      hadoop-chadoop-use-ex1_6-1_ja

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


    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.