service.get

描述

integer/array service.get(object parameters)

该方法允许根据给定的参数检索服务。

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

参数

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

该方法支持以下参数.

参数 数据类型 描述
serviceids ID/array 仅返回具有指定ID的服务.
parentids ID/array 仅返回链接到指定父服务的服务.
deep_parentids flag 返回所有直接和间接子服务. 需与parentids一起使用.
childids ID/array 仅返回链接到指定子服务的服务.
evaltype integer 标签evaluation method.

可能值:
0 - (默认) 与/或;
2 - 或.
tags object/array 仅返回具有指定标签的服务.
格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
空array返回所有服务.

可能operator值:
0 - (默认) 包含;
1 - 等于;
2 - 不包含;
3 - 不等于;
4 - 存在;
5 - 不存在.
problem_tags object/array 仅返回具有指定问题标签的服务.
格式: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
空array返回所有服务.

可能operator值:
0 - (默认) 包含;
1 - 等于;
2 - 不包含;
3 - 不等于;
4 - 存在;
5 - 不存在.
without_problem_tags flag 仅返回没有问题标签的服务.
slaids ID/array 仅返回链接到特定SLA的服务.
selectChildren query 返回包含child serviceschildren属性.

支持count.
selectParents query 返回包含parent servicesparents属性.

支持count.
selectTags query 返回包含服务标签的tags属性.

支持count.
selectProblemEvents query 返回包含问题事件objectsarray的problem_events属性.

问题事件object具有以下属性:
eventid - (ID) 事件ID;
severity - (string) 当前事件严重性;
name - (string) 已解决事件名称.

支持count.
selectProblemTags query 返回包含问题标签的problem_tags属性.

支持count.
selectStatusRules query 返回包含状态规则的status_rules属性.

支持count.
selectStatusTimeline object/array 返回包含指定时间段内服务状态变更的status_timeline属性.

格式[{"period_from": "<period_from>", "period_to": "<period_to>"}, ...] - period_from为起始日期(包含; integer时间戳), period_to为结束日期(不包含; integer时间戳).

返回包含start_value属性和指定时间段内状态变更alarmsarray的条目array.
sortfield string/array 按指定属性排序结果.

可能值: serviceid, name, status, sortorder, created_at.
countOutput boolean 这些参数在通用get方法参数中有描述.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

返回值

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

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

示例

检索所有服务

获取所有服务及其依赖项的完整数据

执行请求:

{
           "jsonrpc": "2.0",
           "method": "service.get",
           "params": {
               "output": "extend",
               "selectChildren": "extend",
               "selectParents": ["serviceid", "name"]
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "serviceid": "1",
                   "name": "Zabbix cluster",
                   "status": "-1",
                   "algorithm": "2",
                   "sortorder": "0",
                   "weight": "0",
                   "propagation_rule": "0",
                   "propagation_value": "0",
                   "description": "",
                   "uuid": "8d77bd91b62347e4b79382912eb5df95",
                   "created_at": "1761742392",
                   "readonly": false,
                   "parents": [],
                   "children": [
                       {
                           "serviceid": "2",
                           "name": "Zabbix server node 1",
                           "status": "-1",
                           "algorithm": "2",
                           "sortorder": "0",
                           "weight": "0",
                           "propagation_rule": "0",
                           "propagation_value": "0",
                           "description": "",
                           "uuid": "195911d26d7f4e218d6217079bcd5929",
                           "created_at": "1761742623",
                           "readonly": false
                       },
                       {
                           "serviceid": "3",
                           "name": "Zabbix server node 2",
                           "status": "-1",
                           "algorithm": "2",
                           "sortorder": "0",
                           "weight": "0",
                           "propagation_rule": "0",
                           "propagation_value": "0",
                           "description": "",
                           "uuid": "9fc659a30fe244f690dff25fc2a9db5c",
                           "created_at": "1761742654",
                           "readonly": false
                       }
                   ]
               },
               {
                   "serviceid": "2",
                   "name": "Zabbix server node 1",
                   "status": "-1",
                   "algorithm": "2",
                   "sortorder": "0",
                   "weight": "0",
                   "propagation_rule": "0",
                   "propagation_value": "0",
                   "description": "",
                   "uuid": "195911d26d7f4e218d6217079bcd5929",
                   "created_at": "1761742623",
                   "readonly": false,
                   "parents": [
                       {
                           "serviceid": "1",
                           "name": "Zabbix cluster"
                       }
                   ],
                   "children": []
               },
               {
                   "serviceid": "3",
                   "name": "Zabbix server node 2",
                   "status": "-1",
                   "algorithm": "2",
                   "sortorder": "0",
                   "weight": "0",
                   "propagation_rule": "0",
                   "propagation_value": "0",
                   "description": "",
                   "uuid": "9fc659a30fe244f690dff25fc2a9db5c",
                   "created_at": "1761742654",
                   "readonly": false,
                   "parents": [
                       {
                           "serviceid": "1",
                           "name": "Zabbix cluster"
                       }
                   ],
                   "children": []
               }
           ],
           "id": 1
       }

来源

CService::get() 在 ui/include/classes/api/services/CService.php 中。