博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[原创]Zabbix3.4_API的python示例
阅读量:4681 次
发布时间:2019-06-09

本文共 3603 字,大约阅读时间需要 12 分钟。

说明:1.python版本为:python2.72.zabbix版本为:zabbix3.43.通过python脚本调用zabbix的api接口可以实现批量增删改查主机的信息。示例如下:#-*- coding:utf-8 -*- import requests, json #初始化参数server_url = "http://zabbix3.test.com/api_jsonrpc.php"header = {"Content-Type": "application/json"}username = "Admin"password = "passwd123" #登录zabbix并获取auth的tokenlogin = {    "jsonrpc" : "2.0",    "method" : "user.login",    "params": {        'user': ""+username+"",        'password': ""+password+"",    },    "auth" : None,    "id" : 0,}auth  = requests.post(server_url, data=json.dumps(login), headers=(header))auth = auth.json() #跟进ip地址获取主机的hostidhost_get = {    "jsonrpc":"2.0",    "method":"host.get",    "params":{        "output":["hostid","name"],        "filter":{"ip":["192.168.5.1","192.168.5.2"]}    },    "auth":""+auth['result']+"",    "id":1,}hostid_get = requests.post(server_url, data=json.dumps(host_get), headers=(header))hostid_get = hostid_get.json()hostid = hostid_get['result'][0]['hostid']print hostid,hostid_get['result'][1]['hostid'] #根据组名获取groupidgroup_get = {    "jsonrpc": "2.0",    "method": "hostgroup.get",    "params": {        "output": "extend",        "filter": {            "name": [                "测试组"            ]        }    },    "auth":""+auth['result']+"",    "id": 1}groupid_get = requests.post(server_url, data=json.dumps(group_get), headers=(header))groupid_get = groupid_get.json()groupid = groupid_get['result'][0]['groupid']print groupid #跟进模板名来获取templateidtemplate_get = {    "jsonrpc": "2.0",    "method": "template.get",    "params": {        "output": "extend",        "filter": {            "host": [                "Template OS Linux",            ]        }    },    "auth":""+auth['result']+"",    "id": 1}templateid_get = requests.post(server_url, data=json.dumps(template_get), headers=(header))templateid_get = templateid_get.json()templateid = templateid_get['result'][0]['templateid']print templateid #跟进proxy名获取proxyidproxy_get = {    "jsonrpc": "2.0",    "method": "proxy.get",    "params": {        "output": "extend",        "selectInterface": "extend",        "filter": {            "host": [                "Zabbix-proxy-test",            ]        }    },    "auth": ""+auth['result']+"",    "id": 1}proxy_get_id = requests.post(server_url, data=json.dumps(proxy_get), headers=(header))proxy_get_id = proxy_get_id.json()proxyid = proxy_get_id['result'][0]['proxyid']print proxyid #定义并添加一个主机到zabbix,指定组,模板,host和name名不支持中文host_create = {    "jsonrpc": "2.0",    "method": "host.create",    "params": {        "host": "192.168.5.1",        "name": "this is a test-192.168.5.1",        "interfaces": [            {                "type": 1,                "main": 1,                "useip": 1,                "ip": "192.168.5.1",                "dns": "",                "port": "10050"            }        ],        "groups": [            {                "groupid": ""+groupid+""            }        ],        "templates": [            {                "templateid": ""+templateid+""            }        ],        "proxy_hostid": ""+proxyid+"",        "inventory_mode": 0    },    "auth":""+auth['result']+"",    "id": 1}host_create_id = requests.post(server_url, data=json.dumps(host_create), headers=(header))host_create_id = host_create_id.json()print host_create_id #跟进hostid删除主机host_delete = {    "jsonrpc": "2.0",    "method": "host.delete",    "params": [hostid],    "auth":""+auth['result']+"",    "id": 1}delete_id = requests.post(server_url, data=json.dumps(host_delete), headers=(header))deleteid = delete_id.json()print deleteid

  

转载于:https://www.cnblogs.com/wsjhk/p/8644584.html

你可能感兴趣的文章
前端资源链接 ...
查看>>
yum install ntp 报错:Error: Package: ntp-4.2.6p5-25.el7.centos.2.x86_64 (base)
查看>>
leetcode-Single Number-136
查看>>
CF715C Digit Tree
查看>>
二分法练习1
查看>>
QT 制作串口调试小助手----(小白篇)
查看>>
前端MVC实践之hellorocket——by张舒彤
查看>>
OptimalSolution(2)--二叉树问题(3)Path路径问题
查看>>
IPC 之 Messenger 的使用
查看>>
macos 下usb键盘问题.
查看>>
SQL函数学习(十六):STUFF()函数
查看>>
Apache Hadoop 和Hadoop生态圈
查看>>
Ctrl+Enter 选中文本提交
查看>>
android WIFI
查看>>
常用的匹配正则表达式和实例
查看>>
小组成员及其git链接
查看>>
SQL case when else
查看>>
MVc Identity登陆锁定
查看>>
cdn连接失败是什么意思_关于CDN的原理、术语和应用场景那些事
查看>>
ultraedit26 运行的是试用模式_免费试用U盘数据恢复工具 – 轻松找回U盘丢失的各种数据!...
查看>>