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

获取

说明

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, lastchangehostname
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中参考。