获取

描述

integer/array service.get(object parameters)

此方法允许根据给定的参数检索服务。 :::请注意 此方法允许任何用户使用。可以在用户角色设置中撤销调用此方法的权限。更多信息请查看 用户角色。 :::

参数

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

该方法支持以下参数。

参数 类型 描述
serviceids ID/array 仅返回具有给定 ID 的服务。
parentids ID/array 仅返回链接到给定父服务的服务。
deep_parentids flag 返回所有直接和间接子服务。与 parentids 一起使用。
childids ID/array 仅返回链接到给定子服务的服务。
evaltype integer 标签评估方法

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

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

可能的operator值:
0 - (默认) 包含;
1 - 等于;
2 - 不包含;
3 - 不等于;
4 - 存在;
5 - 不存在。
without_problem_tags flag 仅返回不带问题标签的服务。
slaids ID/array 仅返回链接到特定 SLA 的服务。
selectChildren query 返回一个 children 属性,其中包含子服务

支持 count
selectParents query 返回一个 parents 属性,其中包含父服务

支持 count
selectTags query 返回一个 tags 属性,其中包含服务标签。

支持 count
selectProblemEvents query 返回一个 problem_events 属性,其中包含问题事件对象数组。

问题事件对象具有以下属性:
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 属性以及一个 alarms 数组,用于表示指定时间段内的状态变更。
sortfield string/array 按给定属性对结果进行排序。

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

返回值

(整型/数组) 返回其中之一:

  • 一个对象数组;
  • 如果使用countOutput参数,被检索对象的数量。

示例

检索所有服务

检索所有服务及其依赖关系的全部数据。

请求

{
    "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() in ui/include/classes/api/services/CService.php.