获取
描述
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 | 按给定属性对结果进行排序。 可能的值: serviceid、name、status、sortorder、created_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.