获取

说明

integer/array trigger.get(object **parameters**)

此方法允许根据指定的参数检索触发器。

参数

(object)定义需要输出的参数。 该方法支持以下参数。

参数类型说明
triggeridsstring/array仅返回指定ID的触发器。
groupidsstring/array仅返回来自指定主机组中所属主机的触发器。
templateidsstring/array仅返回指定模板所属的触发器。
hostidsstring/array仅返回指定主机所属的触发器。
itemidsstring/array仅返回包含指定监控项的触发器。
applicationidsstring/array仅返回来自指定应用集中包含监控项的触发器。
functionsstring/array仅返回使用指定函数的触发器。

有关支持的功能列表,请参阅supported trigger functions页面。
groupstring仅返回来自指定名称的主机组中所属主机的触发器。
hoststring仅返回指定名称的所属主机的触发器。
inheritedboolean仅返回从模板继承的触发器,如果设置为true
templatedboolean仅返回所属模板的触发器,如果设置为true
monitoredflag仅返回所属被监控主机的已启用触发器,并包含已启用的监控项。
activeflag仅返回所属被监控主机的已启用触发器。
maintenanceboolean仅返回在维护中所属主机的已启用触发器,如果设置为true
withUnacknowledgedEventsflag仅返回事件未确认的触发器。
withAcknowledgedEventsflag仅返回所有事件已确认的触发器。
withLastEventUnacknowledgedflag仅返回最后一个未确认事件的触发器。
skipDependentflag依赖其他触发器的触发器处在故障状态时就跳过。 请注意,如果依赖触发器被禁用,或监控项被禁用,或监控项主机被禁用,那么触发将被忽略。
lastChangeSincetimestamp仅返回指定时间之后变更状态的触发器。
lastChangeTilltimestamp仅返回指定时间之前变更状态的触发器。
only_trueflag仅返回最近处于故障状态的触发器。
min_severityinteger仅返回严重级别大于或等于指定严重级别的触发器。
expandCommentflag展开触发器描述中的宏。
expandDescriptionflag展开触发器名称中的宏。
expandExpressionflag展开在触发器表达式中的函数和宏。
selectGroupsquery返回在groups属性中触发器所属的主机组。
selectHostsquery返回在hosts属性中触发器所属的主机。
selectItemsquery返回在items属性中触发器所包含的监控项。
selectFunctionsquery返回在functions属性中在触发器中使用的函数。

函数对象代表使用在触发器表达式中的函数,并具有以下属性:
functionid - (string) 函数的ID;
itemid - (string) 使用在函数中的监控项ID。
function - (string) 函数的名称;
parameter - (string) 传递给函数的参数。
selectDependenciesquery返回在dependencies属性中依赖触发的触发器。
selectDiscoveryRulequery返回创建了触发器的低级别发现规则。
selectLastEventquery返回在lastEvent属性中最后一个重要触发事件。
selectTagsquery返回在tags属性中触发器标签。
selectTriggerDiscoveryquery返回在triggerDiscovery属性中触发器发现对象。触发器发现对象将触发器链接到创建它的触发器原型上。

触发器发现对象具有以下属性:
parent_triggerid - (string) 创建触发器的触发器原型ID。
filterobject仅返回与指定筛选完全匹配的结果。

接受一个数组,其中键为属性名称,值为单个值或要匹配值的数组。

支持额外的筛选:
host - 触发器所属主机的正式名称。
hostid - 触发器所属主机的ID。
limitSelectsinteger限制子查询返回的记录数量。

适用于以下子查询:
selectHosts - 以host分类结果。
sortfieldstring/arraySort 由指定属性分类结果。

许可值为:triggerid, description, status, priority, lastchangehostname
countOutputboolean这些参数十分普遍,适用于所有get方法,详情可参考reference commentary
editableboolean
excludeSearchboolean
limitinteger
outputquery
preservekeysboolean
searchobject
searchByAnyboolean
searchWildcardsEnabledboolean
sortorderstring/array
startSearchboolean

返回值

(integer/array) 返回两者其中任一:

  • 一组对象;

  • 如果已经使用了countOutput参数,则检索对象的计数。

范例

根据触发器ID检索数据

检索触发器“14062”中使用的所有数据和功能。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "trigger.get",
  4. "params": {
  5. "triggerids": "14062",
  6. "output": "extend",
  7. "selectFunctions": "extend"
  8. },
  9. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  10. "id": 1
  11. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "functions": [
  6. {
  7. "functionid": "13513",
  8. "itemid": "24350",
  9. "function": "diff",
  10. "parameter": "0"
  11. }
  12. ],
  13. "triggerid": "14062",
  14. "expression": "{13513}>0",
  15. "description": "/etc/passwd has been changed on {HOST.NAME}",
  16. "url": "",
  17. "status": "0",
  18. "value": "0",
  19. "priority": "2",
  20. "lastchange": "0",
  21. "comments": "",
  22. "error": "",
  23. "templateid": "10016",
  24. "type": "0",
  25. "state": "0",
  26. "flags": "0",
  27. "recovery_mode": "0",
  28. "recovery_expression": "",
  29. "correlation_mode": "0",
  30. "correlation_tag": "",
  31. "manual_close": "0"
  32. }
  33. ],
  34. "id": 1
  35. }

检索在故障状态的触发器

检索在问题状态下的所有触发器的ID,名称和严重性,并按严重性级别按降序分类。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "trigger.get",
  4. "params": {
  5. "output": [
  6. "triggerid",
  7. "description",
  8. "priority"
  9. ],
  10. "filter": {
  11. "value": 1
  12. },
  13. "sortfield": "priority",
  14. "sortorder": "DESC"
  15. },
  16. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  17. "id": 1
  18. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "triggerid": "13907",
  6. "description": "Zabbix self-monitoring processes < 100% busy",
  7. "priority": "4"
  8. },
  9. {
  10. "triggerid": "13824",
  11. "description": "Zabbix discoverer processes more than 75% busy",
  12. "priority": "3"
  13. }
  14. ],
  15. "id": 1
  16. }

使用标签检索特定的触发器

使用标签检索特定的触发器。

请求:

  1. {
  2. "jsonrpc": "2.0",
  3. "method": "trigger.get",
  4. "params": {
  5. "output": [
  6. "triggerid",
  7. "description"
  8. ],
  9. "selectTags": "extend",
  10. "triggerids": [
  11. "17578"
  12. ]
  13. },
  14. "auth": "038e1d7b1735c6a5436ee9eae095879e",
  15. "id": 1
  16. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "triggerid": "17370",
  6. "description": "Service status",
  7. "tags": [
  8. {
  9. "tag": "service",
  10. "value": "{{ITEM.VALUE}.regsub(\"Service (.*) has stopped\", \"\\1\")}"
  11. },
  12. {
  13. "tag": "error",
  14. "value": ""
  15. }
  16. ]
  17. }
  18. ],
  19. "id": 1
  20. }

参考

源码

CTrigger::get()方法可在frontends/php/include/classes/api/services/CTrigger.php中参考。