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

获取

描述

integer/array trigger.get(object parameters)

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

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

参数

(object) 定义需要输出的参数.

该方法支持以下参数.

参数 类型 描述
triggerids string/array 仅返回属于指定ID的触发器.
groupids string/array 仅返回属于指定主机组ID的触发器.
templateids string/array 仅返回属于指定模板ID的触发器.
hostids string/array 仅返回属于指定主机ID的触发器.
itemids string/array 仅返回包含指定监控项ID的触发器.
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 - (默认) And/Or;
2 - Or.
tags array of objects 只返回给定标签的触发器。按标签精确匹配,根据运算符值按标签值进行区分大小写或不区分大小写的搜索.
格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
空数组返回所有触发器.

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

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

它具有以下属性:
parent_triggerid - (string) 创建触发器的触发器原型的 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"
       },
       "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.