利用Prometheus实现监控所有服务器
创始人
2025-01-18 06:04:47
0次

一 、简单介绍prometheus

1.1prometheus架构原理图

1.2各种组件的功能

Prometheus Server:数据采集,数据存储,数据查询,告警,自动发现,web ui

Exporters:将非Prometheus格式的应用或服务指标转换为Prometheus可抓取的格式。

Alertmanager:处理Prometheus生成的告警,并将其发送给指定的接收者

Pushgateway:接收短期作业或批处理作业的指标数据,并允许Prometheus Server拉取

Grafana:数据可视化和监控平台,与Prometheus集成,提供图表和仪表盘展示监控数据

Client Libraries:提供在应用程序中实现自定义指标的方式,支持多种编程语言

二、二进制源码安装

1.1.将源码文件上传到ansible服务器

使用xftp直接上传文件即可

[root@nfs-ansible-prom ansible]# mkdir /prom        新建prom文件夹

[root@nfs-ansible-prom ansible]# cd /prom

[root@nfs-ansible-prom prom]# ls

grafana-enterprise-9.1.2-1.x86_64.rpm        prometheus-2.43.0.linux-amd64.tar.gz

node_exporter-1.4.0-rc.0.linux-amd64.tar.gz

1.2.解压源码包

[root@nfs-ansible-prom prom]# tar xf prometheus-2.43.0.linux-amd64.tar.gz        解压源码包

[root@nfs-ansible-prom prom]# ls

grafana-enterprise-9.1.2-1.x86_64.rpm        prometheus-2.43.0.linux-amd64

node_exporter-1.4.0-rc.0.linux-amd64.tar.gz  prometheus-2.43.0.linux-amd64.tar.gz

[root@nfs-ansible-prom prom]# mv prometheus-2.43.0.linux-amd64 prometheus        修改解压后的压缩包名字为prometheus

[root@nfs-ansible-prom prom]# ls        可以看到修改成功

grafana-enterprise-9.1.2-1.x86_64.rpm        prometheus

node_exporter-1.4.0-rc.0.linux-amd64.tar.gz  prometheus-2.43.0.linux-amd64.tar.gz

1.3.临时和永久修改PATH变量,添加prometheus的路径

[root@nfs-ansible-prom prom]# PATH=/prom/prometheus:$PATH

[root@nfs-ansible-prom prom]# echo 'PATH=/prom/prometheus:$PATH'  >>/etc/profile

1.4.把prometheus做成一个服务来进行管理,非常方便日后维护和使用

[root@nfs-ansible-prom prom]# vim /usr/lib/systemd/system/prometheus.service

[Unit]

Description=prometheus

[Service]

ExecStart=/prom/prometheus/prometheus --config.file=/prom/prometheus/prometheus.yml

ExecReload=/bin/kill -HUP $MAINPID

KillMode=process

Restart=on-failure

[Install]

WantedBy=multi-user.target

1.5.重新加载systemd相关的服务,识别Prometheus服务的配置文件并启动服务

[root@nfs-ansible-prom prom]# systemctl  daemon-reload

启动Prometheus服务

[root@nfs-ansible-prom prom]# systemctl start prometheus

[root@nfs-ansible-prom prom]# systemctl restart prometheus

[root@nfs-ansible-prom prom]# ps aux|grep prome        查看prometheus进程是否启动

root       2740  2.7  0.9 798956 37312 ?        Ssl  14:57   0:00 /prom/prometheus/prometheus --config.file=/prom/prometheus/prometheus.yml

root       2748  0.0  0.0 112824   976 pts/0    S+   14:57   0:00 grep --color=auto prome

1.6.设置开机启动

[root@nfs-ansible-prom prom]# systemctl enable prometheus

Created symlink from /etc/systemd/system/multi-user.target.wants/prometheus.service to /usr/lib/systemd/system/prometheus.service.

1.7.查看服务启动后的效果

http://192.168.203.135:9090

http://192.168.203.135:9090/metrics

三、安装exporter

1.1上传exporter到web服务器和mysql服务器

直接利用xftp工具上传node_exporter软件,也可以使用远程拷贝命令scp,或者还可以在ansible服务器中利用copy模块拷贝软件到剩余两台服务器中 ansible all -m copy  -a 'src=node_exporter-1.4.0-rc.0.linux-amd64.tar.gz dest=/root/'
 

