获取
说明
integer/array triggerprototype.get(object **parameters**)
此方法允许根据指定的参数检索触发器原型。
参数
(object)定义需要输出的参数。 该方法支持以下参数。
| 参数 | 类型 | 说明 |
|---|---|---|
| active | flag | 仅返回所属被监控主机的已启用触发器原型。 |
| applicationids | string/array | 仅返回来自指定应用集中包含监控项的触发器原型。 |
| discoveryids | string/array | 仅返回所属指定低级别发现规则的触发器原型。 |
| functions | string/array | 仅返回使用指定函数的触发器。 有关支持的功能列表,请参阅supported trigger 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 | 展开在触发器原型表达式中的函数和宏。 |
| selectDiscoveryRule | query | 返回触发器原型所属的低级别发现规则。 |
| selectFunctions | query | 返回在functions属性中在触发器中使用的函数。函数对象代表使用在触发器表达式中的函数,并具有以下属性: functionid - (string) 函数的ID;itemid - (string) 使用在函数中的监控项ID;function - (string) 函数的名称;parameter - (string) 传递给函数的参数。 |
| selectGroups | query | 返回在groups属性中触发器原型所属的主机组。 |
| selectHosts | query | 返回在hosts属性中触发器所属的主机。 |
| selectItems | query | 返回在items属性中触发器所包含的监控项。 |
| selectDependencies | query | 返回在dependencies属性中依赖触发器原型的触发器原型和触发器。 |
| selectTags | query | 返回在tags属性中触发器原型标签。 |
| filter | object | 仅返回与指定筛选完全匹配的结果。 接受一个数组,其中键为属性名称,值为单个值或要匹配值的数组。 支持额外的筛选: host - 触发器原型所属主机的正式名称。hostid - 触发器原型所属主机的ID。 |
| limitSelects | integer | 限制子查询返回的记录数量。 适用于以下子查询: selectHosts - 以host分类结果。 |
| sortfield | string/array | 由指定属性分类结果。 许可值为: triggerid, description, status和priority。 |
| countOutput | boolean | 这些参数十分普遍,适用于所有get方法,详情可参考reference commentary。 |
| editable | boolean | |
| excludeSearch | boolean | |
| limit | integer | |
| output | query | |
| preservekeys | boolean | |
| search | object | |
| searchByAny | boolean | |
| searchWildcardsEnabled | boolean | |
| sortorder | string/array | |
| startSearch | boolean | |
返回值
(integer/array) 返回两者其中任一:
一组对象;
如果已经使用了
countOutput参数,则检索对象的计数。
范例
从低级别发现规则中检索触发器原型
从低级别发现规则中检索所有的触发器原型和相关函数。
请求:
{"jsonrpc": "2.0","method": "triggerprototype.get","params": {"output": "extend","selectFunctions": "extend","discoveryids": "22450"},"auth": "038e1d7b1735c6a5436ee9eae095879e","id": 1}
响应:
{"jsonrpc": "2.0","result": [{"functions": [{"functionid": "12598","itemid": "22454","function": "last","parameter": "0"}],"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"},{"functions": [{"functionid": "13500","itemid": "22686","function": "last","parameter": "0"}],"triggerid": "13266","expression": "{13500}<201","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"}],"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()方法可在frontends/php/include/classes/api/services/CTriggerPrototype.php中参考。
