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,使用非常方便。

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

}

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

目录
相关文章
|
14天前
|
人工智能 监控 安全
F5社区学习笔记:API和AI如何改变应用安全?
F5社区学习笔记:API和AI如何改变应用安全?
24 1
|
9天前
|
jenkins API 持续交付
jenkins学习笔记之十五:SonarSQube API使用
jenkins学习笔记之十五:SonarSQube API使用
|
3月前
|
API
微信API接口、微信二次开发API调用
微信API接口、微信二次开发API调用
|
4月前
|
XML API 数据格式
【Qt 学习笔记】QWidget的enable属性 | API的介绍
【Qt 学习笔记】QWidget的enable属性 | API的介绍
111 0
|
4月前
|
Java BI API
SAP Cloud for Customer 里如何通过 ABSL 二次开发方式消费 SAP S/4HANA 系统的 API
SAP Cloud for Customer 里如何通过 ABSL 二次开发方式消费 SAP S/4HANA 系统的 API
|
4月前
|
存储 安全 API
阿里云网盘与相册问题之API怎么实现二次开发
阿里云网盘与相册是阿里云提供的云存储服务,用户可以安全便捷地存储和管理个人文件、照片等数据;本合集将介绍如何使用阿里云网盘和相册服务,包括文件上传、同步、分享,以及处理常见使用问题的技巧。
154 2
|
前端开发 API
前端学习笔记202305学习笔记第二十二天-学生列表api封装1
前端学习笔记202305学习笔记第二十二天-学生列表api封装1
39 0
|
前端开发 API
前端学习笔记202305学习笔记第二十二天-学生列表api封装2
前端学习笔记202305学习笔记第二十二天-学生列表api封装2
47 1
|
前端开发 API
前端学习笔记202305学习笔记第二十二天-新增修改api的封装2
前端学习笔记202305学习笔记第二十二天-新增修改api的封装2
56 0
前端学习笔记202305学习笔记第二十二天-新增修改api的封装2
|
前端开发 API
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动1
前端学习笔记202305学习笔记第三十天-什么是mvc-c层api 前后端联动1
66 0

推荐镜像

更多
下一篇
DDNS