Linux 监控可视化|Prometheus+Node Exporter 一键部署教程

💡 前言

在日常服务器运维中,CPU、内存、磁盘、网络、进程 等指标的实时监控,是保障业务稳定运行的核心。本文基于 CentOS7/8 环境,从零到一带你搭建 Prometheus + Node Exporter 监控体系,实现多台 Linux 服务器指标采集、存储、可视化展示,全程命令行操作,看完就能落地!

📖 文章目录

  1. 方案架构说明
  2. 环境准备与端口说明
  3. Prometheus 服务端部署
  4. Node Exporter 被监控端部署
  5. Prometheus 关联监控节点
  6. Web 可视化界面访问
  7. 常见问题排查(必看)
  8. 总结与后续扩展

🧱 一、方案架构说明

本次采用轻量、稳定、开源免费的监控组合:

  • Prometheus:时序数据库 + 监控核心,负责数据存储、查询、基础图表
  • Node Exporter:官方采集器,负责收集服务器硬件与系统指标
  • 可视化:浏览器直接访问 Web UI,无需额外插件

核心端口

  • Prometheus:9090
  • Node Exporter:9100

📦 二、环境准备

  • 系统:CentOS 7 / CentOS 8 / RHEL 7+
  • 服务器:1 台监控机 + N 台被监控机
  • 关闭防火墙 / 放行端口(生产建议用安全组)
bash 复制代码
# 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

# 关闭SELinux
setenforce 0
sed -i 's/enforcing/disabled/' /etc/selinux/config

🚀 三、部署 Prometheus 监控服务端

1. 下载解压(已提供标准版本)

bash 复制代码
mkdir -p /opt/prometheus
cd /opt/prometheus

tar -zxvf prometheus-2.53.3.linux-amd64.tar.gz
rm -f prometheus-2.53.3.linux-amd64.tar.gz
mv prometheus-2.53.3.linux-amd64 prometheus
  1. 规范目录结构(运维标准)
bash 复制代码
cd /opt/prometheus/prometheus
mkdir bin conf data

mv prometheus promtool bin/
mv prometheus.yml conf/
  1. 创建专用用户 & 授权
bash 复制代码
useradd -M -s /usr/sbin/nologin prometheus
chown -R prometheus:prometheus /opt/prometheus/
  1. 配置环境变量
bash 复制代码
vim /etc/profile.d/prometheus.sh

写入:

bash 复制代码
export PROMETHEUS_HOME=/opt/prometheus/prometheus
export PATH=$PROMETHEUS_HOME/bin:$PATH

生效:

bash 复制代码
source /etc/profile.d/prometheus.sh
  1. Systemd 服务配置(开机自启)
bash 复制代码
vim /lib/systemd/system/prometheus.service
bash 复制代码
[Unit]
Description=prometheus
Documentation=https://prometheus.io/docs/
After=network.target

[Service]
User=prometheus
WorkingDirectory=/opt/prometheus/prometheus
ExecStart=/opt/prometheus/prometheus/bin/prometheus --config.file=/opt/prometheus/prometheus/conf/prometheus.yml
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
  1. 启动 & 自启
bash 复制代码
systemctl daemon-reload
systemctl start prometheus
systemctl enable prometheus
systemctl status prometheus

看到 active (running) 即为成功 ✅

🔧 四、被监控端部署 Node Exporter

⚠️ 所有要监控的服务器都必须执行!

1. 解压安装

bash 复制代码
cd /opt
tar -zxvf node_exporter-1.9.0.linux-amd64.tar.gz
rm -f node_exporter-1.9.0.linux-amd64.tar.gz
mv node_exporter-1.9.0.linux-amd64 node_exporter
  1. 整理目录
bash 复制代码
cd /opt/node_exporter
mkdir bin
mv node_exporter bin/
  1. Systemd 服务
bash 复制代码
vim /lib/systemd/system/node_exporter.service
bash 复制代码
[Unit]
Description=node_exporter
After=network.target

[Service]
Type=simple
ExecStart=/opt/node_exporter/bin/node_exporter
Restart=on-failure

[Install]
WantedBy=multi-user.target
  1. 启动服务
bash 复制代码
systemctl daemon-reload
systemctl start node_exporter
systemctl enable node_exporter
systemctl status node_exporter

🔗 五、Prometheus 关联监控主机

回到Prometheu

bash 复制代码
vim /opt/prometheus/prometheus/conf/prometheus.yml

添加监控任务:

bash 复制代码
scrape_configs:
  - job_name: 'linux-server'
    static_configs:
      - targets: ['192.168.88.187:9100','192.168.88.129:9100']

重启生效:

bash 复制代码
systemctl restart prometheus

🌐 六、访问可视化界面

浏览器打开:

bash 复制代码
http://你的Prometheus服务器IP:9090

查看节点状态

Status → Targets

  • UP:正常采集
  • DOWN:检查端口 / 防火墙 / 服务

常用监控指标

  • node_cpu_seconds_total:CPU 使用率
  • node_memory_MemTotal_bytes:总内存
  • node_memory_MemFree_bytes:空闲内存
  • node_filesystem_size_bytes:磁盘容量
  • node_network_receive_bytes_total:网络流量

❌ 七、常见问题排查(干货收藏)

  1. Targets 状态 DOWN

    • node_exporter 是否启动
    • 9100 端口是否通
    • 防火墙 / 安全组是否放行
  2. Prometheus 启动失败

    • 日志:journalctl -u prometheus -f
    • 检查配置语法:promtool check config xxx.yml
  3. 权限报错

    • 重新授权:chown -R prometheus:prometheus /opt/prometheus/

📝 八、总结

本文完整实现了 Linux 服务器监控可视化 ,基于 Prometheus + Node Exporter 快速搭建轻量监控系统,支持多主机统一管理、指标实时查询、图表展示,满足中小企业运维监控需求。

后续可对接 Grafana 打造专业大屏监控面板,我会在下一篇文章详细讲解!

相关推荐
zylyehuo3 小时前
在 Ubuntu 下进行磁盘分卷
linux
sdm0704274 小时前
Linux-库制作与原理
linux·c++·操作系统
Sean‘4 小时前
AKS 集群 Helm 部署 Prometheus + Grafana 监控平台
grafana·prometheus
CDN3604 小时前
CDN 回源异常、源站压力大?负载均衡与回源策略优化
java·运维·负载均衡
地下核武4 小时前
Ubuntu 26.04 “星际之门”(Luminous) 发布全解析
linux·运维·ubuntu
sorel_ferris4 小时前
Ubuntu 22.04 NVIDIA 驱动问题修复报告
linux·ubuntu
暂未成功人士!4 小时前
在windows电脑上的vscode使用sftp将项目文件与嵌入式平台(Ubuntu)同步的方法
linux·运维·vscode·ubuntu·ssh
Amnesia0_04 小时前
linux中的git和gdb
linux·运维·git
浅念-4 小时前
Linux 进程与操作系统
linux·运维·服务器·网络·数据结构·笔记·网络协议