获取

描述

integer/array triggerprototype.get(object parameters)

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

此方法对任何类型的用户都可用。 调用该方法的权限可在用户角色设置中被撤销。 更多信息请参见 用户角色

参数

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

该方法支持以下参数。

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

支持的函数列表请参见支持的函数页面。
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 属性中返回该触发器原型所依赖的触发器原型和触发器。
selectDiscoveryData query 返回一个 discoveryData 属性,其中包含触发器原型发现对象数据。触发器原型发现对象将已发现的触发器原型链接到发现它的触发器原型。

它具有以下属性:
parent_triggerid - (ID) 创建该触发器原型所基于的触发器原型 ID;
status - (int) 触发器原型发现状态:
0 - (默认) 触发器原型已发现,
1 - 触发器原型不再被发现;
ts_delete - (timestamp) 不再被发现的触发器原型将被删除的时间;
ts_disable - (timestamp) 不再被发现的触发器原型将被禁用的时间;
disable_source - (int) 指示触发器原型是由 LLD 规则还是手动禁用:
0 - (默认) 自动禁用,
1 - 由 LLD 规则禁用。
selectDiscoveryRule query discoveryRule 属性中返回该触发器原型所属的 LLD 规则
selectDiscoveryRulePrototype query 返回一个 discoveryRulePrototype 属性,其中包含该触发器原型所属的父 LLD 规则原型。
selectFunctions query functions 属性中返回触发器原型中使用的函数。

函数对象表示触发器表达式中使用的函数,并具有以下属性:
functionid - (ID) 函数的 ID;
itemid - (ID) 函数中使用的监控项 ID;
function - (string) 函数名称;
parameter - (string) 传递给函数的参数。返回的字符串中,查询参数会被替换为 $ 符号。
selectHostGroups query hostgroups 属性中返回该触发器原型所属的主机组。
selectHosts query hosts 属性中返回该触发器原型所属的主机。
selectInheritedTags query 返回一个 inheritedTags 属性,其中包含从模板、已链接模板和主机继承的标签,以及从触发器表达式或恢复表达式中引用的监控项原型继承的标签。
selectItems query items 属性中返回该触发器原型使用的监控项和监控项原型。
selectTags query tags 属性中返回触发器原型标签。
selectTemplateGroups query templategroups 属性中返回该触发器原型所属的模板组。
filter object 仅返回与给定过滤条件完全匹配的结果。

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

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

支持以下附加属性:
host - 该触发器原型所属主机的技术名称;
hostid - 该触发器原型所属主机的 ID。
limitSelects integer 限制子选择返回的记录数。

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

可能的值:triggeriddescriptionstatusprioritydiscovered
countOutput boolean 这些参数在参考说明中描述。
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

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

  • 对象数组;
  • 如果使用了 countOutput 参数,则返回检索到的对象数量。

示例

从 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": "卷 {#FSNAME} 上的空闲 inode 少于 20%",
            "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",
                    "triggerid": "13272",
                    "parameter": "$",
                    "function": "last"
                }
            ]
        },
        {
            "triggerid": "13266",
            "expression": "{13500}<20",
            "description": "卷 {#FSNAME} 上的可用磁盘空间少于 20%",
            "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",
                    "triggerid": "13266",
                    "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": "卷 {#FSNAME} 上的可用磁盘空间低于 20%",
            "tags": [
                {
                    "tag": "volume",
                    "value": "{#FSNAME}"
                },
                {
                    "tag": "type",
                    "value": "{#FSTYPE}"
                }
            ]
        }
    ],
    "id": 1
}

另请参见

来源

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