获取

描述

integer/array dservice.get(object parameters)

此方法允许根据给定的参数检索被发现的服务。

任何类型的用户都可以使用此方法。可以在用户角色设置中撤销调用该方法的权限。参见用户角色 了解更多信息。

参数

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

该方法支持以下参数。

参数 类型 描述
dserviceids ID/数组 仅返回具有给定ID的已发现服务。
dhostids ID/数组 仅返回属于给定已发现主机的已发现服务。
dcheckids ID/数组 仅返回由给定发现检查检测到的已发现服务。
druleids ID/数组 仅返回由给定发现规则检测到的已发现服务。
selectDRules 查询 返回一个包含检测到该服务的发现规则数组的drules(发现规则)属性。
selectDHosts 查询 返回一个包含该服务所属的已发现主机数组的dhosts(已发现主机)属性。
selectHosts 查询 返回一个hosts(主机)属性,其中包含与服务具有相同IP地址和 proxy的主机。

支持count
limitSelects 整数 限制子查询返回的记录数量。

适用于以下子查询:
selectHosts - 结果将按hostid排序。
sortfield 字符串/数组 根据给定属性对结果进行排序。

可能的值:dserviceiddhostidip
countOutput 布尔值 这些参数在参考说明中描述。
editable 布尔值
excludeSearch 布尔值
filter 对象
limit 整数
output 查询
preservekeys 布尔值
search 对象
searchByAny 布尔值
searchWildcardsEnabled 布尔值
sortorder 字符串/数组
startSearch 布尔值

返回值

(integer/array) 返回其中一种结果:

  • 一个对象数组;
  • 如果使用了参数countOutput,则返回检索到的对象的数量。

示例

检索在主机上被发现的服务

检索在被发现主机“11”上检测出的所有被发现的服务。

请求

{
           "jsonrpc": "2.0",
           "method": "dservice.get",
           "params": {
               "output": "extend",
               "dhostids": "11"
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "dserviceid": "12",
                   "dhostid": "11",
                   "value": "",
                   "port": "80",
                   "status": "1",
                   "lastup": "0",
                   "lastdown": "1348650607",
                   "dcheckid": "5",
                   "ip": "192.168.1.134",
                   "dns": "john.local"
               },
               {
                   "dserviceid": "13",
                   "dhostid": "11",
                   "value": "",
                   "port": "21",
                   "status": "1",
                   "lastup": "0",
                   "lastdown": "1348650610",
                   "dcheckid": "6",
                   "ip": "192.168.1.134",
                   "dns": "john.local"
               }
           ],
           "id": 1
       }

参见

来源

ui/include/classes/api/services/CDService.php 中的 CDService::get()。