1.准备监控主机、被监控主机、Prometheus软件包、mysql-exporter软件包
准备监控主机:
- Prometheus:192.168.88.5
被监控主机:
- web1:192.168.88.100
Prometheus软件包:
Prometheus的组件体系丰富,涵盖了数据采集、存储、查询、告警和可视化等多个方面
Prometheus Server:
- 功能:Prometheus Server是Prometheus监控系统的核心组件,负责采集、存储和管理指标数据,并提供查询和报警功能。
Exporters:
- 功能:Exporters是Prometheus中的一个组件,负责将特定应用程序或服务的监控数据暴露给Prometheus Server。
AlertManager:
- 功能:AlertManager是Prometheus监控系统中的一个组件,用于对采集到的指标数据进行报警管理和通知。
PushGateway:
- 功能:PushGateway是Prometheus监控系统中的一个组件,用于短期的指标数据推送。
其他组件
node-expoter软件包:
是Prometheus生态系统的一部分,用于收集和导出操作系统的指标, 以便可以通过Prometheus进行监控
2.查看监控主机时区是否是Asia/Shanghai时区,并且是否与主机时间一致
查看时区:
timedatectl
如果时区不正确,则改为正确时区:
timedatectl set-timezone Asia/shanghai
查看时间:
date
如果时间不正确,则改为正确时间:
date -s “年月日 时:分:秒”
3.将软件Prometheus软件包解压并移动到linux软件目录(/usr/local)
[root@prometheus ~]# cd prometheus_soft/
[root@prometheus prometheus_soft]# tar xf prometheus-2.37.5.linux-amd64.tar.gz [root@prometheus prometheus_soft]# mv prometheus-2.37.5.linux-amd64 /usr/local/prometheus
4.编写Prometheus服务配置文件,并启动服务
#vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus Monitoring System
After=network.tatget
[servive]
ExecStart=/usr/local/prometheus/prometheus\
--config.file=/usr/local/prometheus/prometheus.yml\
--storage.tsdb.path=/usr/local/prometheus/date/
[Install]
WantedBy=multi-user.target
#systemctl daemon-reload
#systemctl enable prometheus.service --now
#ss -anutlp | grep :9090
访问页面:http://192.168.88.5:9090
5.将mysql-exporter软件包添加到被监控端主机并解压并移动到linux软件目录(/usr/ocal)
配置mysql
下载myqsl:
dnf -y install mysql.server
设置开机自启:
systemctl enable mysqld --now
配置mysql exporter
# 1. 安装
[root@prometheus ~]# scp prometheus_soft/mysqld_exporter-0.14.0.linux-amd64.tar.gz 192.168.88.100:/root/
[root@web1 ~]# tar xf mysqld_exporter-0.14.0.linux-amd64.tar.gz
[root@web1 ~]# mv mysqld_exporter-0.14.0.linux-amd64 /usr/local/mysqld_exporter
6.在被监控端主机创建连接mysql配置服务文件
编写用于连接mysql服务的配置文件
[root@web1 ~]# vim /usr/local/mysqld_exporter/.my.cnf
[client]
host=127.0.0.1
port=3306
user=dbuser1
password=123456
7.在被监控端主机创建service文件配置文件
[root@web1 ~]# vim /usr/lib/systemd/system/mysqld_exporter.service
[Unit]
Description=mysqld_exporter
After=network.target
[Service]
ExecStart=/usr/local/mysqld_exporter/mysqld_exporter \
--config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
[Install]
WantedBy=multi-user.target
8.使用systemctl重新加载命令重新加载service文件并启动服务
[root@web1 ~]# systemctl daemon-reload
[root@web1 ~]# systemctl enable mysqld_exporter.service --now
9.在Prometheus监控主机使用(手动方式或自动发现)添加mysql节点配置,并重启服务
# 1. 在配置文件中追加内容
[root@prometheus ~]# vim /usr/local/prometheus/prometheus.yml
...略...
- job_name: "mysql"
static_configs:
- targets: ["192.168.88.100:9104:]
# 2. 重启服务
[root@prometheus ~]# systemctl restart prometheus.service