Prometheus Grafana IT 监控和告警最佳实践 5

小夏 科技 更新 2024-01-31

大家好,我是小飞,今天就说说批量安装。

前面的描述介绍了如何使用 Prometheus + Grafana + AlertManager + Prometheus-Webhook 构建一个完整的监控告警平台。

查看前 4 篇文章:

设置 Prometheus + Grafana 的 IT 监控 和 告警 的 最佳实践 (1)Best Practices for Setting up IT Monitoring and Alerting for Prometheus + Grafana (2)Best practices for Setting up IT Monitoring and Alerting for Prometheus + Grafana (3)Best practices for Setting up IT Monitoring and Alerting for Prometheus + Grafana (4)查看原文查看译文 (4).

今天,我们来解释一下,节点导出器批量安装在所有 400 台机器上,用于收集 400 台虚拟机的监控信息。

在这个描述下,本来想用Ansible批量安装,但是因为Ansible需要配置hosts文件,而且主机很多,SSH的用户密码登录很麻烦,而且每台机器上的用户密码都需要配置一个密钥登录,内部使用jumpserver作为内部堡垒主机来控制所有机器, 所以我想直接使用jumpserver自带的Ansible批量安装,而Ansible是集中在jumpserver中,并且Web界面中有批量命令功能,所以可以直接使用批量命令安装。

打开jumpserver界面,jumpserver的使用方法这里就不讲解了,不确定可以查看官方文档。

打开批量命令:

这里我需要安装其他184台机器,直接检查:

然后编写一个批量安装脚本:

#!/bin/bash#supports system:ubuntu18.04,ubuntu20.04cd ~sudo wget tar -xf node_exporter-1.4.0.linux-amd64.tar.gzsudo mv ~/node_exporter-1.4.0.linux-amd64 node_exportersudo rm -rf ~/node_exporter-1.4.0.linux-amd64.tar.gzsudo groupadd prometheussudo useradd -g prometheus -s /sbin/nologin prometheus -msudo chown -r prometheus:prometheus ~/node_exportersudo cat > node_exporter.服务脚本写好后,需要把脚本放到某台机器或者oss上,或者放在网盘上,可以使用wget或者curl后面的scp**,这里我直接把脚本放到oss里,因为脚本依赖于node exporter-14.0.linux-amd64.tar.GZ压缩包,同时上传到OSS,因为github上的链接不稳定,速度太慢。 

在 jumpserver 批处理脚本中,只需执行以下脚本:

wget &&chmod +x deploy-ubuntu.sh &&/deploy-ubuntu.sh

如图所示

安装失败的顺序如下:

网络未连接,虚拟机磁盘已满,磁盘没有空间,用户没有权限,脚本不授予执行权限,安装包失败,请确保安装包不是github的链接路径,建议确保完整(不完整的安装包无法解压), 防止它进入内部OSS空间,并获取OSS的**链接。现在你需要将这 184 台机器的 IP 写入到 Prometheus 文件服务发现的配置文件中,我在这里提供了一个基本的 YML 模板:

- labels: service: it-monitor brand: dell owner: zhangsan targets: -172.17.40.51:9100 - 172.17.40.54:9100 #
就是这样,刷新配置文件:curl -x post localhost:9090 - reload

打开 Prometheus 的配置文件控制台,可以看到 184 个监控目标,Ansible 批量安装,接下来的切换就可以说明了。

相似文章