はじめに
「Ganglia」「デバッグ」でインターネットを検索してみると、大体、下記のようなgmondやgmetadのデバッグモードについてヒットしますが、
$ gmond --debug=2
$ gmetad --debug=2
この記事では、図1のように、ブラウザ上からグラフを生成しているrrdtoolコマンドを確認する方法について書きます。
図1 - デバッグモード① |
Gangliaはいろいろなシステムの稼働監視で使われています。身近な(?)ところだと、Amazon EMRあたりでしょうか。あと、HPCシステムでも見かけます。
大分地味ですが…、こんな小ワザあるよくらいに思っていただければと思います。
表示方法
表示方法は簡単です。
まずは、ブラウザ(Chrome、Firefox、IE等)でGangliaを開きます。そこから見たいグラフを選択していき、図2のような最下層のグラフ画面を開きます。graph.phpという画面です。URLなどで確認してください。
図2 - グラフ画面 |
ここで、URLの末尾に**「&debug=3」**(3以上の数字)を入力してEnterキーを押下すると、図3のような、グラフを作成しているrrdtoolコマンドが表示されます。
図3 - デバッグモード② |
ソースコード確認
Gangliaのソースコードを確認してみると、このような記述がありました。
$ view /usr/share/ganglia-webfrontend/graph.php
…
1256 if ($debug > 2) {
1257 header ("Content-type: text/html");
1258 print "<html><body>";
…
OSやGangliaのバージョンにより、多少違いがあるかと思います。当環境については、後述のとおりです。
環境
以下、当記事で使用した環境です。
OS、Ganglia
- OS:Ubuntu 16.04.5 LTS
- Ganglia:
- Web Frontend version 3.6.1
- Backend (gmetad) version 3.6.0
Gangliaの以前のバージョン(2は確認しています)でも表示可能かと思います。
ローカルホスト1台のみ使用。Gangliaのインストールは下記のコマンドで行いました。
$ sudo apt-get install ganglia-monitor rrdtool gmetad ganglia-webfrontend
グラフ
前述の図2で使用したグラフは、下記のように自作したものです。
適当な振り幅を付けたかったので、ランダムな1〜6の数値でグラフ化するようにしました。
$ vi /home/ytamura/work/ganglia/gmetric_num_of_sai.sh
#!/bin/bash
GMETRIC=/usr/bin/gmetric
NUM_OF_SAI=$(( RANDOM % 6 + 1)) # 1-6までのランダムな数値
#echo $NUM_OF_SAI # debug code
$GMETRIC -t int8 -n "number_of_sai" -v $NUM_OF_SAI
毎分実行するため、上記のシェルスクリプトをcrontabに登録しています。
$ sudo vi /etc/crontab
…
# for Ganglia
* * * * * root /bin/bash /home/ytamura/work/ganglia/gmetric_num_of_sai.sh
Gangliaのフロントエンド側は特に修正等は行っていません。
以上