我是python和代码方面的新手,我尝试使用pyzabbix来添加触发器依赖项,但是出现了一些错误
当我跑的时候
zapi.trigger.addDependencies(triggerid, dependsOnTriggerid)
出现错误
pyzabbix.ZabbixAPIException: ('Error -32500: Application error., No permissions to referred object or it does not exist!', -32500)
我通过触发器获取“triggerid”和“dependsOnTriggerid”。获取:
triggerid_info = zapi.trigger.get(filter={'host': 'xx','description': 'xx'},output=['triggerid'], selectDependencies=['description'])
triggerid = triggerid_info[0]['triggerid']
dependsOnTriggerid = trigger_info[0]['dependencies'][0]['triggerid']
结果如下:
Traceback (most recent call last): File "E:/10.python/2019-03-07/1.py", line 14, in zapi.trigger.addDependencies(triggerid, dependsOnTriggerid) File "D:\Program Files\Python37\lib\site-packages\pyzabbix__init__.py", line 166, in fn args or kwargs File "D:\Program Files\Python37\lib\site-packages\pyzabbix__init__.py", line 143, in do_request raise ZabbixAPIException(msg, response_json['error']['code']) pyzabbix.ZabbixAPIException: ('Error -32500: Application error., No permissions to referred object or it does not exist!', -32500)
我弄错触发器了吗?还是我用错了方法?非常感谢
添加依赖性意味着您需要将两个不同的触发器(来自同一个主机或来自另一个主机)与主依赖逻辑相链接
您正在尝试添加依赖性
triggerid -> dependsOnTriggerid
,它是从假定的现有依赖性(trigger_info[0]['dependencies'][0]['triggerid']
)获得的,这没有什么意义,我想这就是错误的原因您需要获取两个触发器的
triggerid
,然后添加依赖性:方法“trigger.addDependencies”只需要一个参数,它应该是dict或其他对象/数组
trigger_info = zapi.trigger.get(filter={xx},output=['triggerid'])
trigger_depends_info_193 = zapi.trigger.get(filter={xx},output=['triggerid'])
trigger_dependson_193 = {"triggerid": trigger_info[0]['triggerid'], "dependsOnTriggerid": trigger_depends_info_193[0]['triggerid']}
zapi.trigger.adddependencies(trigger_dependson_193)
相关问题 更多 >
编程相关推荐