|
|
- -module(agCluster).
- -include("erlArango.hrl").
-
- -compile(inline).
- -compile({inline_size, 128}).
- -compile([export_all, nowarn_export_all]).
-
- %% doc_address:https://www.arangodb.com/docs/stable/http/cluster.html
-
- % 集群的HTTP接口
- % 本章介绍了ArangoDB群集的REST API。
- % 服务器ID
- % 服务器角色
- % 集群统计
- % 集群健康
- % 集群维护
- % 机构
- % 如何修复与坏簇distributeShardsLike集在描述修理章节。
-
-
- % 了解服务器的内部ID
- % GET /_admin/server/id
- % 返回集群中服务器的ID。如果服务器未在集群模式下运行,则请求将失败。
- % 返回码
- % 200:当服务器以群集模式运行时返回。
- % 500:当服务器未在群集模式下运行时返回。
- serverId(PoolNameOrSocket) ->
- agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, <<"/_admin/server/id">>, [], undefined).
-
- % 返回集群中服务器的角色
- % GET /_admin/server/role
- % 返回集群中服务器的角色。该角色在结果的role属性中返回。角色的可能返回值是:
- % SINGLE:服务器是没有集群的独立服务器
- % COORDINATOR:服务器是集群中的协调器
- % PRIMARY:服务器是集群中的DB-Server
- % SECONDARY:不再使用此角色
- % AGENT:服务器是集群中的代理节点
- % UNDEFINED:在集群中,如果无法确定服务器角色,则返回UNDEFINED。
- % 在所有情况下均返回HTTP 200。
- % error:始终为假
- % code:HTTP状态码,始终为200
- % errorNum:服务器错误号
- % role:之一[ SINGLE,COORDINATOR,PRIMARY,SECONDARY,AGENT,UNDEFINED ]
- serverRole(PoolNameOrSocket) ->
- agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, <<"/_admin/server/role">>, [], undefined).
-
- % 数据库服务器的查询统计信息
- % 允许查询集群中DB-Server的统计信息
- % GET /_admin/clusterStatistics
- % 查询参数
- % DBserver(必填):查询给定DB-Server的统计信息
- % 返回码
- % 200:
- % 400:数据库服务器的ID
- % 403:
- clusterStats(PoolNameOrSocket, QueryPars) ->
- QueryBinary = agMiscUtils:spellQueryPars(QueryPars),
- agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, <<"/_admin/clusterStatistics", QueryBinary/binary>>, [], undefined).
-
- % 返回监督(机构)评估的集群的运行状况
- % GET /_admin/cluster/health
- % 查询群集的运行状况以进行监视。该响应是一个JSON对象,包含标准code,error,errorNum,和errorMessage字段适当。特定于端点的字段如下:
- % ClusterId:标识集群的UUID字符串
- % Health:一个对象,该对象包含群集中每个节点的描述性子对象。
- % <nodeID>:中的每个条目Health将由节点ID键入,并包含以下属性:
- % Endpoint:代表服务器网络端点的字符串。
- % Role:服务器扮演的角色。可能的值是"AGENT","COORDINATOR"和"DBSERVER"。
- % CanBeDeleted:布尔值,表示是否可以安全地从群集中删除节点。
- % Version:该节点使用的ArangoDB的版本字符串。
- % Engine:该节点使用的存储引擎。
- % Status:指示监督(机构)评估的节点运行状况的字符串。对于协调器和DB-Servers节点运行状况,应将其视为真实的主要来源。如果节点正常响应请求,则为"GOOD"。如果错过了一个心跳,那就是"BAD"。如果在缺少心跳约15秒钟后通过监督宣布它失败,则会对其进行标记"FAILED"。
- % 此外,它还将具有以下属性:
- % 协调器和数据库服务器
- % SyncStatus:节点上次报告的同步状态。该值主要用于确定的值Status。可能的值包括"UNKNOWN","UNDEFINED","STARTUP","STOPPING","STOPPED","SERVING","SHUTDOWN"。
- % LastAckedTime:ISO 8601时间戳记,指定接收到的最后一个心跳。
- % ShortName:代表服务器的简称的字符串,例如"Coordinator0001"。
- % Timestamp:ISO 8601时间戳记,指定接收到的最后一个心跳。(已弃用)
- % Host:可选字符串,指定主机(如果已知)。
- % 仅协调员
- % AdvertisedEndpoint:表示已播报端点的字符串(如果已设置)。(例如,外部IP地址或负载平衡器,可选)
- % 代理商
- % Leader:此节点视为领导者的代理的ID。
- % Leading:此座席是否为领导者(true)或不是(false)。
- % LastAckedTime:自上次以来的时间(acked以秒为单位)。
- % 返回码
- % 200:
- clusterHealth(PoolNameOrSocket) ->
- agHttpCli:callAgency(PoolNameOrSocket, ?AgGet, <<"/_admin/cluster/health">>, [], undefined).
-
- % 启用或禁用集群监督(代理)维护模式
- % PUT /_admin/cluster/maintenance
- % 通过此API,您可以临时启用监督维护模式。请注意,启用维护模式后,不会进行任何类型的自动故障转移。该集群监控会自动重新激活自身60分钟禁用后。
- % 要启用维护模式,请求正文必须包含字符串"on"。要禁用它,请发送字符串"off"(请注意,该字符串 必须为小写并包括引号)。
- % 返回码
- % 200:
- % 400:
- % 501:
- % 504:
- setClusterMaintenance(PoolNameOrSocket, OnOrOff) ->
- agHttpCli:callAgency(PoolNameOrSocket, ?AgPut, <<"/_admin/cluster/maintenance">>, [], OnOrOff).
-
- %%%%%%%%%%%%%%% Agency ??????????????????????????
-
-
-
-
-
|