当前位置: 首页 > article >正文

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

文章目录

  • 在 CentOS 7.9 上部署 node_exporter 并接入 Prometheus + Grafana 实现主机监控
  • 环境说明
  • node_exporter 安装与配置
    • 下载并解压 node_exporter
    • 创建 Systemd 启动服务
    • 验证服务状态
    • 验证端口监听
  • Prometheus 配置 node_exporter 监控项
    • 修改 prometheus.yml
    • 重新加载 Prometheus 配置
  • Grafana 配置展示监控图表
    • 添加 Prometheus 数据源
    • 导入主机监控面板
  • 总结


在 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

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 配置文件:

vim /usr/lib/systemd/system/node_exporter.service

写入以下内容:

[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

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

systemctl daemon-reexec
systemctl daemon-reload
systemctl enable node_exporter.service --now

验证服务状态

systemctl status node_exporter.service

输出应该为:

● node_exporter.service - node_exporterLoaded: loaded (/usr/lib/systemd/system/node_exporter.service; enabled)Active: active (running) ...

验证端口监听

ss -tunlp | grep 9100

应看到如下输出:

LISTEN 0      128    *:9100     *:*     users:(("node_exporter",...))

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


Prometheus 配置 node_exporter 监控项

修改 prometheus.yml

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

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 配置

# 方法一:重启 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 实现数据可视化展示

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

http://www.lryc.cn/news/2380043.html

相关文章:

  • C++--内存管理
  • Java实现PDF加水印功能:技术解析与实践指南
  • Django + Celery 打造企业级大模型异步任务管理平台 —— 从需求到完整实践(含全模板源码)
  • TC3xx学习笔记-UCB BMHD使用详解(二)
  • 用Python实现数据库数据自动化导出PDF报告:从MySQL到个性化文档的全流程实践
  • 实战设计模式之状态模式
  • 人工智能、机器学习与深度学习:概念解析与内在联系
  • 什么是着色器 Shader
  • Redis的主从架构
  • 博客系统功能测试
  • 【深度学习新浪潮】什么是多模态大模型?
  • 机器学习前言2
  • 【成品设计】基于Arduino的自动化农业灌溉系统
  • 前端页面 JavaScript数据交互
  • esp32课设记录(三)mqtt通信记录 附mqtt介绍
  • string类(详解)
  • MATLAB | R2025a 更新了哪些有趣的东西?
  • 前缀和——和为K的子数组
  • React 第四十二节 Router 中useLoaderData的用途详解
  • 千问大模型部署
  • 深入理解 ZAB:ZooKeeper 原子广播协议的工作原理
  • GO语言语法---if语句
  • Unix Bourne Shell
  • GraphPad Prism项目的管理
  • 驱动-Linux定时-timer_list
  • STM32F103_LL库+寄存器学习笔记22 - 基础定时器TIM实现1ms周期回调
  • 5个yyds的.Net商城开源项目
  • C++:与7无关的数
  • [项目深挖]仿muduo库的并发服务器的解析与优化方案
  • c语言与python的异同之处