批量创建监控主机
import requests
import json
import sys
headers = {'Content-Type': 'application/json'}
api_url = 'http://<zabbix_web_ip>/api_jsonrpc.php'
def token():
login ={
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "<user>",
"password": "<password>"
},
"id": 1,
}
response_data = requests.post(api_url,json.dumps(login),headers=headers).json()
return response_data["result"]
def create(token):
for i in range(63,100):
create_host = {
"jsonrpc": "2.0",
"method": "host.create",
"params": {
"host": f"agent{i}",
"name": f"test-172.26.123.{i}",
"proxy_hostid": "10275",
"interfaces": [
{
"type": 1,
"main": 1,
"useip": 1,
"ip": f"172.26.123.{i}",
"dns": "",
"port": "10050"
}
],
"groups": [
{
"groupid": "15"
}
],
"templates": [
{
"templateid": "10001"
}
],
},
"auth": f"{token()}",
"id": 1
}
create_response = requests.post(api_url,json.dumps(create_host),headers=headers).json()
print(create_response)
if __name__ == '__main__':
create(token)
批量删除监控主机
import requests
import json
headers = {'Content-Type': 'application/json'}
api_url = 'http://<zabbix_web_ip>/api_jsonrpc.php'
def token():
login ={
"jsonrpc": "2.0",
"method": "user.login",
"params": {
"user": "<user>",
"password": "<password>"
},
"id": 1,
}
response_data = requests.post(api_url,json.dumps(login),headers=headers).json()
return response_data["result"]
def get_hostgroup(*args):
hostgroup = []
group = {
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"groupids": 15,
},
"auth": f"{token()}",
"id": 1
}
group_data = requests.post(api_url,json.dumps(group),headers=headers).json()
for i in group_data['result']:
hostgroup.append(i)
return hostgroup
def delete_host(group):
host_l = []
for i in group:
hid = i['hostid']
if int(hid) == 10280:
continue
elif int(hid) == 10289:
continue
else:
host_l.append(hid)
delete_host = {
"jsonrpc": "2.0",
"method": "host.delete",
"params": host_l,
"auth": f"{t}",
"id": 1
}
txt = requests.post(api_url,json.dumps(delete_host),headers=headers).text
print(txt)
if __name__ == '__main__':
t = token()
g = get_hostgroup(t)
d = delete_host(g)