如何在pyzabbix中使用trigger.adddependencies

2024-09-28 20:40:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我是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)

我弄错触发器了吗?还是我用错了方法?非常感谢


Tags: orinpyinfo错误lineerrorfile
2条回答

添加依赖性意味着您需要将两个不同的触发器(来自同一个主机或来自另一个主机)与主依赖逻辑相链接

您正在尝试添加依赖性triggerid -> dependsOnTriggerid,它是从假定的现有依赖性(trigger_info[0]['dependencies'][0]['triggerid'])获得的,这没有什么意义,我想这就是错误的原因

您需要获取两个触发器的triggerid,然后添加依赖性:

masterTriggerObj = zapi.trigger.get( /* filter to get your master trigger here */ )
dependentTriggerObj = zapi.trigger.get( /* filter to get your dependent trigger here */)

result = zapi.trigger.adddependencies(triggerid=dependentTriggerObj[0]['triggerid'], dependsOnTriggerid=masterTriggerObj[0]['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)

相关问题 更多 >