脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

gangliaの挙動がおかしいときのチェック項目

gangliaの挙動がおかしいときは基本的に以下の三つの原因にわけられると思います。
①クライアントからMetricsデータが送られていない
②マスター側でデータを受け取れていない
③マスター側でデータは受け取れているが表示ができていない

以下解決方法等を挙げます

再起動してみる

sudo service gmetad restart
sudo service ganglia-monitor restart
sudo service apache2 restart
  • とりあえず再起動したら動くことが多い印象です。
  • このとき、スクリプト等で同時に起動する場合にはsleepを間に挟んだほうがいいです。
  • gmetad側かgmond側かはたまた両方かわかりませんが、どうも起動時にプロセスをチェックしており、チェック対象が起動の途中の場合は挙動がおかしくなる気がします

プロセスの確認

ps -eaf | egrep "gmond|gmetad"
  • まずはプロセスがそもそも立ち上がっているか確認する

portの状態の確認(ss)

ss -lntp | grep 86
  • アクセス制限などがかかっていないか確認する

Logの確認

sudo tail -f /var/log/syslog   | egrep "gmond|gmeta|ganglia"
sudo tail -f /var/log/messages | egrep "gmond|gmeta|ganglia"
  • ログファイルやgrep条件は適宜変更してください

portの状態の確認(telnet)

telnet IPaddress 8649
  • XMLが返ってくるか確認

master側にデータが正常に送られてきているか確認

telnet localhost 8649 | grep "METRIC NAME"
  • master側に送られてきているデータの確認をします

そもそもクライアント側からデータが正常に送られているか確認

gmond -m
  • gmond側で取得して送信するデータを確認できます

pythonのLOAD PATH確認

$ python
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.

>>> import sys

>>> sys.path
['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-ynload', 
'/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat', '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7']

>>> quit()
  • pythonモジュールを入れている場合、libararyがきちんとLoadされているかどうか、古いLibraryがLoadされていないかどうかなど確認する