1.API的基本知识
- (1)API定义
API(Application Programming Interface),应用程序编程接口,是一些预先定义的函数
目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部的工作机制的细节
简单来说,API就是对外的接口,利用API可以直接到达软件硬件内部来进行操作 - (2)zabbix中的API
Zabbix API开始扮演着越来越重要的角色,尤其是在集成第三方软件和自动化日常任务时。很难想象管理数千台服务器而没有自动化是多么的困难。Zabbix API为批量操作、第三方软件集成以及其他作用提供可编程接口。
Zabbix API是在1.8版本中开始引进并且已经被广泛应用。所有的Zabbix移动客户端都是基于API,甚至原生的WEB前端部分也是建立在它之上。Zabbix API 中间件使得架构更加模块化也避免直接对数据库进行操作。它允许你通过JSON RPC协议来创建、更新和获取Zabbix对象并且做任何你喜欢的操作【当然前提是你拥有认证账户】。
- (3)zabbix中API的作用
zabbix拥有完善的API,基于JSON RPC提供资产,主机,主机组,监控项,告警等方面的接口。
在做运维自动化时,需要用API功能对zabbix二次开发。
Zabbix API为批量操作,第三方软件集成以及其他作用提供可编程接口。
Zabbix API提供两项主要功能:
远程管理Zabbix配置
远程检索配置和历史数据
- (4)API的工作流程如下:
API采用JSON-RPC实现这意味着调用任何函数,都需要向POST请求,输入输出数据都是以JSON格式
转备JSON对象,它描述了你想要做什么,比如创建主机、获取JSON格式响应
2.Zabbix API的应用
- (1)API常用接口
user.login,用户登录
host.get(create|delete|update),主机操作
hostgroup.get(create|delete|update),主机组操作
item.get(create|delete|update),监控项目操作
history.get,历史数据查询
event.get,事件查询
trigger.get,触发器查询