服务器192.168.10.212(prometheus+node_exporter+grafana)主服务
监视服务器192.168.10.211,192.168.10.212(包括自身)
一、前期准备
1. 环境检查与依赖安装
先安装部署wegt和tar包,确定已经有该包
yum install -y wget tar
2. 规划目录结构
按照要求部署在/home目录下,创建专属工作目录(后续所有文件均存放于此):
# 创建主目录和子目录(存储配置、数据、安装包)
mkdir -p /home/prometheus/{conf,data,download}
cd /home/prometheus/download
二、下载并解压 Prometheus
1.下载prometheus安装包v2.50
wget https://github.com/prometheus/prometheus/releases/download/v2.50.0/prometheus-2.50.0.linux-amd64.tar.gz
或采用附件上传
2.将压缩包解压到/home/prometheus目录,并简化目录名称(方便后续操作):
# 解压到主目录
tar -zxvf prometheus-2.50.0.linux-amd64.tar.gz -C /home/prometheus/
# 重命名解压目录为prometheus-server(简化标识)
mv /home/prometheus/prometheus-2.50.0.linux-amd64 /home/prometheus/prometheus-server
3. 验证解压结果
# 解压完成后,进入服务目录查看核心文件(确保prometheus可执行文件存在):
cd /home/prometheus/prometheus-server
ls -l | grep prometheus
三、配置 Prometheus 监控目标(核心步骤)
Prometheus 通过prometheus.yml配置监控目标,需要添加192.168.10.212(自身)和192.168.10.211(远程服务器),先将默认配置文件迁移到我们提前创建的 conf 目录,方便后续管理
1. 迁移并编辑配置文件
# 迁移默认配置文件到conf目录
mv /home/prometheus/prometheus-server/prometheus.yml /home/prometheus/conf/
# 编辑配置文件(使用vim编辑器) ,以下代替
vim /home/prometheus/conf/prometheus.yml
# 全局配置(采集间隔、超时时间等)
global:
scrape_interval: 15s # 默认每15秒采集一次监控数据
evaluation_interval: 15s # 每15秒评估一次告警规则
# 告警管理器配置(本次暂不启用,保留默认)
alerting:
alertmanagers:
- static_configs:
- targets:
- 'alertmanager:9093'
# 加载告警规则文件(本次暂不启用,保留默认)
rule_files:
# - "first_rules.yml"
# - "second_rules.yml"
# 采集配置(核心:配置监控目标)
scrape_configs:
# 任务1:监控 Prometheus 自身运行状态(9090,可选,不影响系统指标展示)
- job_name: "prometheus-self"
static_configs:
- targets: ["192.168.2.153:9090"]
# 任务2:监控 153 自身系统硬件指标(核心:采集 Node Exporter 9100)
- job_name: "server-153"
static_configs:
- targets: ["192.168.2.153:9100"] # 153 的 Node Exporter 端口
# 任务3:监控 152 服务器系统硬件指标(已正常工作)
- job_name: "server-152"
static_configs:
- targets: ["192.168.2.152:9100"]
# 任务4:监控 151 服务器系统硬件指标(已正常工作)
- job_name: "server-151"
static_configs:
- targets: ["192.168.2.151:9100"]
# 任务5:监控 151 服务器msyql数据库硬件指标
- job_name: '151主数据库mysql8'
static_configs:
- targets: ['192.168.2.151:9104']
# 任务6:监控 152 服务器msyql数据库硬件指标
- job_name: '152从数据库mysql8'
static_configs:
- targets: ['192.168.2.152:9104']
# 保持原有的配置不动,新增下面的 job
- job_name: 'mysql' # 这里的名字必须是 'mysql'
static_configs:
- targets: ['192.168.2.151:9104'] # 指向你的 Exporter 服务器 IP
# 下面这段 relabel 是为了让 Dashboard 12826 能识别实例名
metric_relabel_configs:
- source_labels: [__address__]
target_label: instance
备注执行验证语法命令
/home/prometheus/prometheus-server/promtool check config /home/prometheus/conf/prometheus.yml
四、安装 Node Exporter(获取服务器硬件 / 系统指标)
Prometheus 自身无法直接采集服务器的 CPU、内存、磁盘等硬件指标,需要安装Node Exporter(Prometheus 官方的系统指标采集工具),两台服务器都需要安装(192.168.10.212和192.168.10.211)。
步骤 1:下载并解压 Node Exporter
# 进入/home/prometheus/download目录
mkdir -p /home/prometheus/download && cd /home/prometheus/download
# 下载Node Exporter v1.7.0(稳定版)或者上传附件中node-exporter包
wget https://github.com/prometheus/node_exporter/releases/download/v1.7.0/node_exporter-1.7.0.linux-amd64.tar.gz
# 解压到/home/prometheus目录
tar -zxvf node_exporter-1.7.0.linux-amd64.tar.gz -C /home/prometheus/
# 重命名目录简化操作
mv /home/prometheus/node_exporter-1.7.0.linux-amd64 /home/prometheus/node_exporter
步骤 2:验证 Node Exporter 可执行性,出现版本信息即说明文件正常。
/home/prometheus/node_exporter/node_exporter --version
步骤 3:配置 Node Exporter 为系统服务(开机自启、后台运行)
为了方便管理,将 Node Exporter 注册为 systemd 系统服务,两台服务器均执行以下操作:
# 创建系统服务文件
vim /usr/lib/systemd/system/node_exporter.service
# 写入服务配置内容
[Unit]
Description=Prometheus Node Exporter
After=network.target
[Service]
User=root
ExecStart=/home/prometheus/node_exporter/node_exporter
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
重新加载系统服务、启动并设置开机自启
# 重新加载systemd配置
systemctl daemon-reload
# 启动Node Exporter
systemctl start node_exporter
# 设置开机自启
systemctl enable node_exporter
# 验证服务状态(确保active (running))
systemctl status node_exporter
五、启动 Prometheus(192.168.10.212 专属操作)
1. 配置 Prometheus 为系统服务(后台运行 + 开机自启)
# 创建系统服务文件 vim /usr/lib/systemd/system/prometheus.service
[Unit]
Description=Prometheus Monitoring System
After=network.target node_exporter.service
[Service]
User=root
# 指定配置文件路径和数据存储路径(核心参数)
ExecStart=/home/prometheus/prometheus-server/prometheus \
--config.file=/home/prometheus/conf/prometheus.yml \
--storage.tsdb.path=/home/prometheus/data \
--web.listen-address=:9090 \
--web.enable-lifecycle
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
步骤 1:迁移配置文件到正确目录(对齐服务文件配置)
将prometheus.yml从prometheus-server目录迁移到我们提前创建的conf目录(与--config.file参数路径一致):
# 迁移配置文件(覆盖conf目录下可能存在的空文件/旧文件,直接执行即可)
mv /home/prometheus/prometheus-server/prometheus.yml /home/prometheus/conf/
步骤 2:修正配置文件的所属用户和权限(确保 root 可正常读取)
将文件所属用户 / 组改为root,同时确保读取权限正常:
# 更改文件所属用户和组为root
chown root:root /home/prometheus/conf/prometheus.yml
# 确保文件有可读权限(root用户默认有,此命令为兜底)
chmod 644 /home/prometheus/conf/prometheus.yml
步骤 3:验证迁移后的路径正确性(确认对齐服务配置)
执行以下命令,确保配置文件存在于--config.file指定的路径:
# 验证目标路径下的配置文件是否存在
(输出-rw-r--r-- 1 root root 953 1月 13 13:54 /home/prometheus/conf/prometheus.yml即可)
ls -l /home/prometheus/conf/prometheus.yml
#设置prometheus自启动
# 1. 重新加载systemd配置(使service文件修改生效)
systemctl daemon-reload
# 2. 启动prometheus服务
systemctl start prometheus
# 3. 设置开机自启(恢复开机自启功能)
systemctl enable prometheus
# 4. 验证服务状态
systemctl status prometheus
在 192.168.10.212(CentOS 7.6)上部署 Grafana 的完整可执行步骤,全程放在 /home 目录下,和你之前的 Prometheus 保持一致风格
一、下载并安装 Grafana(RPM 方式,最稳定)
Grafana 官方推荐用 RPM 包安装,这样自动配置好 systemd 服务,非常省心。
# 创建下载目录
mkdir -p /home/grafana/download
cd /home/grafana/download
# 下载 Grafana 最新稳定版(v10.2.2)或者使用上传附件包
wget https://dl.grafana.com/oss/release/grafana-10.2.2-1.x86_64.rpm
# 安装(会自动创建 grafana 用户、服务文件、日志目录)
yum install -y grafana-10.2.2-1.x86_64.rpm
安装完成后,Grafana 会自动:
——————————————
安装到
/usr/share/grafana配置文件在
/etc/grafana数据在
/var/lib/grafana日志在
/var/log/grafana服务名:
grafana-server
————————————————————————————二、启动 Grafana 并设置开机自启
systemctl daemon-reloadsystemctl start grafana-serversystemctl enable grafana-serversystemctl status grafana-server三、访问 Grafana Web UI
Grafana 默认端口是 3000
打开浏览器访问:
http://192.168.10.212:3000
默认账号密码:
用户名:
admin密码:
admin
第一次登录会要求你修改密码
四、添加 Prometheus 作为数据源
登录 Grafana 后,点击左侧 Connections → Data sources
点击 Add data source
选择 Prometheus
填写 Prometheus 地址:
http://192.168.10.212:9090
点击 Save & test
如果显示 Data source is working,说明 Grafana 已经成功连接 Prometheus。
五、导入经典的 Node Exporter 仪表盘(最常用)
Grafana 有一个非常成熟的服务器监控仪表盘,ID 是 1860。
左侧点击 Dashboards → New → Import
输入:1860
点击 Load
选择 Prometheus 数据源
点击 Import
导入成功后,你就能看到:
CPU 使用率
内存使用
磁盘 I/O
网络流量
负载
磁盘空间
等完整的服务器监控面板
而且会自动显示 211 和 212 两台服务器 的数据。
部署之后的查看路径
监控mysql方式
进mysql创建账号
CREATE USER 'exporter'@'%' IDENTIFIED BY '123456'; GRANT PROCESS, REPLICATION CLIENT, SELECT ON . TO 'exporter'@'%'; FLUSH PRIVILEGES;
第二步:在宿主机安装 mysqld_exporter
# 下载并解压(适配Linux amd64架构)
wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.14.0/mysqld_exporter-0.14.0.linux-amd64.tar.gz -O mysqld_exporter.tar.gz或者上传到任意目录,修改名称为mysqld_exporter.tar.gz
#解压
tar xzf mysqld_exporter.tar.gz
sudo cp mysqld_exporter-0.14.0.linux-amd64/mysqld_exporter /usr/local/bin/
# 创建配置文件(替换【你的密码】为第一步设置的密码)
sudo tee /etc/mysqld_exporter.cnf <
[client]
user=exporter
password=【你的密码】
host=127.0.0.1
port=3306
EOF
# 创建systemd服务(允许所有ip监听9104端口 --web.listen-address=:9104)
sudo tee /etc/systemd/system/mysqld_exporter.service <
[Unit]
Description=MySQL Exporter for Docker MySQL
After=network.target
[Service]
User=root
ExecStart=/usr/local/bin/mysqld_exporter --config.my-cnf=/etc/mysqld_exporter.cnf --web.listen-address=:9104
Restart=always
[Install]
WantedBy=multi-user.target
EOF
# 启动并设置自启
sudo systemctl daemon-reload
sudo systemctl enable --now mysqld_exporter
sudo systemctl start mysqld_exporter
# 重启mysql_exporter
systemctl restart mysqld_exporter
# 验证是否采集成功(能看到mysql相关指标就说明OK,ip替换127.0.0.1)
curl http://127.0.0.1:9104/metrics | grep -i "mysql_up"
第三步:配置 Prometheus 采集(假设按上述 Prometheus 已部署,上述放在/home/prometheus/conf/ 目录下)
# 在scrape_configs下添加以下内容(不用改,直接加)
- job_name: 'docker-mysql8'
static_configs:
- targets: ['127.0.0.1:9104'] # 指向宿主机的exporter端口
# 重启Prometheus使配置生效
sudo systemctl restart prometheus
#登录granafa
点击左侧「+」→「Import」;
输入 7362,选择 Prometheus 数据源,点击「Import」;
导入后就能看到这个 docker-mysql8 的全量监控(锁表、QPS/TPS、库表写入等)。