zabbix php api 入门,(50)zabbix API二次开发使用与介绍

zabbix API开发库

zabbix API请求和响应都是json,并且还提供了各种语法的lib库,http://zabbix.org/wiki/Docs/api/libraries,包含php、c#、Python、Perl、go等等语言,简单看了下phpzabbixapi,使用非常方便。

请求zabbix API

post json数据到api接口地址,例如你得zabbix地址是http://company.com/zabbix,那么你得接口地址是:http://company.com/zabbix/api_jsonrpc.php,必须包含content-type头,值为application/json-rpc, application/json or application/jsonrequest之一。

1

2

3

4

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":{}}

zabbix API登陆

获取auth token(登陆)

在操作zabbix之前,我们必须先登陆zabbix,得到token,以后的操作带着这个token即可,要不然肯定没权限。

请求的json如下:

1

2

3

4

5

6

7

8

9

10

{

"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数据

1

2

3

4

5

{

"jsonrpc":"2.0",

"result":"0424bd59b807674191e7d77572075f33",

"id":1

}

result便是我们要的token数据,id对应请求的id。

zabbix api检索主机

通过验证之后,我们带着token使用host.get获取主机列表,请求的json如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

{

"jsonrpc":"2.0",

"method":"host.get",

"params":{

"output":[

"hostid",

"host"

],

"selectInterfaces":[

"interfaceid",

"ip"

]

},

"id":2,

"auth":"0424bd59b807674191e7d77572075f33"

}

获取到如下数据

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

{

"jsonrpc":"2.0",

"result":[

{

"hostid":"10084",

"host":"Zabbix server",

"interfaces":[

{

"interfaceid":"1",

"ip":"127.0.0.1"

}

]

}

],

"id":2

}

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

zabbix API就是这么简单,请求、响应然后处理,更多API方法请直接上官方文档,里面有几百个方法等着你。如果你使用zabbix二次开发,千万不要直接操作zabbix数据,太.....,为何不使用zabbix API。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值