monicazhang 发表于 2016-7-8 13:00:15

zabbix API二次开发介绍

来源自 “ttlsa”

喜欢需要理由吗?需要吗?当然需要,zabbix的那么多功能足以让你喜欢她,现在还有zabbix API,zabbix真让我疯了,太牛逼了,太让人喜欢了。有zabbix API我们可以做很多,自己开发web界面、开发手机端zabbix、获取zabbix指定数据、创建zabbix监控项等等。
zabbix API开发库zabbix API请求和响应都是json,并且还提供了各种语法的lib库,wiki/Docs/api/libraries,包含php、c#、Python、Perl、go等等语言,简单看了下phpzabbixapi,使用非常方便。
请求zabbix APIpost json数据到api接口地址,例如你得zabbix地址是zabbix,那么你得接口地址是:zabbix/api_jsonrpc.php,必须包含content-type头,值为application/json-rpc, application/json or application/jsonrequest之一。





zabbix API登陆获取auth token(登陆)
在操作zabbix之前,我们必须先登陆zabbix,得到token,以后的操作带着这个token即可,要不然肯定没权限。
请求的json如下:







属性说明
jsonrps - JSON-RPC版本,基本上用2.0就行了;
method - 调用的API方法,方法列表请上官网;
params - 需要传递的参数,这边是user和password;
id - 请求标志;
Zabbix培训
auth - 用户token,这边使用null,因为还没通过验证
验证成功,会返回如下json数据







监控软件

result便是我们要德token数据,id对应请求的id。
Zabbix实施
zabbix api检索主机通过验证之后,我们带着token使用host.get获取主机列表,请求的json如下:






开源监控软件

获取到如下数据


Zabbix安装






Zabbix配置
请使用你的程序处理一下即可。

zabbix API就是这么简单,请求、响应然后处理,更多API方法请直接上官方文档,里面有几百个方法等着你。如果你使用zabbix二次开发,千万不要直接操作zabbix数据,太.....,为何不使用zabbix API。

想做Nagios,iTop各种交流的,可以进入开源监控工具Nagios交流QQ群号 :476809427
页: [1]
查看完整版本: zabbix API二次开发介绍