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 打造专业大屏监控面板,我会在下一篇文章详细讲解!

相关推荐
程序员黄老师1 天前
Windows文件移动到Linux上的坑
linux·运维·服务器
shizhan_cloud1 天前
自动化部署Kubernetes集群
运维·kubernetes
mounter6251 天前
【内核前沿】Linux IPC 迎来大变局?POSIX 消息队列增强、io_uring IPC 与 Bus1 十年回归
linux·运维·服务器·kernel·ipc·io_uring
不怕犯错,就怕不做1 天前
Linux-Sensor驱动移植与调试(转载)
linux·驱动开发·嵌入式硬件
wzl202612131 天前
企业微信定时群发技术实现与实操指南(原生接口+工具落地)
java·运维·前端·企业微信
island13141 天前
最详细VMware Workstation 17 上安装 Ubuntu 系统
linux·数据库·ubuntu
2401_895521341 天前
Linux下安装Redis
linux·运维·redis
网络小白不怕黑1 天前
2.1VMware部署Windows_server_2008_R2
运维·服务器
handler011 天前
拒绝权限报错!三分钟掌握 Linux 权限管理
linux·c语言·c++·笔记·学习
一叶飘零_sweeeet1 天前
Docker Compose实战指南
运维·docker·容器