trigger.get

描述

integer/array trigger.get(object parameters)

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

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

参数

(object) 定义输出结果的参数。

该方法支持以下参数。

参数 数据类型 描述
triggerids string/array 仅返回具有指定ID的触发器。
groupids string/array 仅返回属于指定主机组中主机的触发器。
templateids string/array 仅返回属于指定模板的触发器。
hostids string/array 仅返回属于指定主机的触发器。
itemids string/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 - (默认) 与/或;
2 - 或。
tags array of objects 仅返回具有指定标签的触发器。根据操作符值,对标签进行精确匹配或对标签值进行大小写敏感/不敏感搜索。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空array返回所有触发器。

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

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

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

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

支持额外的过滤器:
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

返回值

(integer/array) 返回以下两种结果之一:

  • 一个包含objects的array;
  • 若使用了countOutput参数,则返回检索到的objects数量。

示例

通过触发器ID检索数据

获取触发器"14062"中使用的所有数据及函数。

请求:

{
           "jsonrpc": "2.0",
           "method": "trigger.get",
           "params": {
               "triggerids": "14062",
               "output": "extend",
               "selectFunctions": "extend"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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": "",
                   "functions": [
                       {
                           "functionid": "13513",
                           "itemid": "24350",
                           "triggerid": "14062",
                           "parameter": "$",
                           "function": "last"
                       }
                   ]
               }
           ],
           "id": 1
       }

获取处于问题状态的触发器

获取所有处于问题状态的触发器ID、名称及严重级别,并按严重级别降序排列。

请求:

{
           "jsonrpc": "2.0",
           "method": "trigger.get",
           "params": {
               "output": [
                   "triggerid",
                   "description",
                   "priority"
               ],
               "filter": {
                   "value": 1
               },
               "sortfield": "priority",
               "sortorder": "DESC"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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"
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "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
       }

来源

CTrigger::get() 位于 ui/include/classes/api/services/CTrigger.php 文件中。