获取
说明
integer/array trigger.get(object **parameters**)
此方法允许根据指定的参数检索触发器。
参数
(object)
定义需要输出的参数。 该方法支持以下参数。
参数 | 类型 | 说明 |
---|---|---|
triggerids | string/array | 仅返回指定ID的触发器。 |
groupids | string/array | 仅返回来自指定主机组中所属主机的触发器。 |
templateids | string/array | 仅返回指定模板所属的触发器。 |
hostids | string/array | 仅返回指定主机所属的触发器。 |
itemids | string/array | 仅返回包含指定监控项的触发器。 |
applicationids | string/array | 仅返回来自指定应用集中包含监控项的触发器。 |
functions | string/array | 仅返回使用指定函数的触发器。 有关支持的功能列表,请参阅supported trigger functions页面。 |
group | string | 仅返回来自指定名称的主机组中所属主机的触发器。 |
host | string | 仅返回指定名称的所属主机的触发器。 |
inherited | boolean | 仅返回从模板继承的触发器,如果设置为true 。 |
templated | boolean | 仅返回所属模板的触发器,如果设置为true 。 |
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 | 仅返回严重级别大于或等于指定严重级别的触发器。 |
expandComment | flag | 展开触发器描述中的宏。 |
expandDescription | flag | 展开触发器名称中的宏。 |
expandExpression | flag | 展开在触发器表达式中的函数和宏。 |
selectGroups | query | 返回在groups 属性中触发器所属的主机组。 |
selectHosts | query | 返回在hosts 属性中触发器所属的主机。 |
selectItems | query | 返回在items 属性中触发器所包含的监控项。 |
selectFunctions | query | 返回在functions 属性中在触发器中使用的函数。函数对象代表使用在触发器表达式中的函数,并具有以下属性: functionid - (string) 函数的ID;itemid - (string) 使用在函数中的监控项ID。function - (string) 函数的名称;parameter - (string) 传递给函数的参数。 |
selectDependencies | query | 返回在dependencies 属性中依赖触发的触发器。 |
selectDiscoveryRule | query | 返回创建了触发器的低级别发现规则。 |
selectLastEvent | query | 返回在lastEvent 属性中最后一个重要触发事件。 |
selectTags | query | 返回在tags 属性中触发器标签。 |
selectTriggerDiscovery | query | 返回在triggerDiscovery 属性中触发器发现对象。触发器发现对象将触发器链接到创建它的触发器原型上。触发器发现对象具有以下属性: parent_triggerid - (string) 创建触发器的触发器原型ID。 |
filter | object | 仅返回与指定筛选完全匹配的结果。 接受一个数组,其中键为属性名称,值为单个值或要匹配值的数组。 支持额外的筛选: host - 触发器所属主机的正式名称。hostid - 触发器所属主机的ID。 |
limitSelects | integer | 限制子查询返回的记录数量。 适用于以下子查询: selectHosts - 以host 分类结果。 |
sortfield | string/array | Sort 由指定属性分类结果。 许可值为: triggerid , description , status , priority , lastchange 和hostname 。 |
countOutput | boolean | 这些参数十分普遍,适用于所有get 方法,详情可参考reference commentary。 |
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": [
{
"functions": [
{
"functionid": "13513",
"itemid": "24350",
"function": "diff",
"parameter": "0"
}
],
"triggerid": "14062",
"expression": "{13513}>0",
"description": "/etc/passwd has been changed on {HOST.NAME}",
"url": "",
"status": "0",
"value": "0",
"priority": "2",
"lastchange": "0",
"comments": "",
"error": "",
"templateid": "10016",
"type": "0",
"state": "0",
"flags": "0",
"recovery_mode": "0",
"recovery_expression": "",
"correlation_mode": "0",
"correlation_tag": "",
"manual_close": "0"
}
],
"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()方法可在frontends/php/include/classes/api/services/CTrigger.php中参考。