0

使用 Zabbix Python API 创建主机时出现以下错误,

Traceback (most recent call last):
File "test.py", line 57, in <module>
zapi.host.create({ 'name':'testname', 'host' : '192.168.1.1','ip' :
 '192.178.1.2','port' : 10050,'useip' : 0,'groups' : [{
 "groupid":gid}],'templates' : [{ "templateid":tid}]})
 File "/home/zhiguo/zabbix/zabbix_api.py", line 346, in method
 return self.universal("%s.%s" % (self.data["prefix"], name), opts[0])
 File "/home/zhiguo/zabbix/zabbix_api.py", line 80, in wrapper
 return self.do_request(self.json_obj(method, opts))['result']
 File "/home/zhiguo/zabbix/zabbix_api.py", line 353, in do_request
 return self.parent.do_request(req)
 File "/home/zhiguo/zabbix/zabbix_api.py", line 307, in do_request
 raise ZabbixAPIException(msg, jobj['error']['code'])
 zabbix_api.ZabbixAPIException: (u'Error -32602: Invalid params., No 
 interfaces for host "192.168.1.1". while sending {"params": {"templates": {"templateid": "10085"}], "name": "testname", "ip": "192.178.1.2", "useip": 0, 
 "host": "192.168.1.1", "groups": [{"groupid": "6"}], "port": 10050},
 "jsonrpc": "2.0", "method": "host.create", "auth": 
 "7894f7d64a3f30e1754dd9d2eeb5a493", "id": 4}', -32602)

我的python代码是:

zapi.host.create({ 'name':'testname', 'host' : '192.168.1.1','ip' :   
'192.178.1.2',  'port'   : 10050,'useip' : 0,'groups' : [{ "groupid":gid}],  
'templates' : [{ "templateid":tid}]})
4

1 回答 1

1

我还没有尝试过 Zabbix 2.0 API,但这就是我在 1.8.x 中的做法

我很确定dns字段是强制性的,

hostid = zapi.host.create({ 'host': host_name, 'dns' : host_name,'ip' : host_ip, 
'groups': [{"groupid":hostgroup_id}]})['hostids'][0]

另外,从文档中,

  "interfaces":[
      {
          "type":1,
          "main":1,
          "useip":1,
          "ip":"192.168.3.1",
          "dns":"",
          "port":10050
      }

似乎“无效的参数。主机没有接口”抱怨缺少“接口”参数,

于 2012-09-04T08:06:16.180 回答