Prometheus: ansible+consul自动发现,监控服务器

文章目录

  • 一,安装部署ansible和准备hosts文件
  • 二, docker里面运行consul
  • 三, 准备ansible所需要的脚本,软件等
    • 3.1 在ansible目录下准备node_exporter的tar包
    • 3.2 用systemd来管理node_exporter
    • 3.3 准备consul服务注册脚本
    • 3.4 准备playbook.yml
  • 四, 准备Prometheus.yml的配置文件
  • 五, 执行playbook.yml

一,安装部署ansible和准备hosts文件

注: 我把Prometheus和grafana的目录都放在新建目录/opt/monitor中,为方便管理,在其目录下创建ansible目录,所需要的文件,脚本都放在ansible下

注,ansible后面的操作,都在/opt/monitor/ansible/目录下完成

vim /opt/monitor/ansible/hosts

“name=” 是后面需要用到的定义的变量,在这里放一百台服务器ip也行,看自己需求,分组

二, docker里面运行consul

单独下载consul太麻烦,我直接是拉去容器方式(容器安装步骤,在我另一篇博客的过程中 请点击查看

注: consul可以部署在任何一台服务器上,只要能注册服务即可,我部署在Prometheus服务器上
检测是否部署成功 local hosts:8500

三, 准备ansible所需要的脚本,软件等

3.1 在ansible目录下准备node_exporter的tar包

可以去官网下载,也可以到我的百度网盘提取,百度网盘分享 提取码cjcj 请点击这里

3.2 用systemd来管理node_exporter

vim /opt/monitor/ansible/node_exporter.service

3.3 准备consul服务注册脚本

vim /opt/monitor/ansible/consul_register.sh

解释:service_name 相当于Prometheus当中的job_name,相当于分组,然后脚本中tags:service_name便是consul的标签,附上图片解释一下变量

Prometheus: ansible+consul自动发现,监控服务器
Prometheus: ansible+consul自动发现,监控服务器

四, 准备Prometheus.yml的配置文件

vim /opt/monitor/prometheus/prometheus.yml

注意,更改配置之后 检查Prometheus的pid,然后 kill -HUP pid 来进行reload
如果担心语法有误,可以进入到Prometheus目录下,执行:

五, 执行playbook.yml

执行之前做免密(博客ansible部署zabbix-agent有过详细步骤,故省略,可以点击此处),或者用ansible-playbook -i hosts -uroot -k 然后输入密码来执行。不过这种输入密码可能出现以下报错

Prometheus: ansible+consul自动发现,监控服务器
我用的免密,然后执行:

Prometheus: ansible+consul自动发现,监控服务器

文章知识点与官方知识档案匹配,可进一步学习相关知识云原生入门技能树首页概览8698 人正在系统学习中

来源:陈骄

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年10月6日
下一篇 2022年10月6日

相关推荐