获取

描述

integer/array trigger.get(object parameters)

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

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

参数

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

该方法支持以下参数。

参数 类型 描述
triggerids ID/array 仅返回具有给定 ID 的触发器。
groupids ID/array 仅返回属于给定主机组或模板组中的主机或模板的触发器。
templateids ID/array 仅返回属于给定模板的触发器。
hostids ID/array 仅返回属于给定主机的触发器。
itemids ID/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 - (默认) And/Or;
2 - Or。
tags array 仅返回具有给定标签的触发器。
格式:[{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...]
空数组将返回所有触发器。

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

函数对象表示触发器表达式中使用的函数,并具有以下属性:
functionid - (ID) 函数的 ID;
itemid - (ID) 函数中使用的监控项 ID;
function - (string) 函数名称;
parameter - (string) 传递给函数的参数。查询参数在返回的字符串中会被替换为 $ 符号。
selectDependencies query dependencies 属性中返回该触发器所依赖的触发器。
selectDiscoveryData query 返回 discoveryData 属性,其中包含触发器发现对象数据。触发器发现对象将已发现的触发器链接到发现该触发器时所基于的触发器原型。

它具有以下属性:
parent_triggerid - (ID) 创建该触发器所基于的触发器原型 ID;
status - (int) 触发器发现状态:
0 - (默认) 触发器已发现,
1 - 触发器不再被发现;
ts_delete - (timestamp) 不再被发现的触发器将被删除的时间;
ts_disable - (timestamp) 不再被发现的触发器将被禁用的时间;
disable_source - (int) 指示触发器是由 LLD 规则禁用还是手动禁用:
0 - (默认) 自动禁用,
1 - 由 LLD 规则禁用。
selectDiscoveryRule query discoveryRule 属性中返回创建该触发器的低级别发现规则
selectLastEvent query lastEvent 属性中返回最后一个重要的触发器事件。
selectTags query tags 属性中返回触发器标签。
inheritedTags boolean 返回在模板/主机/链接模板中也具有给定 tags 的触发器。

可能的值:
true - 模板/主机/链接模板也必须具有给定标签;
false - (默认) 忽略来自模板/主机/链接模板的标签。
selectInheritedTags query 返回 inheritedTags 属性,其中包含从模板、链接模板和主机继承的标签,以及从触发器或恢复表达式中引用的监控项继承的标签。
selectTemplateGroups query templategroups 属性中返回该触发器所属的模板组。
filter object 仅返回与给定过滤条件完全匹配的结果。

接受一个对象,其中键为属性名称,值为单个值或用于匹配的值数组。

不支持 text 数据类型 的属性。

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

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

可能的值:triggeriddescriptionstatusprioritylastchangehostname
countOutput boolean 这些参数在参考说明中描述。
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
selectTriggerDiscovery query triggerDiscovery 属性中返回触发器发现对象。触发器发现对象将该触发器链接到创建它时所基于的触发器原型。

此查询已弃用,请改用 selectDiscoveryData

返回值

(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": "Service status",
            "tags": [
                {
                    "tag": "service",
                    "value": "{{ITEM.VALUE}.regsub(\"Service (.*) has stopped\", \"\\1\")}",
                    "automatic": "1"
                },
                {
                    "tag": "error",
                    "value": "",
                    "automatic": "1"
                }
            ]
        }
    ],
    "id": 1
}

另请参阅

源码

CTrigger::get() in ui/include/classes/api/services/CTrigger.php.