环境
zabbix 4.0
python 3.7
全局配置
import json
import requests
zabbix_url = 'http://主机ip/zabbix/api_jsonrpc.php'
zabbix_user = 'Admin'
zabbix_password = 'zabbix'
登录
def login_zabbix():
data_dic = {
'jsonrpc':'2.0',
'method':'user.login',
'params':{
'user':zabbix_user,
'password':zabbix_password
},
'id':1,
}
req = requests.post(url=zabbix_url,json=data_dic)
req_date = json.loads(req.text)
return req_date
login_result = login_zabbix()
print(login_result)
tokenid = login_result['result'] # 此处所获得的tokenid 用作后续操作使用
"""
{'jsonrpc': '2.0', 'result': '893607e50e1a425be85b24cfed9ed9e6', 'id': 1}
"""
logout
def logout_zabbix(tokenid):
data_dic={
"jsonrpc": "2.0",
"method": "user.logout",
"params": [],
"id": 1,
"auth": tokenid
}
req = requests.post(url=zabbix_url,json=data_dic)
req_data = json.loads(req.text)
return req_data
logout_result = logout_zabbix(tokenid)
print(logout_result)
"""
{'jsonrpc': '2.0', 'result': True, 'id': 1}
"""
主机组管理
创建主机组
def create_hostgroup(tokenid,groupname):
data_dic = {
"jsonrpc": "2.0",
"method": "hostgroup.create",
"params": {
"name": groupname
},
"auth": tokenid,
"id": 1
}
req = requests.post(url=zabbix_url,json=data_dic)
req_date = json.loads(req.text)
return req_date
create_group_result = create_hostgroup(tokenid,'nmt')
print(create_group_result)
groupids = create_group_result['result']['groupids']
groupid = groupids[0] # 后期使用
"""
{'jsonrpc': '2.0', 'result': {'groupids': ['24']}, 'id': 1}
"""
获取主机组id
def get_hostgroups(tokenid,groupname):
data_dic = {
"jsonrpc": "2.0",
"method": "hostgroup.get",
"params": {
"filter":
{
"name":[groupname]
}
},
"auth": tokenid,
"id": 1
}
req = requests.post(url=zabbix_url, json=data_dic)
req_date = json.loads(req.text)
return req_date
get_hostgroups_result = get_hostgroups(tokenid=tokenid,groupname='nmt')
print(get_hostgroups_result)
groupid = get_hostgroups_result['result'][0]['groupid']
{'jsonrpc': '2.0', 'result': [{'groupid': '26', 'name': 'nmt', 'internal': '0', 'flags': '0'}], 'id': 1}```