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条件は適宜変更してください
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されていないかどうかなど確認する