获取

描述

integer/array trigger.get(object parameters)

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

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

参数

(object) 定义所需输出的参数。

该方法支持以下参数。

参数 类型 描述
triggerids ID/数组 仅返回具有给定ID的触发器。
groupids ID/数组 仅返回属于来自给定主机组或模板组的主机或模板的触发器。
templateids ID/数组 仅返回属于给定模板的触发器。
hostids ID/数组 仅返回属于给定主机的触发器。
itemids ID/数组 仅返回包含给定项目的触发器。
functions string/数组 仅返回使用给定函数的触发器。

参阅支持的函数页面获取支持函数的列表。
group string 仅返回属于来自具有给定名称的主机组或模板组的触发器。
host string 仅返回属于具有给定技术名称的主机的触发器。
inherited 布尔值 如果设置为true,仅返回从模板继承的触发器。
templated 布尔值 如果设置为true,仅返回属于模板的触发器。
dependent 布尔值 如果设置为true,仅返回具有依赖关系的触发器。如果设置为false,仅返回没有依赖关系的触发器。
monitored 标记 仅返回属于受监控主机且仅包含启用项目的已启用触发器。
active 标记 仅返回属于受监控主机的已启用触发器。
maintenance 布尔值 如果设置为true,仅返回属于处于维护状态的主机的已启用触发器。
withUnacknowledgedEvents 标记 仅返回具有未确认事件的触发器。
withAcknowledgedEvents 标记 仅返回所有事件已确认的触发器。
withLastEventUnacknowledged 标记 仅返回具有最后事件未确认的触发器。
skipDependent 标记 跳过处于问题状态且依赖于其他触发器的触发器。请注意,如果禁用、具有禁用项目或禁用项目主机,其他触发器将被忽略。
lastChangeSince 时间戳 仅返回在给定时间后更改其状态的触发器。
lastChangeTill 时间戳 仅返回在给定时间前更改其状态的触发器。
only_true 标记 仅返回最近处于问题状态的触发器。
min_severity 整数 仅返回严重性大于或等于给定严重性的触发器。
evaltype 整数 标签搜索规则。

可能的值:
0 - (默认) 与/或;
2 - 或。
tags 数组 仅返回具有给定标签的触发器。完全匹配标签和根据运算符值区分大小写或不区分大小写的标签值搜索。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空数组返回所有触发器。

可能的运算符类型:
0 - (默认) 类似;
1 - 等于;
2 - 不类似;
3 - 不等于;
4 - 存在;
5 - 不存在。
expandComment 标记 在触发器描述中展开宏。
expandDescription 标记 在触发器名称中展开宏。
expandExpression 标记 在触发器表达式中展开函数和宏。
selectHostGroups 查询 [hostgroups]属性中返回触发器所属的主机组。
selectHosts 查询 [hosts]属性中返回触发器所属的主机。
selectItems 查询 [items]属性中返回触发器包含的项目。
selectFunctions 查询 functions属性中返回触发器中使用的函数。

函数对象表示触发器表达式中使用的函数,并具有以下属性:
functionid - (ID) 函数的ID;
itemid - (ID) 函数中使用的项目的ID;
function - (string) 函数的名称;
parameter - (string) 传递给函数的参数。查询参数在返回的字符串中被$符号替换。
selectDependencies 查询 dependencies属性中返回触发器依赖的触发器。
selectDiscoveryRule 查询 discoveryRule属性中返回创建触发器的低级发现规则
selectLastEvent 查询 [lastEvent]属性中返回触发器的最后一个重要事件。
selectTags 查询 [tags]属性中返回触发器标签。
selectTemplateGroups 查询 [templategroups]属性中返回触发器所属的模板组。
selectTriggerDiscovery 查询 triggerDiscovery属性中返回触发器发现对象。触发器发现对象将触发器链接到从其创建的触发器原型。

它具有以下属性:
parent_triggerid - (ID) 创建触发器的触发器原型的ID;
status - (int) 触发器发现状态:
0 - (默认) 触发器被发现,
1 - 触发器不再被发现;
ts_delete - (时间戳) 不再被发现的触发器将被删除的时间;
ts_disable - (时间戳) 不再被发现的触发器将被禁用的时间;
disable_source - (int) 指示触发器是通过LLD规则还是手动禁用:
0 - (默认) 自动禁用,
1 - 通过LLD规则禁用。
filter 对象 仅返回与给定过滤器完全匹配的结果。

