这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

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 - (默认)与/或;
2 - 或。
tags array 仅返回具有给定标签的触发器。根据操作符值,对标签进行精确匹配或对标签值进行大小写敏感或不敏感的搜索。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空array返回所有触发器。

可能的操作符类型:
0 - (默认)类似;
1 - 等于;
2 - 不类似;
3 - 不等于;
4 - 存在;
5 - 不存在。
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;
function - (string) 函数的名称;
parameter - (string) 传递给函数的参数。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()。