ganglia拓展監控nginx,有圖無數據
在Centos 6.4 X64的系統
Python版本2.6.6
ganglia版本3.6
ganglia-web版本3.5.10
nginx版本1.3.5
我在虛擬機上搭建ganglia玩,基礎監控和hadoop監控都已經出數據,然後想拓展監控nginx。
1、在https://github.com/ganglia/gmond_python_modules/tree/master/nginx_status下載對應的配置和主程序
2、按照要求配置,完成以後,nginx可以出圖,但是沒有數據。
在ganglia主節點上查看/var/lib/ganglia/rrds/里,可以看到數據文件
# ll nginx_*
-rw-rw-rw- 1 ganglia ganglia 630760 11月 6 19:00 nginx_accepts.rrd
-rw-rw-rw- 1 ganglia ganglia 630760 11月 6 19:00 nginx_active_connections.rrd
-rw-rw-rw- 1 ganglia ganglia 630760 11月 6 19:00 nginx_handled.rrd
-rw-rw-rw- 1 ganglia ganglia 630760 11月 6 19:00 nginx_reading.rrd
-rw-rw-rw- 1 ganglia ganglia 630760 11月 6 19:00 nginx_requests.rrd
-rw-rw-rw- 1 ganglia ganglia 630760 11月 6 19:00 nginx_waiting.rrd
-rw-rw-rw- 1 ganglia ganglia 630760 11月 6 19:00 nginx_writing.rrd
但是就是圖上就是沒有數據。查看gmond支持模塊的時候,發現報錯了。gmond可以正常啟動。
# gmond -m|more
Traceback (most recent call last):
File "/usr/local/ganglia/lib64/ganglia/nginx_status.py", line 83, in refresh_metrics
data = UpdateNginxThread._get_nginx_status_stub_response(self.status_url)
File "/usr/local/ganglia/lib64/ganglia/nginx_status.py", line 52, in _get_nginx_status_stub_response
c = urllib2.urlopen(url, None, 2)
File "/usr/lib64/python2.6/urllib2.py", line 126, in urlopen
return _opener.open(url, data, timeout)
File "/usr/lib64/python2.6/urllib2.py", line 389, in open
req = meth(req)
File "/usr/lib64/python2.6/urllib2.py", line 1096, in do_request_
raise URLError('no host given')
URLError: <urlopen error no host given>
Traceback (most recent call last):
File "/usr/local/ganglia/lib64/ganglia/nginx_status.py", line 92, in refresh_metrics
for k, v in data.items():
UnboundLocalError: local variable 'data' referenced before assignment
有人遇到這種問題嗎?
《解決方案》
變數賦值前被引用了?
《解決方案》
回復 2# wenhq
問題查到了,自己的疏忽,nginx_status.pyconf文件里的http://192.168.1.173/nginx_status寫錯了,少些一個/,寫成http:/192.168.1.173/nginx_status
modules {
module {
name = 'nginx_status'
language = 'python'
param status_url {
value = 'http://192.168.1.173/nginx_status'
}
不過nginx還是沒有數據。繼續分析
《解決方案》
看日誌。。。
《解決方案》
回復 4# wenhq
看的DEBUG模式看出來的。
《解決方案》
還沒有數據么????
《解決方案》
本帖最後由 wyz_831030 於 2013-11-08 10:10 編輯
回復 6# wenhq
已經有數據了。
現在在弄監控mysql的擴展,發現一個錯誤,不知道是連不上mysql還是python不支持mysql。
# gmond -m
Can't import the metric module .
Traceback (most recent call last):
File "/usr/local/ganglia/lib/ganglia/python_modules/mysql.py", line 45, in ?
import MySQLdb
ImportError: No module named MySQLdb
再查原因
《解決方案》
版本原因吧啊。。。
《解決方案》
回復 8# wenhq
缺少MySQLdb庫,已經解決了,不過現在缺少DBUtil,正在解決
《解決方案》
挺好,弄完了寫個心得。