寻觅生命中的那一片浅草......

每日存档 七月 3rd, 2013

使Nagstamon支持Zabbix2.0.5

牛人太多了,下面这个项目叫Zagstamon,使Nagstamon支持Zabbix1.8的:

https://github.com/sergeyignatov/zagstamon.git
我们用的是2.0.5

我把它改了下,兼容1.8和2.0.5

我先fork到我自己这里来了,同时提交了pull request到源仓库

https://github.com/johncanlam/zagstamon.git

需要注意的是,Zabbix端要把主机组设置成普通组,我不是很懂,同事配的Zabbix,他说步骤是

管理,一般,其他,在发现到的主机组,设置一个不用被监控的组即可,例如现在是bat,你想bat可以显示,那么可以把它修改为test,那么test组就无法显示,而bat则可以显示了

Zabbix接口的一些命令:
获取认证信息
curl -i -X POST -H ‘Content-Type: application/json-rpc’ -d ‘{“params”: {“password”: “urpassword”, “user”: “uruser”}, “jsonrpc”: “2.0”, “method”: “user.authenticate”,”auth”: “”, “id”: 0}’ http://ur.zabbix.com/api_jsonrpc.php
输出,result就是认证信息
{“jsonrpc”:”2.0″,”result”:”18e3c644119b340587d94a39480104nf”,”id”:0}
获取主机信息,用了上面获取到的主机信息:
curl -i -X POST -H ‘Content-Type: application/json’ -d ‘{“jsonrpc”:”2.0″,”method”:”host.get”,”params”:{“output”:[“hostid”,”name”],”filter”:{“host”:””}},”auth”:”18e3c644119b340587d94a39480104nf”,”id”:1}’ http://ur.zabbix.com/api_jsonrpc.php
获取组信息:
curl -i -X POST -H ‘Content-Type: application/json’ -d ‘{“params”: {“filter”: {“name”: [“server_group_name”]}, “output”: “extend”, “with_monitored_items”: true}, “jsonrpc”: “2.0”, “method”: “hostgroup.get”, “auth”: “18e3c644119b340587d94a39480104nf”, “id”: 3}’ http://ur.zabbix.com/api_jsonrpc.php
输出,注意internal的值要是0才可以被zagstamon获取到它的状态:

{“groupid”:”13″,”name”:”server_group_name”,”internal”:”0″}

获取Zabbix版本:
curl -i -X POST -H ‘Content-Type: application/json’ -d ‘{“jsonrpc”: “2.0”, “method”: “apiinfo.version”, “auth”: “18e3c644119b340587d94a39480104nf”, “id”: 3}’ http://ur.zabbix.com/api_jsonrpc.php
最后,我打包了一个exe文件,下载地址
虽然nagstamon作者已经写好了build的Python脚本,我是直接运行的,在编译这个exe也费了一番功夫,最后发现,用ActiveState的Python 2.7编译是有问题的 ,最后找同事拿了个win7的虚拟机,安装官方的Python2.7,很顺利地编译成功了.
2013年七月
« 6月   8月 »
1234567
891011121314
15161718192021
22232425262728
293031