接受一个对象,其中键是属性名称,值是与之匹配的单个值或值数组。

不支持text数据类型的属性。

支持附加属性:
host - 触发器所属主机的技术名称;
hostid - 触发器所属主机的ID。
limitSelects 整数 限制子选择返回的记录数。

适用于以下子选择:
selectHosts - 结果将根据host排序。
sortfield string/数组 排序结果根据给定的属性。

可能的值:triggeriddescriptionstatusprioritylastchangehostname
countOutput 布尔值 这些参数在参考说明中描述。
editable 布尔值
excludeSearch 布尔值
limit 整数
output 查询
preservekeys 布尔值
search 对象
searchByAny 布尔值
searchWildcardsEnabled 布尔值
sortorder string/数组
startSearch 布尔值
selectGroups
(已废弃)
查询 此参数已废弃,请改用selectHostGroupsselectTemplateGroups
groups属性中返回触发器所属的主机组和模板组。

返回值

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

  • 一组对象数组;
  • 如果已经使用了countOutput参数,则检索对象的计数.

示例

通过触发器 ID 检索数据

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

请求:

{
       "jsonrpc": "2.0",
       "method": "trigger.get",
       "params": {
       "triggerids": "14062",
       "output": "extend",
       "selectFunctions": "extend"
       },
       "id": 1
       }

响应:

{
       "jsonrpc": "2.0",
       "result": [
       {
       "triggerid": "14062",
       "expression": "{13513><10m",
       "description": "{HOST.NAME} 已重启 (正常运行时间 < 10m)",
       "url": "",
       "status": "0",
       "value": "0",
       "priority": "2",
       "lastchange": "0",
       "comments": "主机正常运行时间小于10 分钟”,
       “错误”: “”,
       “templateid”: “10016”,
       “类型”: “0”,
       “状态”: “0”,
       “标志”: “0”,
       “恢复模式”: “0”,
       “恢复表达”: “”,
       “关联模式”: “0”,
       “关联标签”: “”,
       “manual_close”: “0”,
       “opdata”: “”,
       “事件名称”: “”,
       “uuid”: “”,
       “url_name”: “”,
       “函数”: [
       {
       “函数id”: “13513”,
       “itemid”: “24350”,
       “triggerid”: “14062”,
       “参数”: “$”,
       “函数”: “last”
       }
       ]
       }
       ],
       “id”: 1
       }

检索问题状态的触发器

检索问题状态的所有触发器的 ID、名称和严重性,并按严重性降序排列。

请求:

{
       "jsonrpc": "2.0",
       "method": "trigger.get",
       "params": {
       "output": [
       "triggerid",
       "description",
       "priority"
       ],
       "filter": {
       "value": 1
       },
       "sortfield": "priority",
       "sortorder": "DESC"
       },
       "id": 1
       }

响应:

{
       "jsonrpc": "2.0",
       "result": [
       {
       "triggerid": "13907",
       "description": "Zabbix 自我监控进程 < 100% 繁忙",
       "priority": "4"
       },
       {
       "triggerid": "13824",
       "description": "Zabbix discoverer 进程超过75% 繁忙”,
       “优先级”:“3”
       }
       ],
       “id”: 1
       }

使用标签检索特定触发器

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

请求:

{
       "jsonrpc": "2.0",
       "method": "trigger.get",
       "params": {
       "output": [
       "triggerid",
       "description"
       ],
       "selectTags": "extend",
       "triggerids": [
       "17578"
       ]
       },
       "id": 1
       }

响应:

{
       "jsonrpc": "2.0",
       "result": [
       {
       "triggerid": "17370",
       "description": "服务状态",
       "tags": [
       {
       "tag": "service",
       "value": "{{ITEM.VALUE}.regsub(\"服务 (.*) 已停止\", \"\\1\")}"
       },
       {
       "tag": "error",
       "value": ""
       }
       ]
       }
       ],
       "id": 1
       }

另请参阅

源码

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