获取

描述

integer/array triggerprototype.get(object parameters)

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

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

参数

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

该方法支持以下参数。

参数 类型 描述
active flag 仅返回属于受监控主机的已启用触发器原型。
discoveryids string/array 只返回属于给定 LLD 规则的触发器原型。
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 字符串/数组 仅返回具有给定ID的触发器原型。
expandExpression flag 展开触发器表达式中的函数和宏。
selectDependencies query dependencies属性中返回触发器原型和触发器原型所依赖的触发器。
selectDiscoveryRule query 返回触发器原型所属的LLD规则
selectFunctions query functions 属性中返回触发器原型中使用的函数。

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

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

支持额外的过滤器:
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) 返回两者其中任一:

  • 一组对象.
  • 如果已经使用了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.