Zabbix 二次开发API(学习笔记三十)
Zabbix API我们可以做很多,自己开发web界面、开发手机端zabbix、获取zabbix指定数据、创建zabbix监控项等等。
1. zabbix API开发库
zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php、c#、Python、Perl、go等等语言,简单看了下phpzabbixapi,使用非常方便。
2.请求zabbix API
post json数据到api接口地址,例如你得zabbix地址是http://company.com/zabbix,那么你得接口地址是:http://company.com/zabbix/api_jsonrpc.php,必须包含content-type头,值为application/json-rpc,application/jsonorapplication/jsonrequest之一。
POST http://company.com/zabbix/api_jsonrpc.php HTTP/1.1
Content-Type: application/json-rpc
{"jsonrpc":"2.0","method":"apiinfo.version","id":1,"auth":null,"params":{}}
3. zabbix API登陆
获取auth token(登陆)
在操作zabbix之前,我们必须先登陆zabbix,得到token,以后的操作带着这个token即可,要不然肯定没权限。
请求的json如下:
{
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "Admin",
"password": "zabbix"
},
"id": 1,
"auth": null
}
属性说明
jsonrps - JSON-RPC版本,基本上用2.0就行了;
method - 调用的API方法,方法列表请上官网;
params - 需要传递的参数,这边是user和password;
id - 请求标志;
auth - 用户token,这边使用null,因为还没通过验证
验证成功,会返回如下json数据
{
"jsonrpc": "2.0",
"result": "0424bd59b807674191e7d77572075f33",
"id": 1
}
result便是我们要德token数据,id对应请求的id。
4. zabbix api检索主机
通过验证之后,我们带着token使用host.get获取主机列表,请求的json如下:
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": [
"hostid",
"host"
],
"selectInterfaces": [
"interfaceid",
"ip"
]
},
"id": 2,
"auth": "0424bd59b807674191e7d77572075f33"
}
获取到如下数据:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "10084",
"host": "Zabbix server",
"interfaces": [
{
"interfaceid": "1",
"ip": "127.0.0.1"
}
]
}
],
"id": 2
}
请使用你的程序处理一下即可。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Zabbix proxy分布式监控(学习笔记三十一)
转载:http://www.cnblogs.com/yaoyaojcy/p/8182067.html 自学Zabbix13.1分布式监控proxy介绍 zabbix2.4版本之前,zabbix提供了两种解决方案,分别为:proxy和nodes proxy代替zabbix server在本地检索数据,然后提交给zabbix server Nodes则就是一个完整的zabbix Server(不做介绍) zabbix自从2.4版本之后,分布式监控就移除了 nodes 模式 1. 概述 zabbixproxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力.zabbix proxy可以非常简便的实现了集中式、分布式监控。 zabbix proxy使用场景: 监控远程区域设备 监控本地网络不稳定区域 当zabbix监控上千设备时,使用它来减轻server的压力 简化zabbix的维护 2.zabbix proxy架构图 zabbix proxy仅仅需要一条tcp连接到zabbix se...
- 下一篇
Android Activity调整改变成Dialog
做一个style配置到style.xml,直接作为该Activity的android:theme配置即可。 具体的style: <style name="DialogActivity" parent="@style/Theme.AppCompat.Dialog"> <item name="android:windowFullscreen">true</item> <item name="android:windowFrame">@android:color/transparent</item> <item name="android:windowIsFloating">true</item><!--浮在其他Activity之上--> <item name="android:windowIsTranslucent">true</item><!--半透明--> <item name="android:windowNoTitle">true</...
相关文章
文章评论
共有0条评论来说两句吧...