获取

描述

integer/array triggerprototype.get(object parameters)

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

此方法适用于任何类型的用户, 调用方法的权限可以在用户角色设置中进行撤销,请参阅 用户角色了解更多信息.

参数

(object) 定义所需输出的参数。

该方法支持以下参数。

参数 类型 描述
active 标记 仅返回属于已监控主机的已启用触发器原型。
discoveryids ID/数组 仅返回属于给定LLD规则的触发器原型。
functions 字符串/数组 仅返回使用给定函数的触发器。

请参阅支持的函数页面以获取支持函数的列表。
group 字符串 仅返回属于具有给定名称的主机组或模板组的主机或模板的触发器原型。
groupids ID/数组 仅返回属于给定主机组或模板组的主机或模板的触发器原型。
host 字符串 仅返回属于具有给定名称的主机的触发器原型。
hostids ID/数组 仅返回属于给定主机的触发器原型。
inherited 布尔值 如果设置为true,仅返回从模板继承的触发器原型。
maintenance 布尔值 如果设置为true,仅返回属于处于维护状态的主机的已启用触发器原型。
min_severity 整数 仅返回严重性大于或等于给定严重性的触发器原型。
monitored 标记 仅返回属于已监控主机且仅包含已启用项的已启用触发器原型。
templated 布尔值 如果设置为true,仅返回属于模板的触发器原型。
templateids ID/数组 仅返回属于给定模板的触发器原型。
triggerids ID/数组 仅返回具有给定ID的触发器原型。
expandExpression 标记 扩展触发器表达式中的函数和宏。
selectDependencies 查询 dependencies属性中返回触发器原型依赖的触发器原型和触发器。
selectDiscoveryRule 查询 discoveryRule属性中返回触发器原型所属的LLD规则
selectFunctions 查询 functions属性中返回触发器原型中使用的函数。

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

接受一个对象,其中键是属性名称,值是与之匹配的单个值或值数组。

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

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

适用于以下子查询:
selectHosts - 结果将按host排序。
sortfield 字符串/数组 根据给定属性对结果进行排序。

可能的值:triggeriddescriptionstatusprioritydiscovered
countOutput 布尔值 这些参数在参考说明中有描述。
editable 布尔值
excludeSearch 布尔值
limit 整数
output 查询
preservekeys 布尔值
search 对象
searchByAny 布尔值
searchWildcardsEnabled 布尔值
sortorder 字符串/数组
startSearch 布尔值
selectGroups
(已废弃)
查询 此参数已废弃,请改用selectHostGroupsselectTemplateGroups
groups属性中返回触发器原型所属的主机组和模板组。

返回值

(integer/array) 返回两者其中任一:

  • 一组对象.
  • 如果已经使用了countOutput参数,则检索对象的计数.

示例

从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() in ui/include/classes/api/services/CTriggerPrototype.php.