![](/static/images/loading154.gif?v=dbd0f12f50cc2b56e2bce7daa36d00d0)
查看成员:`curl http://127.0.0.1:8500/v1/agent/members|python -m json.tool` 或者`consul members` 登录到agent所在机器(如果不登录agent机器,就需要在后面的api地址中把127.0.0.1改成具体的agent ip地址) 1、注册一个服务 curl -X PUT -d '{ "ID": "testcluster-DBA-cslg", "Name": "testcluster-DBA-cslg", "Tags": [ "slave", "v1" ], "Address": "10.200.131.6", "Port": 3306, "Meta": { "mysql_version": "5.7" }, "EnableTagOverride": true, "Weights": { "Passing": 10, "Warning": 1 } }' http://127.0.0.1:8500/v1/agent/service/register 查看注册的服务:`curl http://127.0.0.1:8500/v1/agent/services |python -m json.tool` 注册成功后,可通过DNS解析出来:`dig testcluster-DBA-cslg.service.test.com` ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> testcluster-DBA-cslg.service.test.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47128 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;testcluster-DBA-cslg.service.test.com. IN A ;; ANSWER SECTION: testcluster-DBA-cslg.service.test.com. 0 IN A 10.200.131.6 ;; ADDITIONAL SECTION: testcluster-DBA-cslg.service.test.com. 0 IN TXT "consul-network-segment=" ;; Query time: 1 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue May 21 16:47:34 CST 2019 ;; MSG SIZE rcvd: 118 2、注册健康检查脚本 curl -X PUT -d ' { "id": "mysql-status", "name": "mysql-status", "Args": ["/usr/local/dba/check_mysql.sh"], "Shell": "/bin/bash", "timeout": "1s", "Interval": "10s", "ServiceID":"testcluster-DBA-cslg" }' http://127.0.0.1:8500/v1/agent/check/register 3、查看检查状态 [root@cslg-10-200-131-6 checks]# curl http://127.0.0.1:8500/v1/agent/checks |python -m json.tool { "mysql-status": { "CheckID": "mysql-status", "CreateIndex": 0, "Definition": {}, "ModifyIndex": 0, "Name": "mysql-status", "Node": "consulagent", "Notes": "", "Output": "mysql: [Warning] Using a password on the command line interface can be insecure.\n", "ServiceID": "testcluster-DBA-cslg", "ServiceName": "testcluster-DBA-cslg", "ServiceTags": [ "slave", "v1" ], "Status": "passing" } } 目前服务与check已经关联,现在status是passing状态,表示是OK的:dig测试: [root@cslg-10-200-131-6 checks]# dig testcluster-DBA-cslg.service.test.com ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> testcluster-DBA-cslg.service.test.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25723 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;testcluster-DBA-cslg.service.test.com. IN A ;; ANSWER SECTION: testcluster-DBA-cslg.service.test.com. 0 IN A 10.200.131.6 ;; ADDITIONAL SECTION: testcluster-DBA-cslg.service.test.com. 0 IN TXT "consul-network-segment=" ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue May 21 16:59:09 CST 2019 ;; MSG SIZE rcvd: 118 是可以正常解析出服务地址 登录mysql进行测试: [root@cslg-10-200-131-6 ~]# mysql -h testcluster-DBA-cslg.service.test.com -uroot -p -e "select 1;" mysql: [Warning] Using a password on the command line interface can be insecure. +---+ | 1 | +---+ | 1 | +---+ 服务的健康状态,是否提供服务,是可以通过自动或者主动来屏蔽和开启的。 curl --request PUT "http://127.0.0.1:8500/v1/agent/service/maintenance/testcluster-DBA-cslg?enable=true&reason=test" 如下是详细测试: #开启服务维护 [root@cslg-10-200-131-6 checks]# curl --request PUT "http://127.0.0.1:8500/v1/agent/service/maintenance/testcluster-DBA- cslg?enable=true&reason=test" [root@cslg-10-200-131-6 checks]# [root@cslg-10-200-131-6 checks]# [root@cslg-10-200-131-6 checks]# dig testcluster-DBA-cslg.service.test.com ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> testcluster-DBA-cslg.service.test.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 42845 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;testcluster-DBA-cslg.service.test.com. IN A ;; AUTHORITY SECTION: test.com. 0 IN SOA ns.test.com. hostmaster.test.com. 1558429594 3600 600 86400 0 ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue May 21 17:06:34 CST 2019 ;; MSG SIZE rcvd: 116 #发现服务已经无法通过DNS解析出来了,API也是一样的这里就不显示了 #如下是取消维护 [root@cslg-10-200-131-6 checks]# curl --request PUT "http://127.0.0.1:8500/v1/agent/service/maintenance/testcluster-DBA- cslg?enable=false&reason=test" [root@cslg-10-200-131-6 checks]# dig testcluster-DBA-cslg.service.test.com ; <<>> DiG 9.9.4-RedHat-9.9.4-73.el7_6 <<>> testcluster-DBA-cslg.service.test.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2968 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;testcluster-DBA-cslg.service.test.com. IN A ;; ANSWER SECTION: testcluster-DBA-cslg.service.test.com. 0 IN A 10.200.131.6 ;; ADDITIONAL SECTION: testcluster-DBA-cslg.service.test.com. 0 IN TXT "consul-network-segment=" ;; Query time: 2 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Tue May 21 17:06:46 CST 2019 ;; MSG SIZE rcvd: 118
文章最后更新时间: 2019年05月22日 16:28:59
分类文章统计
Python常见错误(3)
Python基础(10)
Django(5)
Flask(1)
Linux基础(6)
shell(11)
linux排障(4)
虚拟化(1)
Consul(3)
ProxySQL(7)
SequoiaDB(2)
TiDB(4)
Redis(2)
oracle(10)
MySQL(64)
常用软件(2)
硬件排障(2)
HTML(1)
JavaScript(1)
我们的作品(18)
windows(1)
总结(1)
按年文章统计
2013(43)
2014(19)
2015(25)
2016(6)
2017(30)
2018(7)
2019(17)
2020(4)
2021(4)
2023(1)
2024(3)
老版入口
亲,扫我吧!
![ITOpers](http://imgs.itopers.com/qrcode_for_gh_51965b45f701_258.jpg)
友情链接
飞哥的:imbusy.me/
冰川的:www.mindg.cn
海洋的:hiaero.net
宏斌的:techindeep.com
若水的:nosa.me
段郎的:sixther.me
肥客联邦:fk68.net