consul API接口运维

集群状态日常命令

1 # 查集群critical
2 curl http://IP:8500/v1/health/state/critical
3 
4 # 清理注册节点
5 curl -XPUT http://IP:8500/v1/agent/service/deregister/{ServiceID} 
6 
7 # 注册服务
8 curl -XPUT http://IP:8500/v1/agent/service/register

consul的主要接口是RESTful HTTP API,该API可以用来增删查改nodes、services、checks、configguration。

1 kv     - Key/Value存储
2 agent     - Agent控制
3 catalog     - 管理nodes和services
4 health     - 管理健康监测
5 session     - Session操作
6 acl     - ACL创建和管理
7 event     - 用户Events
8 status     - Consul系统状态

agent endpoints:agent endpoints用来和本地agent进行交互,一般用来服务注册和检查注册。

 1 /v1/agent/checks :     返回本地agent注册的所有检查(包括配置文件和HTTP接口)
 2 /v1/agent/services :     返回本地agent注册的所有 服务
 3 /v1/agent/members :     返回agent在集群的gossip pool中看到的成员
 4 /v1/agent/self :     返回本地agent的配置和成员信息
 5 /v1/agent/join/<address> :     触发本地agent加入node
 6 /v1/agent/force-leave/<node>>:     强制删除node
 7 /v1/agent/check/register :     在本地agent增加一个检查项,使用PUT方法传输一个json格式的数据
 8 /v1/agent/check/deregister/<checkID> :     注销一个本地agent的检查项
 9 /v1/agent/check/pass/<checkID> :     设置一个本地检查项的状态为passing
10 /v1/agent/check/warn/<checkID> :     设置一个本地检查项的状态为warning
11 /v1/agent/check/fail/<checkID> :     设置一个本地检查项的状态为critical
12 /v1/agent/service/register :     在本地agent增加一个新的服务项,使用PUT方法传输一个json格式的数据
13 /v1/agent/service/deregister/<serviceID> :     注销一个本地agent的服务项

catalog endpoints:catalog endpoints用来注册/注销nodes、services、checks

 1 /v1/catalog/register :     Registers a new node, service, or check
 2  
 3 /v1/catalog/deregister :     Deregisters a node, service, or check
 4  
 5 /v1/catalog/datacenters :     Lists known datacenters
 6  
 7 /v1/catalog/nodes :     Lists nodes in a given DC
 8  
 9 /v1/catalog/services :     Lists services in a given DC
10  
11 /v1/catalog/service/<service> :     Lists the nodes in a given service
12  
13 /v1/catalog/node/<node> :     Lists the services provided by a node

health endpoints:health endpoints用来查询健康状况相关信息,该功能从catalog中单独分离出来

1 /v1/healt/node/<node>:     返回node所定义的检查,可用参数?dc=
2 /v1/health/checks/<service>:     返回和服务相关联的检查,可用参数?dc=
3 /v1/health/service/<service>:     返回给定datacenter中给定node中service
4 /v1/health/state/<state>:     返回给定datacenter中指定状态的服务,state可以是"any", "unknown", "passing", "warning", or "critical",可用参数?dc=

session endpoints:session endpoints用来create、update、destory、query sessions

1 /v1/session/create:     Creates a new session
2 /v1/session/destroy/<session>:     Destroys a given session
3 /v1/session/info/<session>:     Queries a given session
4 /v1/session/node/<node>:     Lists sessions belonging to a node
5 /v1/session/list:     Lists all the active sessions

acl endpoints:acl endpoints用来create、update、destory、query acl

1 /v1/acl/create:     Creates a new token with policy
2 /v1/acl/update:     Update the policy of a token
3 /v1/acl/destroy/<id>:     Destroys a given token
4 /v1/acl/info/<id>:     Queries the policy of a given token
5 /v1/acl/clone/<id>:     Creates a new token by cloning an existing token
6 /v1/acl/list:     Lists all the active tokens

event endpoints:event endpoints用来fire新的events、查询已有的events

1 /v1/event/fire/<name>:     触发一个新的event,用户event需要name和其他可选的参数,使用PUT方法
2 /v1/event/list:     返回agent知道的events

status endpoints:status endpoints用来或者consul 集群的信息

1 /v1/status/leader :     返回当前集群的Raft leader
2 /v1/status/peers :     返回当前集群中同事


posted @ 2020-01-06 20:32  ︻◣_蝸犇り~  阅读(1213)  评论(0编辑  收藏  举报