API(Application Programming Interface,应用程序编程接口)
是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。简单的说,API就是对外的接口,利用API可以直接到达软件硬件内部来进行操作….
Zabbix API允许你以编程方式检索和修改Zabbix的配置,并提供对历史数据的访问。Zabbix API为批量操作、第三方软件集成以及其他作用提供可编程接口。
注意: 在做实验前,把zabbix监控的自动发现和自动注册的相应配置都关掉
(一)获取身份验证令牌
在访问Zabbix中的任何数据之前,你需要登录并获取身份验证令牌。这可以使用该 user.login 方法完成。让我们假设你想要以标准Zabbix Admin用户身份登录。然后,你的JSON请求将如下所示:
1.编写脚本:查看zabbix监控系统的api接口:
[root@jing1 ~]# vim zabbix-api
curl -s -XPOST -H "Content-Type: application/json-rpc" -d ' # 利用curl命令模拟json格式的post请求
{
"jsonrpc": "2.0", # 这是标准的JSON RPC参数以标示协议版本。所有的请求都会保持不变
"method": "user.login", # 利用用户登陆的方式获取API
"params": {
"user": "Admin", # zabbix监控系统的用户名和密码
"password": "zabbix"
},
"id": 1, # 这个字段用于绑定JSON请求和响应。响应会跟请求有相同的"id"。在一次性发送多个请求时很有用,这些也不需要唯一或者连续
"auth": null
}' http://172.25.7.101/zabbix/api_jso