5

Consul的不专业用法介绍

 2 years ago
source link: https://zhanggq.github.io/post/zgq-paas-consul/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Consul,一个做服务发现的框架,目前听说常用于微服务架构中的服务发现,而本文主要用它的Health Checking功能来做一个简单的网卡检测。

一、Consul

什么是Consul,官网中介绍到,它是一个全功能的控制面,主要提供了以下几个功能:

  • Service Discovery 服务发现 – Consul通过DNS或者HTTP接口提供服务注册功能;
  • Health Checking 健康检查 – Consul可以通过配置制定监控检查规则;
  • KV Store key/value存储 – 上层应用可以将Consul的KV存储用于不同的使用场景,动态配置、特征标记等等;
  • Secure Service Communication 服务通信安全 – Consul可以生成和分发TLS证书,以建立相互的TLS连接,控制是否允许通信,用于代替复杂的防火墙策略;
  • Multi Datacenter 多数据中心 – Consul支持多数据中心,无需复杂的配置,即可支持任意数量的区域。

这里,本文只介绍Consul一个偏门的用法,用它的Health Checking功能来做一个简单的网卡检测。

本次模拟环境共五台服务机,服务器集群如下图所示,本次测试的目的是通过三个Consul集群来监控所有服务器的三个网卡状态。

toMarEh.png

另外,为了防止各种意外问题,先把防火墙之类的都停掉

systemctl stop firewalld && systemctl disable firewalld
setenforce 0
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/sysconfig/selinux
sed -i "s/^SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/sysconfig/selinux
sed -i "s/^SELINUX=permissive/SELINUX=disabled/g" /etc/selinux/config

三、eth0集群配置

三台Server节点首先增加如下服务配置文件

RXJPPxg.png

接着在/etc/consul.d/目录下增加如下配置文件

e4KjVZI.png

三个节点配置完成后,启动consul-mgmt.service服务,之后检查集群状态,看到状态都是alive,且选举出来了Leader,那就说明集群正常了

LLxnPnl.png

登入http://172.16.54.148:8500/ui/mgmt/nodes检查

pa7gsgb.png

四、其它两个集群配置

同理,三台Server节点增加如下服务配置文件

kRHYyVF.png

在/etc/consul.d/目录下增加如下配置文件

Ns7K8hF.png

JITYctb.png

三个节点配置完成后,启动consul-data.service,consul-storage.service服务,之后检查集群状态

4leZL66.png

wC2YT3p.png

2S5e3Lh.png

五、Agent配置

在Agent增加如下配置,将Agent加入节点

xyVrIgf.png

zrSwArN.png

六、Down机测试

  • Down掉Server节点后如图 LPqqvWd.png

  • Down掉Agent节点后如图 blXpdqg.png

七、配合Zabbix监控

Consul监控集群搭建完成后,如何将具体的告警展现出来呢? 这里使用zabbix配合进行监控告警。具体zabbix集群搭建过程这里省略,简单讲一下zabbix监控项配置。

先创建discovery,用于检查consul的配置项,也就是说用来发现监控了那些网卡/IP

OlJ6dZ8.png

再创建三个Item prototypes,用于接收、存放Agent反馈回来的网卡信息

Jls1byz.png

AlcYeuK.png

再创建三个Item,存放每个网卡的检查结果

e1EayZB.png

zqaHdcx.png

监控结果如图

8jk3s3P.jpg

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK