zabbix 提供的丰富的API接口,几乎可以完成所有在zabbix web界面上的操作,实现一个需求我们可以选用不同的API接口,提供多种解决方案。

官方文档说明

官方文档:https://www.zabbix.com/documentation/4.0/zh/manual/api

点击链接会进入到下面的界面,介绍了API的使用以及提供的一些方法和示例。

如何查询zabbix api的版本 zabbix的api接口_用户名


在侧边栏我们可以看到不同的API接口,可以根据自己的需要选择使用不同的API接口。

如何查询zabbix api的版本 zabbix的api接口_如何查询zabbix api的版本_02

找到Problem 问题这个API接口,点击对象该页面介绍了返回值的含义。这篇文章讲了 Problem 使用时遇到的一个小问题。

如何查询zabbix api的版本 zabbix的api接口_用户名_03

如何查询zabbix api的版本 zabbix的api接口_如何查询zabbix api的版本_04



除了对象还有一个获取(get)的子页面,这是Problem API提供的一个方法,有些API接口会提供多个方法(大多数API至少包含四种方法: get, create, update 和 delete ,分别是检索,创建,更新和删除数据,但是某些API提供一套完全不同的一组方法。

我们从目录这里可以看到文档大概讲了什么内容,主要是API的参数说明,还有一些示例。

如何查询zabbix api的版本 zabbix的api接口_API_05



我们非常有必要参考一下官网的这篇文档 : https://www.zabbix.com/documentation/4.0/zh/manual/api/reference_commentary

如何查询zabbix api的版本 zabbix的api接口_Problem_06

里面讲了zabbix api接口的一些数据类型还有对应的描述。下面有常用的 “GET” 方法参数,所有get 方法都支持这些参数。




实例:使用API创建监控项

我这里是使用postman发起的post请求,使用curl也是可以的

1、地址栏输入zabbix的地址,user和password分别是登陆zabbix的用户名和密码

如何查询zabbix api的版本 zabbix的api接口_如何查询zabbix api的版本_07


在下面的返回结果中,复制9e7ad8d6ed95e353c202b5a3165a0f5f,可以把它理解为token第一步就是为了获取它。


2、把上一步获取的token 填到 auth 的位置。

如何查询zabbix api的版本 zabbix的api接口_如何查询zabbix api的版本_08

各个值的含义这里面都有 https://www.zabbix.com/documentation/4.0/zh/manual/api/reference/item/object

applications 表示应用集,官方文档中有这个例子。

如何查询zabbix api的版本 zabbix的api接口_API_09

下面就是创建好的监控项

如何查询zabbix api的版本 zabbix的api接口_用户名_10


下面说一下创建监控项中的一些参数的值怎么获取

applications (应用集id)

如何查询zabbix api的版本 zabbix的api接口_Problem_11


这样可以同时获取 hostid 和 applicationid


比较麻烦的是 interfaceid 而它又是必须的参数。

如何查询zabbix api的版本 zabbix的api接口_如何查询zabbix api的版本_12


host.get 是获取主机信息的接口,我们可以通过它来获取 interfaceid。