triggerprototype.get

描述

integer/array triggerprototype.get(object parameters)

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

此方法可供任何类型的用户使用。调用该方法的权限可以在用户角色设置中撤销。有关更多信息,请参阅User roles

参数

(object) 定义期望输出的参数.

该方法支持以下参数.

参数 数据类型 描述
active flag 仅返回属于受监控主机的已启用触发器原型.
discoveryids string/array 仅返回属于给定LLD规则的触发器原型.
functions string/array 仅返回使用给定函数的触发器.

有关支持函数的列表,请参阅Supported 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 在触发器表达式中展开函数和宏.
selectDependencies query dependencies属性中返回触发器原型及其依赖的触发器.
selectDiscoveryRule query 返回触发器原型所属的LLD rule.
selectFunctions query functions属性中返回触发器原型中使用的函数.

函数objects表示触发器表达式中使用的函数,并具有以下属性:
functionid - (string) 函数的ID;
itemid - (string) 函数中使用的监控项的ID;
function - (string) 函数的名称;
parameter - (string) 传递给函数的参数. query参数在返回的string中被$符号替换.
selectGroups query groups属性中返回触发器原型所属的主机组.
selectHosts query hosts属性中返回触发器原型所属的主机.
selectItems query items属性中返回触发器原型使用的监控项和监控项原型.
selectTags query 触发器原型标签属性中返回触发器原型的标签.
filter object 仅返回与给定过滤器完全匹配的结果.

接受一个array,其中键是属性名称,值是要匹配的单个值或array的值.

支持额外的过滤器:
host - 触发器原型所属的主机的技术名称;
hostid - 触发器原型所属的主机的ID.
limitSelects integer 限制子查询返回的记录数.

适用于以下子查询:
selectHosts - 结果将按host排序.
sortfield string/array 按给定属性排序结果.

可能的值为: triggerid, description, statuspriority.
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) 返回以下两种情况之一:

  • 一个由array组成的objects数组
  • 检索到的objects数量(当使用了countOutput参数时)

示例

从LLD规则检索触发器原型

从LLD规则中获取所有触发器原型及其函数。

请求:

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

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "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",
                   "opdata": "",
                   "discover": "0",
                   "functions": [
                       {
                           "functionid": "12598",
                           "itemid": "22454",
                           "parameter": "$",
                           "function": "last"
                       }
                   ]
               },
               {
                   "triggerid": "13266",
                   "expression": "{13500}<20",
                   "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",
                   "opdata": "",
                   "discover": "0",
                   "functions": [
                       {
                           "functionid": "13500",
                           "itemid": "22686",
                           "parameter": "$",
                           "function": "last"
                       }
                   ]
               }
           ],
           "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() 位于 ui/include/classes/api/services/CTriggerPrototype.php 文件中。