hanode.get

描述

integer/array hanode.get(object parameters)

该方法允许根据给定的参数检索高可用性集群节点的列表。

此方法仅适用于超级管理员用户类型。 更多信息,请参见User roles

参数

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

该方法支持以下参数。

参数 数据类型 描述
ha_nodeids ID/array 仅返回具有指定节点ID的节点。
filter object 仅返回与指定过滤条件完全匹配的结果。

接受一个 object,其中键为属性名称,值可以是单个值或一个 array 值用于匹配。

支持的属性包括:nameaddressstatus
sortfield string/array 按照指定的属性对结果进行排序。

可能的值包括:namelastaccessstatus
countOutput flag 这些参数在 通用get方法参数 中有描述。
limit integer
output query
preservekeys boolean
sortorder string/array

返回值

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

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

示例

获取按状态排序的节点列表

执行请求:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "preservekeys": true,
               "sortfield": "status",
               "sortorder": "DESC"
           },
           "id": 1
       }

Response:

{
         "jsonrpc": "2.0",
         "result": {
           "ckuo7i1nw000h0sajj3l3hh8u": {
             "ha_nodeid": "ckuo7i1nw000h0sajj3l3hh8u",
             "name": "node-active",
             "address": "192.168.1.13",
             "port": "10051",
             "lastaccess": "1635335704",
             "status": "3"
           },
           "ckuo7i1nw000e0sajwfttc1mp": {
             "ha_nodeid": "ckuo7i1nw000e0sajwfttc1mp",
             "name": "node6",
             "address": "192.168.1.10",
             "port": "10053",
             "lastaccess": "1635332902",
             "status": "2"
           },
           "ckuo7i1nv000c0sajz85xcrtt": {
             "ha_nodeid": "ckuo7i1nv000c0sajz85xcrtt",
             "name": "node4",
             "address": "192.168.1.8",
             "port": "10052",
             "lastaccess": "1635334214",
             "status": "1"
           },
           "ckuo7i1nv000a0saj1fcdkeu4": {
             "ha_nodeid": "ckuo7i1nv000a0saj1fcdkeu4",
             "name": "node2",
             "address": "192.168.1.6",
             "port": "10051",
             "lastaccess": "1635335705",
             "status": "0"
           }
         },
         "id": 1
       }

按节点ID获取特定节点列表

执行请求:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "ha_nodeids": ["ckuo7i1nw000e0sajwfttc1mp", "ckuo7i1nv000c0sajz85xcrtt"]
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "ha_nodeid": "ckuo7i1nv000c0sajz85xcrtt",
                   "name": "node4",
                   "address": "192.168.1.8",
                   "port": "10052",
                   "lastaccess": "1635334214",
                   "status": "1"
               },
               {
                   "ha_nodeid": "ckuo7i1nw000e0sajwfttc1mp",
                   "name": "node6",
                   "address": "192.168.1.10",
                   "port": "10053",
                   "lastaccess": "1635332902",
                   "status": "2"
               }
           ],
           "id": 1
       }

获取已停止节点列表

执行请求:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "output": ["ha_nodeid", "address", "port"],
               "filter": {
                   "status": 1
               }
           },
           "id": 1
       }

Response:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "ha_nodeid": "ckuo7i1nw000g0sajjsjre7e3",
                   "address": "192.168.1.12",
                   "port": "10051"
               },
               {
                   "ha_nodeid": "ckuo7i1nv000c0sajz85xcrtt",
                   "address": "192.168.1.8",
                   "port": "10052"
               },
               {
                   "ha_nodeid": "ckuo7i1nv000d0sajd95y1b6x",
                   "address": "192.168.1.9",
                   "port": "10053"
               }
           ],
           "id": 1
       }

获取备用节点数量

执行请求:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "countOutput": true,
               "filter": {
                   "status": 0
               }
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": "3",
           "id": 1
       }

检查特定IP地址节点的状态

执行请求:

{
           "jsonrpc": "2.0",
           "method": "hanode.get",
           "params": {
               "output": ["name", "status"],
               "filter": {
                   "address": ["192.168.1.7", "192.168.1.13"]
               }
           },
           "id": 1
       }

响应:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "name": "node3",
                   "status": "0"
               },
               {
                   "name": "node-active",
                   "status": "3"
               }
           ],
           "id": 1
       }

来源

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