http API列表,具体还请参照官方文档对照:https://www.consul.io/api
agent
agent endpoints用来和本地agent进行交互,一般用来服务注册和检查注册
/v1/agent/checks : 返回本地agent注册的所有检查(包括配置文件和HTTP接口)
/v1/agent/services : 返回本地agent注册的所有 服务
/v1/agent/members : 返回agent在集群的gossip pool中看到的成员
/v1/agent/self : 返回本地agent的配置和成员信息
/v1/agent/join/<address> : 触发本地agent加入node
/v1/agent/force-leave/<node>>: 强制删除node
/v1/agent/check/register : 在本地agent增加一个检查项,使用PUT方法传输一个json格式的数据
/v1/agent/check/deregister/<checkID> : 注销一个本地agent的检查项
/v1/agent/check/pass/<checkID> : 设置一个本地检查项的状态为passing
/v1/agent/check/warn/<checkID> : 设置一个本地检查项的状态为warning
/v1/agent/check/fail/<checkID> : 设置一个本地检查项的状态为critical
/v1/agent/service/register : 在本地agent增加一个新的服务项,使用PUT方法传输一个json格式的数据
/v1/agent/service/deregister/<serviceID> : 注销一个本地agent的服务项
示例:
返回本地agent注册的所有服务
http://itsvse:8500/v1/agent/services
{
"20210305111225232--1862594008": {
"ID": "20210305111225232--1862594008",
"Service": "Itsvse.API",
"Tags": ["测试"],
"Meta": {
"Product": "架构师",
"Version": "3.9.0.0"
},
"Port": 9002,
"Address": "192.168.130.7",
"TaggedAddresses": {
"lan_ipv4": {
"Address": "192.168.130.7",
"Port": 9002
},
"wan_ipv4": {
"Address": "192.168.130.7",
"Port": 9002
}
},
"Weights": {
"Passing": 1,
"Warning": 1
},
"EnableTagOverride": false
},
"20210305111244420-950221525": {
"ID": "20210305111244420-950221525",
"Service": "Itsvse.Web.Background",
"Tags": ["测试2"],
"Meta": {
"Product": "架构师",
"Version": "3.9.0.0"
},
"Port": 9001,
"Address": "192.168.130.7",
"TaggedAddresses": {
"lan_ipv4": {
"Address": "192.168.130.7",
"Port": 9001
},
"wan_ipv4": {
"Address": "192.168.130.7",
"Port": 9001
}
},
"Weights": {
"Passing": 1,
"Warning": 1
},
"EnableTagOverride": false
},
"20210305111246746-1271993326": {
"ID": "20210305111246746-1271993326",
"Service": "Itsvse.Web",
"Tags": ["测试3"],
"Meta": {
"Product": "架构师",
"Version": "3.9.0.0"
},
"Port": 9003,
"Address": "192.168.130.7",
"TaggedAddresses": {
"lan_ipv4": {
"Address": "192.168.130.7",
"Port": 9003
},
"wan_ipv4": {
"Address": "192.168.130.7",
"Port": 9003
}
},
"Weights": {
"Passing": 1,
"Warning": 1
},
"EnableTagOverride": false
}
}
catalog
catalog endpoints用来注册/注销nodes、services、checks
/v1/catalog/register : Registers a new node, service, or check (建议用agent方法
/v1/catalog/deregister : Deregisters a node, service, or check (建议用agent方法
/v1/catalog/datacenters : Lists known datacenters
/v1/catalog/nodes : Lists nodes in a given DC
/v1/catalog/services : Lists services in a given DC
/v1/catalog/service/<service> : Lists the nodes in a given service
/v1/catalog/node/<node> : Lists the services provided by a node
注意: agent和catalog区别(agent获取当前节点上的注册的数据,catalog获取所有)
获取所有服务的信息
http://itsvse:8500/v1/catalog/services
{
"Itsvse.API": ["测试"],
"Itsvse.Web.Background": ["测试1"],
"Itsvse.Web": ["测试2"],
"consul": []
} health
health endpoints用来查询健康状况相关信息,该功能从catalog中单独分离出来
/v1/healt/node/<node>: 返回node所定义的检查,可用参数?dc=
/v1/health/checks/<service>: 返回和服务相关联的检查,可用参数?dc=
/v1/health/service/<service>: 返回给定datacenter中给定node中service
/v1/health/state/<state>: 返回给定datacenter中指定状态的服务,state可以是"any", "unknown", "passing", "warning", or "critical",可用参数?dc=
session
session endpoints用来create、update、destory、query sessions
/v1/session/create: Creates a new session
/v1/session/destroy/<session>: Destroys a given session
/v1/session/info/<session>: Queries a given session
/v1/session/node/<node>: Lists sessions belonging to a node
/v1/session/list: Lists all the active sessions
acl
acl endpoints用来create、update、destory、query acl
/v1/acl/create: Creates a new token with policy
/v1/acl/update: Update the policy of a token
/v1/acl/destroy/<id>: Destroys a given token
/v1/acl/info/<id>: Queries the policy of a given token
/v1/acl/clone/<id>: Creates a new token by cloning an existing token
/v1/acl/list: Lists all the active tokens
kv
put /v1/kv/key
get /v1/kv/key
delete /v1/kv/k
eyevent
event endpoints用来fire新的events、查询已有的events
/v1/event/fire/<name>: 触发一个新的event,用户event需要name和其他可选的参数,使用PUT方法
/v1/event/list: 返回agent知道的events
status
status endpoints用来或者consul 集群的信息
/v1/status/leader : 返回当前集群的Raft leader
/v1/status/peers : 返回当前集群中同事
|