在 CentOS 7.9 上部署 node_exporter 并接入 Prometheus + Grafana 实现主机监控

文章目录

  • [在 CentOS 7.9 上部署 node_exporter 并接入 Prometheus + Grafana 实现主机监控](#在 CentOS 7.9 上部署 node_exporter 并接入 Prometheus + Grafana 实现主机监控)
  • 环境说明
  • [node_exporter 安装与配置](#node_exporter 安装与配置)
  • [Prometheus 配置 node_exporter 监控项](#Prometheus 配置 node_exporter 监控项)
    • [修改 prometheus.yml](#修改 prometheus.yml)
    • [重新加载 Prometheus 配置](#重新加载 Prometheus 配置)
  • [Grafana 配置展示监控图表](#Grafana 配置展示监控图表)
  • 总结

在 CentOS 7.9 上部署 node_exporter 并接入 Prometheus + Grafana 实现主机监控

在现代的系统监控方案中,Prometheus + Grafana 是被广泛采用的组合。本文将介绍如何在 CentOS 7.9 系统上部署 node_exporter,结合 Prometheus 进行指标采集,并通过 Grafana 进行可视化展示,实现主机资源的全面监控。

环境说明

项目 说明
操作系统 CentOS Linux release 7.9.2009 (Core)
node_exporter 版本 v1.9.1
Prometheus 版本 看专栏
Grafana 版本 看专栏
部署用户 root

node_exporter 安装与配置

下载并解压 node_exporter

bash 复制代码
cd /data/bag
wget https://github.com/prometheus/node_exporter/releases/download/v1.9.1/node_exporter-1.9.1.linux-amd64.tar.gz
tar xf node_exporter-1.9.1.linux-amd64.tar.gz
mv node_exporter-1.9.1.linux-amd64 ../app/node_exporter

创建 Systemd 启动服务

编辑 systemd 配置文件:

bash 复制代码
vim /usr/lib/systemd/system/node_exporter.service

写入以下内容:

ini 复制代码
[Unit]
Description=node_exporter
After=network.target

[Service]
Type=simple
ExecStart=/data/app/node_exporter/node_exporter \
  --web.listen-address=0.0.0.0:9100 \
  --web.telemetry-path=/metrics \
  --log.level=info \
  --log.format=logfmt
Restart=always

[Install]
WantedBy=multi-user.target

保存后执行以下命令使服务生效并设置开机启动:

bash 复制代码
systemctl daemon-reexec
systemctl daemon-reload
systemctl enable node_exporter.service --now

验证服务状态

bash 复制代码
systemctl status node_exporter.service

输出应该为:

复制代码
● node_exporter.service - node_exporter
   Loaded: loaded (/usr/lib/systemd/system/node_exporter.service; enabled)
   Active: active (running) ...

验证端口监听

bash 复制代码
ss -tunlp | grep 9100

应看到如下输出:

复制代码
LISTEN 0      128    *:9100     *:*     users:(("node_exporter",...))

至此,node_exporter 已成功运行,并在本机的 9100 端口提供监控数据。


Prometheus 配置 node_exporter 监控项

修改 prometheus.yml

编辑 prometheus.yml 配置文件,新增 node_exporter 的 job 配置:

yaml 复制代码
scrape_configs:
  - job_name: 'node_exporter'
    static_configs:
      - targets:
          - '192.168.1.100:9100'
          - '192.168.1.101:9100'
          - '192.168.1.102:9100'
          
  - job_name: 'node_exporter_shanghai'
    static_configs:
      - targets:
          - '10.1.0.1:9100'
          - '10.1.0.2:9100'

说明:

  • 192.168.1.100 替换为你部署 node_exporter 的主机 IP 地址。
  • 可添加多个目标实现多机采集。

重新加载 Prometheus 配置

bash 复制代码
# 方法一:重启 Prometheus
systemctl restart prometheus

# 方法二:通过 Web API 热加载
curl -X POST http://localhost:9090/-/reload

Grafana 配置展示监控图表

添加 Prometheus 数据源

  • 登录 Grafana Web 界面(默认 http://:3000)
  • 进入 Configuration > Data Sources
  • 选择 Prometheus,填写地址如:http://localhost:9090 或 Prometheus 实际访问地址
  • 保存并测试

导入主机监控面板

在 Grafana 导入以下官方仪表盘模板之一:

  • ID: 1860 - Node Exporter Full
  • 导入方式:Dashboard > Import > 填写 ID > 选择数据源 > 导入

完成后即可看到 CPU、内存、磁盘、网络等主机资源指标的可视化图表。


总结

通过上述步骤,我们实现了:

  • 在 CentOS 7.9 上成功部署 node_exporter
  • 配置 Prometheus 定时抓取主机监控指标
  • 通过 Grafana 实现数据可视化展示

这一方案适用于中小型服务器集群的性能监控场景,具有部署简单、组件清晰、社区支持良好等优点,是很多运维监控体系的首选方案。

相关推荐
威迪斯特5 小时前
CentOS图形化操作界面:理论解析与实践指南
linux·运维·centos·组件·图形化·桌面·xserver
是阿楷啊7 小时前
Java大厂面试场景:音视频场景中的Spring Boot与微服务实战
spring boot·redis·spring cloud·微服务·grafana·prometheus·java面试
承渊政道7 小时前
Linux系统学习【Linux基础开发工具】
linux·运维·笔记·学习·centos·编辑器
❀͜͡傀儡师17 小时前
centos 7部署dns服务器
linux·服务器·centos·dns
予枫的编程笔记1 天前
【Linux入门篇】Linux入门不踩坑:内核、发行版解析+环境搭建全流程
linux·ubuntu·centos·vmware·xshell·linux入门·linux环境搭建
艾莉丝努力练剑1 天前
【Linux:文件】基础IO:文件操作的系统调用和库函数各个接口汇总及代码演示
linux·运维·服务器·c++·人工智能·centos·io
醇氧1 天前
【Linux】centos 防火墙学习
linux·学习·centos
xixingzhe21 天前
Prometheus+Grafana监控服务器
grafana·prometheus
❀͜͡傀儡师1 天前
CentOS 7部署FTP服务
linux·运维·centos·ftp
swaveye90601 天前
轻量服务器CentOS 7.9 64位 设置允许防火墙/HTTP/HTTPS访问
运维·服务器·centos