Sidebar

获取

说明

integer/array triggerprototype.get(object parameters)

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

参数

(object)定义需要输出的参数。 该方法支持以下参数。

参数 类 说明
active flag 仅返回所属被监控主机的已启用触发器原型。
applicationids string/array 仅返回来自指定应用集中包含监控项的触发器原型。
discoveryids string/array 仅返回所属指定低级别发现规则的触发器原型。
functions string/array 仅返回使用指定函数的触发器。

有关支持的功能列表,请参阅supported trigger functions 页面。
group string 仅返回来自指定名称的主机组中所属主机的触发器原型。
groupids string/array 仅返回来自指定主机组中所属主机的触发器原型。
host string 仅返回指定名称的所属主机的触发器原型。
hostids string/array 仅返回指定主机所属的触发器原型。
inherited boolean 仅返回从模板继承的触发器原型,如果设置为true
maintenance boolean 仅返回在维护中所属主机的已启用触发器原型,如果设置为true
min_severity integer 仅返回严重级别大于或等于指定严重级别的触发器原型。
monitored flag 仅返回所属被监控主机的已启用触发器原型,并包含已启用的监控项。
templated boolean 仅返回所属模板的触发器原型,如果设置为true
templateids string/array 仅返回指定模板所属的触发器原型。
triggerids string/array 仅返回指定ID的触发器原型。
expandExpression flag 展开在触发器原型表达式中的函数和宏。
selectDiscoveryRule query 返回触发器原型所属的低级别发现规则。
selectFunctions query 返回在functions属性中在触发器中使用的函数。

函数对象代表使用在触发器表达式中的函数,并具有以下属性:
functionid - (string) 函数的ID;
itemid - (string) 使用在函数中的监控项ID;
function - (string) 函数的名称;
parameter - (string) 传递给函数的参数。
selectGroups query 返回在groups属性中触发器原型所属的主机组。
selectHosts query 返回在hosts属性中触发器所属的主机。
selectItems query 返回在items属性中触发器所包含的监控项。
selectDependencies query 返回在dependencies属性中依赖触发器原型的触发器原型和触发器。
selectTags query 返回在tags属性中触发器原型标签。
filter object 仅返回与指定筛选完全匹配的结果。

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

支持额外的筛选:
host - 触发器原型所属主机的正式名称。
hostid - 触发器原型所属主机的ID。
limitSelects integer 限制子查询返回的记录数量。

适用于以下子查询:
selectHosts - 以host分类结果。
sortfield string/array 由指定属性分类结果。

许可值为:triggerid, description, statuspriority
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参数,则检索对象的计数。

范例

从低级别发现规则中检索触发器原型

从低级别发现规则中检索所有的触发器原型和相关函数。

请求:

{
           "jsonrpc": "2.0",
           "method": "triggerprototype.get",
           "params": {
               "output": "extend",
               "selectFunctions": "extend",
               "discoveryids": "22450"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "functions": [
                       {
                           "functionid": "12598",
                           "itemid": "22454",
                           "function": "last",
                           "parameter": "0"
                       }
                   ],
                   "triggerid": "13272",
                   "expression": "{12598}<20",
                   "description": "Free inodes is less than 20% on volume {#FSNAME}",
                   "url": "",
                   "status": "0",
                   "priority": "2",
                   "comments": "",
                   "templateid": "0",
                   "type": "0",
                   "flags": "2",
                   "recovery_mode": "0",
                   "recovery_expression": "",
                   "correlation_mode": "0",
                   "correlation_tag": "",
                   "manual_close": "0"
               },
               {
                   "functions": [
                       {
                           "functionid": "13500",
                           "itemid": "22686",
                           "function": "last",
                           "parameter": "0"
                       }
                   ],
                   "triggerid": "13266",
                   "expression": "{13500}<201",
                   "description": "Free disk space is less than 20% on volume {#FSNAME}",
                   "url": "",
                   "status": "0",
                   "priority": "2",
                   "comments": "",
                   "templateid": "0",
                   "type": "0",
                   "flags": "2",
                   "recovery_mode": "0",
                   "recovery_expression": "",
                   "correlation_mode": "0",
                   "correlation_tag": "",
                   "manual_close": "0"
               }
           ],
           "id": 1
       }

根据标签检索特定的触发器原型

请求:

{
           "jsonrpc": "2.0",
           "method": "triggerprototype.get",
           "params": {
               "output": [
                   "triggerid",
                   "description"
               ]
               "selectTags": "extend",
               "triggerids": [
                   "17373"
               ]
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "triggerid": "17373",
                   "description": "Free disk space is less than 20% on volume {#FSNAME}",
                   "tags": [
                       {
                           "tag": "volume",
                           "value": "{#FSNAME}"
                       },
                       {
                           "tag": "type",
                           "value": "{#FSTYPE}"
                       }
                   ]
               }
           ],
           "id": 1
       }

参考

源码

CTriggerPrototype::get()方法可在frontends/php/include/classes/api/services/CTriggerPrototype.php中参考。