#coding=utf-8import requests,jsonApiUrl = 'http://192.168.99.200/api_jsonrpc.php'header = {"Content-Type":"application/json"}user="Admin"password="zabbix"city=[{"beijing":"CH010100"},{"shanghai":"CH020100"},{"tianjin":"CH030100"},{"chongqing":"CH040100"},{"harebin":"CH050101"},{"changchun":"CH060101"},{"shenyang":"CH070101"},{"huhehaote":"CH080101"},{"shijiazhuang":"CH090101"},{"taiyuan":"CH100101"},{"xian":"CH110101"},{"jinan":"CH120101"},{"wulumuqi":"CH130101"},{"lasa":"CH140101"},{"xining":"CH150101"},{"lanzhou":"CH160101"},{"yinchuan":"CH170101"},{"zhengzhou":"CH180101"},{"nanjing":"CH190101"},{"wuhan":"CH200101"},{"hangzhou":"CH210101"},{"hefei":"CH220101"},{"fuzhou":"CH230101"},{"nanchang":"CH240101"},{"changsha":"CH250101"},{"guiyang":"CH260101"},{"chengdu":"CH270101"},{"guangzhou":"CH280101"},{"kunming":"CH290101"},{"nanning":"CH300101"},{"haikou":"CH310101"},{"hongkong":"CH320101"},{"aomen":"CH330101"},{"taibei":"CH340101"}]def get_interface(auth): data ={ "jsonrpc": "2.0", "method": "hostinterface.get", "params": { "output": "extend", "hostids": "10343" }, "auth": auth, "id": 1 } gethost=requests.post(url=ApiUrl,headers=header,json=data) return json.loads(gethost.content)["result"][0]["interfaceid"]def gettoken(): data = {"jsonrpc": "2.0", "method": "user.login", "params": { "user": user, "password": password }, "id": 1, "auth": None } auth=requests.post(url=ApiUrl,headers=header,json=data) return json.loads(auth.content)["result"]#s=requests.get(url="http://api.yytianqi.com/citylist/id/1")def createhttpitem(auth,interface): for dic in city: for key,value in dic.items(): data={ "jsonrpc": "2.0", "method": "item.create", "params": { "url":"http://api.yytianqi.com/observe", "query_fields": [ { "city":"%s" %value }, { "key": "iopesm5a0uhq3fag" } ], "interfaceid": "%s" %interface, "type":"19", "hostid":"10343", "delay":"5m", "key_":"%s" %key, "name":"%s" %key, "value_type":"1", "output_format":"0", "timeout":"3s" }, "auth": auth, "id": 1 } httpagent=requests.post(url=ApiUrl,headers=header,json=data) httpagent=json.loads(httpagent.content)['result']['itemids'][0] print(httpagent) data={ "jsonrpc": "2.0", "method": "item.create", "params": { "hostid": "10343", "name": "%s-tq" %key, "key_": "%s-tq" %key, "type": "18", "master_itemid": httpagent, "value_type": "1", "preprocessing": [ { "type": "12", "params": "$.data.tq", "error_handler": "1", "error_handler_params": "" } ] }, "auth": auth, "id": 1 } dependqw=requests.post(url=ApiUrl,headers=header,json=data) print(dependqw.content) data={ "jsonrpc": "2.0", "method": "item.create", "params": { "hostid": "10343", "name": "%s-fl" %key, "key_": "%s-fl" %key, "type": "18", "master_itemid": httpagent, "value_type": "1", "preprocessing": [ { "type": "12", "params": "$.data.fl", "error_handler": "1", "error_handler_params": "" } ] }, "auth": auth, "id": 1 } dependfl=requests.post(url=ApiUrl,headers=header,json=data) data={ "jsonrpc": "2.0", "method": "item.create", "params": { "hostid": "10343", "name": "%s-qw" %key, "key_": "%s-qw" %key, "type": "18", "master_itemid": httpagent, "value_type": "3", "preprocessing": [ { "type": "12", "params": "$.data.qw", "error_handler": "1", "error_handler_params": "" } ] }, "auth": auth, "id": 1 } dependqw=requests.post(url=ApiUrl,headers=header,json=data) data={ "jsonrpc": "2.0", "method": "item.create", "params": { "hostid": "10343", "name": "%s-fx" %key, "key_": "%s-fx" %key, "type": "18", "master_itemid": httpagent, "value_type": "1", "preprocessing": [ { "type": "12", "params": "$.data.fx", "error_handler": "1", "error_handler_params": "" } ] }, "auth": auth, "id": 1 } dependfx=requests.post(url=ApiUrl,headers=header,json=data) data={ "jsonrpc": "2.0", "method": "item.create", "params": { "hostid": "10343", "name": "%s-sd" %key, "key_": "%s-sd" %key, "type": "18", "master_itemid": httpagent, "value_type": "0", "preprocessing": [ { "type": "12", "params": "$.data.sd", "error_handler": "1", "error_handler_params": "" } ] }, "auth": auth, "id": 1 } dependsd=requests.post(url=ApiUrl,headers=header,json=data) data={ "jsonrpc": "2.0", "method": "trigger.create", "params": [ { "description": "%s温度有点高" %key, "expression": "{tianqi:%s-qw.last()}>30" %key, "opdata": "当前气温:{ITEM.LASTVALUE}", "priority": 3, "manual_close": 1 } ], "auth": auth, "id": 1 } triggercreate=requests.post(url=ApiUrl,headers=header,json=data) return json.loads(dependqw.content)#["result"]auth=gettoken()interface=get_interface(auth)createhttpitem(auth,interface)