trigger.get

描述

integer/array trigger.get(object parameters)

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

此方法可供任何类型的用户使用。可以在用户角色设置中撤销调用该方法的权限。 更多信息请参见 User roles

参数

(object) 参数定义了期望的输出。

该方法支持以下参数。

参数 数据类型 描述
triggerids ID/array 仅返回具有指定ID的触发器。
groupids ID/array 仅返回属于指定主机或模板的触发器,这些主机或模板属于给定的主机组或模板组。
templateids ID/array 仅返回属于指定模板的触发器。
hostids ID/array 仅返回属于指定主机的触发器。
itemids ID/array 仅返回包含指定监控项的触发器。
functions string/array 仅返回使用指定函数的触发器。

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

可能的值:
0 - (默认)And/Or;
2 - Or。
tags array 仅返回具有指定标签的触发器。根据操作符值,按标签进行精确匹配或按标签值进行大小写敏感或不敏感的搜索。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空的array将返回所有触发器。

可能的操作符类型:
0 - (默认)Like;
1 - Equal;
2 - Not like;
3 - Not equal;
4 - Exists;
5 - Not exists。
expandComment flag 在触发器描述中展开宏。
expandDescription flag 在触发器名称中展开宏。
expandExpression flag 在触发器表达式中展开函数和宏。
selectHostGroups query hostgroups属性中返回触发器所属的主机组。
selectHosts query hosts属性中返回触发器所属的主机。
selectItems query items属性中返回触发器包含的监控项。
selectFunctions query functions属性中返回触发器中使用的函数。

函数objects表示触发器表达式中使用的函数,具有以下属性:
functionid - 函数的(ID) ID;
itemid - 函数中使用的监控项的(ID) ID;
name - 函数的(string)名称(作为function属性返回);
parameter - 传递给函数的参数。query参数在返回的string中被替换为$符号。
selectDependencies query dependencies属性中返回该触发器所依赖的触发器。
selectDiscoveryRule query discoveryRule属性中返回创建该触发器的发现规则
selectLastEvent query lastEvent属性中返回最后一个重要的触发器事件。
selectTags query tags属性中返回触发器的标签。
selectTemplateGroups query templategroups属性中返回触发器所属的模板组。
selectTriggerDiscovery query triggerDiscovery属性中返回触发器发现object。触发器发现objects将触发器链接到创建它的触发器原型。

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

接受一个object,其中键是属性名称,值是单个值或一个array值以进行匹配。

不支持text数据类型属性。

支持额外的属性:
host - 触发器所属的主机的技术名称;
hostid - 触发器所属的主机的ID。
limitSelects integer 限制子查询返回的记录数。

适用于以下子查询:
selectHosts - 结果将按host排序。
sortfield string/array 按指定属性通用get方法参数结果。

可能的值:triggeriddescriptionstatusprioritylastchangehostname
countOutput boolean 这些参数在通用get方法参数中进行了描述。
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
selectGroups
(deprecated)
query 此参数已弃用,请改用selectHostGroupsselectTemplateGroups
groups属性中返回触发器所属的主机组和模板组。

返回值

(integer/array) 返回以下之一:

  • objects 的 array;
  • 如果使用了 countOutput 参数,则为检索到的 objects 的数量。

示例

通过触发器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} has been restarted (uptime < 10m)",
                   "url": "",
                   "status": "0",
                   "value": "0",
                   "priority": "2",
                   "lastchange": "0",
                   "comments": "The host uptime is less than 10 minutes",
                   "error": "",
                   "templateid": "10016",
                   "type": "0",
                   "state": "0",
                   "flags": "0",
                   "recovery_mode": "0",
                   "recovery_expression": "",
                   "correlation_mode": "0",
                   "correlation_tag": "",
                   "manual_close": "0",
                   "opdata": "",
                   "event_name": "",
                   "uuid": "",
                   "url_name": "",
                   "functions": [
                       {
                           "functionid": "13513",
                           "itemid": "24350",
                           "parameter": "$",
                           "function": "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 self-monitoring processes < 100% busy",
                   "priority": "4"
               },
               {
                   "triggerid": "13824",
                   "description": "Zabbix discoverer processes more than 75% busy",
                   "priority": "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": "Service status",
                   "tags": [
                       {
                           "tag": "service",
                           "value": "{{ITEM.VALUE}.regsub(\"Service (.*) has stopped\", \"\\1\")}"
                       },
                       {
                           "tag": "error",
                           "value": ""
                       }
                   ]
               }
           ],
           "id": 1
       }

另请参阅

来源

ui/include/classes/api/services/CTrigger.php 中的 CTrigger::get()。