获取

描述

integer/array trigger.get(object parameters)

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

此方法适用于任何类型的用户,可以在用户角色设置中撤销调用该方法的权限,前往 用户角色 查看更多详细信息.

参数

(object) 定义需要输出的参数.

该方法支持以下参数.

参数类型描述
triggeridsstring/array仅返回属于指定ID的触发器.
groupidsstring/array仅返回属于指定主机组ID的触发器.
templateidsstring/array仅返回属于指定模板ID的触发器.
hostidsstring/array仅返回属于指定主机ID的触发器.
itemidsstring/array仅返回包含指定监控项ID的触发器.
functionsstring/array仅返回使用指定函数的触发器.

请参阅支持的函数 页面查看有关支持的功能列表.
groupstring仅返回属于指定名称的主机组的触发器.
hoststring仅返回属于指定名称的主机的触发器.
inheritedboolean如果设置为 true 则仅返回从模板继承的触发器.
templatedboolean如果设置为 true 仅返回属于模板的触发器.
dependentboolean如果设置为 true,则仅返回具有依赖关系的触发器,如果设置为 false 只返回没有依赖关系的触发器.
monitoredflag仅返回已启用的触发器且属于已被监控的主机,并且仅包含已启用的监控项.
activeflag仅返回属于已被监控主机的已启用触发器.
maintenanceboolean如果设置为 true,则仅返回属于维护中主机的启用触发器.
withUnacknowledgedEventsflag仅返回具有未确认事件的触发器.
withAcknowledgedEventsflag仅返回已被确认的所有事件的触发器.
withLastEventUnacknowledgedflag仅返回最后一个未被确认事件的触发器.
skipDependentflag跳过处于问题状态且依赖于其他触发器的触发器,请注意,如果禁用触发器、禁用监控项或禁用主机监控项,则其他触发器将会被忽略.
lastChangeSincetimestamp仅返回在指定时间后更改了状态的触发器.
lastChangeTilltimestamp仅返回在给指时间之前更改了状态的触发器.
only_trueflag仅返回最近处于问题状态的触发器.
min_severityinteger仅返回严重级别大于或等于指定严重级别的触发器.
evaltypeinteger标签搜索规则.

有效的值为:
0 - (默认) And/Or;
2 - Or.
tagsarray of objects只返回给定标签的触发器。按标签精确匹配,根据运算符值按标签值进行区分大小写或不区分大小写的搜索.
格式: [{“tag”: “<tag>”, “value”: “<value>”, “operator”: “<operator>”}, …].
空数组返回所有触发器.

可能的运算符类型:
0 - (默认) Like;
1 - Equal;
2 - Not like;
3 - Not equal
4 - Exists;
5 - Not exists.
expandCommentflag在触发器描述中展开宏.
expandDescriptionflag以触发器的名称展开宏.
expandExpressionflag在触发器表达式中展开函数和宏.
selectGroupsquery 属性中返回触发器所属的主机组.
selectHostsquery返回触发器所属的 主机.
selectItemsquery返回触发器包含的 监控项.
selectFunctionsqueryfunctions 属性中返回触发器中使用的函数.

函数对象表示触发器表达式中使用的函数,并具有以下属性:
functionid - (string) 函数的ID;
itemid - (string) 函数中使用的监控项 ID;
function - (string) 函数的名称;
parameter - (string) 传递给函数的参数。查询参数被返回字符串中的$符号替换.
selectDependenciesquery返回在dependencies 属性中依赖触发的触发器.
selectDiscoveryRulequery返回创建触发器的 低级别自动发现规则.
selectLastEventquery最新事件 属性中返回最后一个重要的触发事件.
selectTagsquery标签 属性中返回触发标签.
selectTriggerDiscoveryquerytriggerDiscovery 属性中返回触发器发现对象. 触发器发现对象将触发器链接到创建它的触发器原型.

它具有以下属性:
parent_triggerid - (string) 创建触发器的触发器原型的 ID.
filterobject只返回与给定过滤器完全匹配的结果.

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

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

适用于以下子查询:
selectHosts - 结果将按host排序.
sortfieldstring/array按指定属性对结果进行排序 .

有效的值为: triggerid, description, status, priority, lastchangehostname.
countOutputboolean这些参数适用于所有get 方法, 详情可参考页面 参考说明.
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. "id": 1
  10. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "triggerid": "14062",
  6. "expression": "{13513><10m",
  7. "description": "{HOST.NAME} 已重启 (正常运行时间 < 10m)",
  8. "url": "",
  9. "status": "0",
  10. "value": "0",
  11. "priority": "2",
  12. "lastchange": "0",
  13. "comments": "主机正常运行时间小于10 分钟”,
  14. “错误”: “”,
  15. “templateid”: “10016”,
  16. “类型”: “0”,
  17. “状态”: “0”,
  18. “标志”: “0”,
  19. “恢复模式”: “0”,
  20. “恢复表达”: “”,
  21. “关联模式”: “0”,
  22. “关联标签”: “”,
  23. “manual_close”: “0”,
  24. “opdata”: “”,
  25. “事件名称”: “”,
  26. “uuid”: “”,
  27. “url_name”: “”,
  28. “函数”: [
  29. {
  30. “函数id”: “13513”,
  31. “itemid”: “24350”,
  32. “triggerid”: “14062”,
  33. “参数”: “$”,
  34. “函数”: “last”
  35. }
  36. ]
  37. }
  38. ],
  39. “id”: 1
  40. }

检索问题状态的触发器

检索问题状态的所有触发器的 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. "id": 1
  17. }

响应:

  1. {
  2. "jsonrpc": "2.0",
  3. "result": [
  4. {
  5. "triggerid": "13907",
  6. "description": "Zabbix 自我监控进程 < 100% 繁忙",
  7. "priority": "4"
  8. },
  9. {
  10. "triggerid": "13824",
  11. "description": "Zabbix discoverer 进程超过75% 繁忙”,
  12. “优先级”:“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. "id": 1
  15. }

响应:

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

另请参阅

源码

CTrigger::get() in ui/include/classes/api/services/CTrigger.php.