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

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 按指定属性排序结果。

可选值为:triggeriddescriptionstatuspriority
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) 返回以下两种结果之一:

  • 一个包含objects的array;
  • 若使用了countOutput参数,则返回检索到的objects数量。

示例

从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",
                           "triggerid": "13272",
                           "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",
                           "triggerid": "13266",
                           "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 文件中。