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

triggerprototype.get

描述

integer/array triggerprototype.get(object parameters)

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

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

参数

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

该方法支持以下参数。

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

有关支持的函数列表,请参阅Supported functions页面。
group string 仅返回属于主机或属于主机组或具有给定名称的模板组的触发器原型。
groupids ID/array 仅返回属于主机或属于给定主机组或模板组的触发器原型。
host string 仅返回属于具有给定名称的主机的触发器原型。
hostids ID/array 仅返回属于给定主机的触发器原型。
inherited boolean 如果设置为true,则仅返回从模板继承的触发器原型。
maintenance boolean 如果设置为true,则仅返回处于维护状态的属于主机的已启用触发器原型。
min_severity integer 仅返回严重程度大于或等于给定严重程度的触发器原型。
monitored flag 仅返回属于被监控主机且仅包含已启用监控项的已启用触发器原型。
templated boolean 如果设置为true,则仅返回属于模板的触发器原型。
templateids ID/array 仅返回属于给定模板的触发器原型。
triggerids ID/array 仅返回具有给定ID的触发器原型。
expandExpression flag 在触发器表达式中展开函数和宏。
selectDependencies query dependencies属性中返回触发器原型及其依赖的触发器。
selectDiscoveryRule query discoveryRule属性中返回触发器原型所属的LLD rule
selectFunctions query functions属性中返回触发器原型中使用的函数。

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

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

不支持text 数据类型的属性。

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

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

可能值:triggeriddescriptionstatusprioritydiscovered
countOutput boolean 这些参数在通用get方法参数中描述。
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
selectGroups
(deprecated)
query 此参数已弃用,请改用selectHostGroupsselectTemplateGroups
groups属性中返回触发器原型所属的主机组和模板组。

返回值

(integer/array) 返回以下之一:

  • objects 的 array;
  • 如果使用了 countOutput 参数,则为检索到的 objects 的数量。

示例

从LLD规则检索触发器原型

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

执行请求:

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

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "triggerid": "13272",
                   "expression": "{12598}<20",
                   "description": "Free inodes is less than 20% on volume {#FSNAME}",
                   "url": "",
                   "status": "0",
                   "value": "0",
                   "priority": "2",
                   "lastchange": "0",
                   "comments": "",
                   "error": "",
                   "templateid": "0",
                   "type": "0",
                   "state": "0",
                   "flags": "2",
                   "recovery_mode": "0",
                   "recovery_expression": "",
                   "correlation_mode": "0",
                   "correlation_tag": "",
                   "manual_close": "0",
                   "opdata": "",
                   "discover": "0",
                   "event_name": "",
                   "uuid": "6ce467d05e8745409a177799bed34bb3",
                   "url_name": "",
                   "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",
                   "value": "0",
                   "priority": "2",
                   "lastchange": "0",
                   "comments": "",
                   "error": "",
                   "templateid": "0",
                   "type": "0",
                   "state": "0",
                   "flags": "2",
                   "recovery_mode": "0",
                   "recovery_expression": "",
                   "correlation_mode": "0",
                   "correlation_tag": "",
                   "manual_close": "0",
                   "opdata": "",
                   "discover": "0",
                   "event_name": "",
                   "uuid": "74a1fc62bfe24b7eabe4e244c70dc384",
                   "url_name": "",
                   "functions": [
                       {
                           "functionid": "13500",
                           "itemid": "22686",
                           "parameter": "$",
                           "function": "last"
                       }
                   ]
               }
           ],
           "id": 1
       }

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

执行请求:

{
           "jsonrpc": "2.0",
           "method": "triggerprototype.get",
           "params": {
               "output": [
                   "triggerid",
                   "description"
               ],
               "selectTags": "extend",
               "triggerids": [
                   "17373"
               ]
           },
           "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
       }

另请参阅

来源

ui/include/classes/api/services/CTriggerPrototype.php 中的 CTriggerPrototype::get()。