Grafana / Prometheus / 监控平台 / 系统运维

Prometheus结合Consul实现服务自动发现注册

浅时光博客 · 12月6日 · 2021年 · 9.8w 次已读

一、环境规划和初始化


1、环境规划

主机名服务器IP应用程序用途
consul01192.168.66.130consul服务发现、服务注册
consul02192.168.66.131consul
consul03192.168.66.132consul
prometheus192.168.66.133Prometheus Grafana Altermanager PrometheusAlert监控、数据展示、告警
node_export192.168.66.134node_export节点监控
Nginx-LB192.168.66.135nginx负载均衡

2、配置主机名

  • 所有节点执行
[root@localhost ~]# hostnamectl set-hostname xxxx

3、关闭防护墙

systemctl stop firewalld && systemctl disable firewalld && systemctl status firewalld
systemctl stop NetworkManager && systemctl disable NetworkManager && systemctl status NetworkManager

4、关闭SELinux

sed -ri 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0 && getenforce

二、Consul集群部署


1、下载安装包

#consul节点服务器执行下面的命令
mkdir /opt/soft
cd /opt/soft
wget https://releases.hashicorp.com/consul/1.10.3/consul_1.10.3_linux_amd64.zip

#创建数据目录
mkdir -p /data/consul

2、解压并安装

unzip consul_1.10.3_linux_amd64.zip -d /usr/local/
cp /usr/local/consul /usr/local/bin/

(1)通过systemd托管

#consul01节点
cat > /usr/lib/systemd/system/consul.service <<EOF
[Unit]
Description=Prometheus consul
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=consul agent -server -bootstrap-expect=3 -data-dir=/data/consul -client=0.0.0.0 -datacenter=consul -bind=192.168.66.130 -ui
# data-dir 数据目录
# datacenter 数据中心名
# -bind绑定网卡,解决主机多张网卡冲突无法绑定的问题
[Install]
WantedBy=multi-user.target
EOF


#consul02节点
cat > /usr/lib/systemd/system/consul.service <<EOF
[Unit]
Description=Prometheus consul
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/local/consul agent -server -bootstrap-expect=3 -data-dir=/data/consul -client=0.0.0.0 -datacenter=consul -bind=192.168.66.131 -ui -join=192.168.66.130
# data-dir 数据目录
# datacenter 数据中心名
# join 需要加入的server的ip,我这里是192.168.66.130
# -bind绑定网卡,解决主机多张网卡冲突无法绑定的问题
[Install]
WantedBy=multi-user.target
EOF


#consul03节点
cat > /usr/lib/systemd/system/consul.service <<EOF
[Unit]
Description=Prometheus consul
After=local-fs.target network-online.target network.target
Wants=local-fs.target network-online.target network.target
[Service]
User=root
Group=root
Type=simple
ExecStart=/usr/local/consul agent -server -bootstrap-expect=3 -data-dir=/data/consul -client=0.0.0.0 -datacenter=consul -bind=192.168.66.132 -ui -join=192.168.66.130
# data-dir 数据目录
# datacenter 数据中心名
# join 需要加入的server的ip,我这里是192.168.66.130
# -bind绑定网卡,解决主机多张网卡冲突无法绑定的问题
[Install]
WantedBy=multi-user.target
EOF

(2)启动consul服务

  • 三台consul节点执行下面的命令
systemctl daemon-reload
systemctl start consul
systemctl enable consul
systemctl status consul

4、验证集群状态

[root@consul01 ~]# consul operator raft list-peers
  • 浏览器输入任意Consul节点IP加8500端口访问

二、Prometheus部署


三、Grafana部署


文章来源(Source):https://dqzboy.com

监控神器Prome文章来源(Source):https://dqzboy.comtheus+Grafana安装部署

2020-2-20 6

四、Consul集群负载


温馨提示: 隐藏内容,请在本页留言并刷新页面查看。登入账号需绑定邮箱! 点击此处绑定邮箱

4、检查服务是否正常注册


本文作者:浅时光博客
原文链接:https://www.dqzboy.com/9297.html
版权声明:知识共享署名-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)协议进行许可,转载时请以>超链接形式标明文章原始出处和作者信息
免责声明:本站内容仅供个人学习与研究,严禁用于商业或非法目的。请在下载后24小时内删除相应内容。继续浏览或下载即表明您接受上述条件,任何后果由用户自行承担。

26 条回应

必须 注册 为本站用户, 登录 后才可以发表评论!

  1. svsky福建·厦门2024-6-24 · 15:01

    感谢楼主分享

  2. Dan_607山东·济南2024-4-18 · 15:18

    感谢楼主分享

  3. 呵呵一笑江苏·南京2023-5-30 · 21:30

    感谢楼主分享

  4. ___浮誇、海南·海口2023-5-29 · 16:00

    感谢楼主分享

  5. ppopp520加拿大2023-4-13 · 11:42

    感谢楼主分享,干货满满,学习了。

  6. wolasix上海2023-3-4 · 21:04

    感谢楼主分享