1.2编写在其他机器上安装node_exporter的脚本

[root@nfs-ansible-prom prom]# vim install_node_exporter.sh        编写自动安装exporter脚本

#!/bin/bash

tar xf /root/node_exporter-1.4.0-rc.0.linux-amd64.tar.gz  -C /

cd  /

mv node_exporter-1.4.0-rc.0.linux-amd64/ node_exporter

cd /node_exporter/

echo 'PATH=/node_exporter/:$PATH' >>/etc/profile

#生成nodeexporter.service文件

cat >/usr/lib/systemd/system/node_exporter.service  <

[Unit]

Description=node_exporter

[Service]

ExecStart=/node_exporter/node_exporter --web.listen-address 0.0.0.0:9090

ExecReload=/bin/kill -HUP $MAINPID

KillMode=process

Restart=on-failure

[Install]

WantedBy=multi-user.target

EOF

#让systemd进程识别node_exporter服务

systemctl daemon-reload

#设置开机启动

systemctl  enable node_exporter

#启动node_exporter

systemctl  start node_exporter

1.3使用ansible的copy模块推送脚本到db和web服务器

[root@ansible prometheus]# ls

console_libraries  consoles  data  install_node_exporter.sh  LICENSE  nohup.out  NOTICE  prometheus  prometheus.yml  promtool

[root@ansible prometheus]# ansible all  -m copy  -a "src=install_node_exporter.sh dest=/root"

1.4在其他的服务器上查看是否安装node_exporter成功

[root@lb2 ~]# ps aux|grep node        查看node——exporter进程是否存在

root       5408  0.0  0.2 716288 11068 ?        Ssl  15:25   0:00 /node_exporter/node_exporter --web.listen-address 0.0.0.0:9090

root       5524  0.0  0.0 112824   976 pts/1    S+   15:27   0:00 grep --color=auto node

四、添加被监控的服务器

1.1修改配置文件

[root@nfs-ansible-prom prometheus]# vim prometheus.yml         修改yml配置文件

将安装了exporter的服务器添加到配置文件中

1.2重启Prometheus服务并查看效果

[root@nfs-ansible-prom prometheus]# service prometheus restart

Redirecting to /bin/systemctl restart prometheus.service

到此,我们实现了对web服务器和mysql服务器的监控

相关内容

热门资讯

一分钟教你辅助!微乐小程序免费... 您好,微乐小程序免费工具这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
玩家必看秘籍开挂!艾牛娱乐辅助... 玩家必看秘籍开挂!艾牛娱乐辅助透视挂,北京麻将真的是有外挂,总是有挂分享1、让任何用户在无需艾牛娱乐...
科技分享透视挂!微信小程序微乐... 科技分享透视挂!微信小程序微乐辅助免费,微乐江苏小程序游戏破解器下载-果然是真的有辅助器微信小程序微...
玩家必备科普透视挂!新九游大厅... 玩家必备科普透视挂!新九游大厅辅助透视挂,天天温岭麻将是真的有外挂,都是揭秘有挂1、用户打开应用后不...
必备科技开挂!微信小程序微乐辅... 必备科技开挂!微信小程序微乐辅助器教程,微乐自建房辅助工具安全吗-确实存在有辅助教程1)微信小程序微...
指导大家辅助!荷塘辅助透视挂,... 指导大家辅助!荷塘辅助透视挂,微乐河南麻将真的有外挂,确实有挂分析指导大家辅助!荷塘辅助透视挂,微乐...
1.9分钟了解辅助!微乐家乡麻... 1.9分钟了解辅助!微乐家乡麻将辅助,微乐小程序免费黑科技-其实真的是有辅助插件1、玩家可以在微乐小...
最终开挂!微乐浙江麻将辅助透视... 最终开挂!微乐浙江麻将辅助透视挂,闲来广东麻将真的有外挂,都是真实有挂1、下载好微乐浙江麻将脚本下载...
实测发现辅助!微乐小程序黑科技... 实测发现辅助!微乐小程序黑科技免费工具,微乐家乡官方免费下载安装-本来是真的有辅助脚本1、上手简单,...
日前开挂!挖坑青海麻将辅助透视... 日前开挂!挖坑青海麻将辅助透视挂,元来黄冈麻将是真的有外挂,一贯有挂功能1、每一步都需要思考,不同水...