检索触发器

描述

integer/array trigger.get(object parameters)

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

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

参数

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

该方法支持以下参数。

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

参考支持的函数页面了解支持的函数列表。
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>"}, ...]
空数组返回所有触发器。

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

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

它具有以下属性:
parent_triggerid - (字符串) 触发器原型的ID,触发器是从该原型创建的。
filter object 仅返回完全匹配给定过滤的结果。

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

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

适用于以下子选择:
selectHosts - 结果将按 host 排序。
sortfield string/array 排序结果按给定属性。

可能的值有:triggerid, description, status, priority, lastchangehostname
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) 返回两者其中任一:

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

示例

根据触发器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() in ui/include/classes/api/services/CTrigger.php.