Zabbix分布式监控实战四——Zabbix API调用

1. 用户名密码认证

  • 获取一个token

[root@linux-node1 ~]# python zabbix_auth.py         #使用python脚本获取认证token
9a87a7c22e9d0cde869805d0bacc6bf0
[root@linux-node1 ~]# cat zabbix_auth.py
#!/usr/bin/env python
# -*- coding:utf-8 -*-

import requests
import json

url = 'http://192.168.56.11/zabbix/api_jsonrpc.php'    #Zabbix对外接口
post_data = {
   "jsonrpc": "2.0",
   "method": "user.login",        #调用方法
   "params": {                    #认证参数
       "user": "Admin",
       "password": "zabbix"
   },
   "id": 1
}
post_header = {'Content-Type': 'application/json'}

ret = requests.post(url, data=json.dumps(post_data), headers=post_header)

zabbix_ret = json.loads(ret.text)
if not zabbix_ret.has_key('result'):
   print 'login error'
else:
   print zabbix_ret.get('result')

                                                  

2. 使用API添加主机

  • 查看模版和组id     ==>   templateid=10110&groupid=9

    Zabbix分布式监控实战四——Zabbix API调用

  • 发送POST请求

    [root@linux-node1 ~]# curl -s -X POST -H 'Content-Type:application/json' -d '
    {
       "jsonrpc": "2.0",
       "method": "host.create",                #调用接口方法
       "params": {
           "host": "LINUX-API",                #监控主机名定义
           "interfaces": [
               {
                   "type": 1,
                   "main": 1,
                   "useip": 1,
                   "ip": "192.168.56.12",      #IP地址
                   "dns": "",
                   "port": "10050"
               }
           ],
           "groups": [
               {
                   "groupid": "9"              #组ID
               }
           ],
           "templates": [
               {
                   "templateid": "10110"       #链接模版ID,可以按需求链接多个
               }
           ]
       },
       "auth": "9a87a7c22e9d0cde869805d0bacc6bf0",    #认证token
       "id": 1
    }' http://192.168.56.11/zabbix/api_jsonrpc.php | python -m json.tool

  • #############API返回的结果===============================
    {
       "id": 1,
       "jsonrpc": "2.0",
       "result": {
           "hostids": [
               "10116"
           ]
       }
    }

Zabbix分布式监控实战四——Zabbix API调用

●   可以看到使用API添加主机非常灵活,更多方法可参考下面链接的官网说明,赶快使用吧!

参考:

     1. host.create

anzhihe安志合个人博客,版权所有丨 如未注明,均为原创 丨转载请注明转自:https://chegva.com/1697.html | ☆★★每天进步一点点,加油!★★☆

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注