[增加中文版]🔹 Node Information - 更美观的 Grafana 性能监控面板 (Prometheus + Node Exporter) & Grafana 安装教程

前言

一直以来都想做一个自己喜欢的面板,自从看到 探针 Grafana Prometheus 之比 Docker 更简单的部署流程Grafana Prometheus fping-exporter 搭建网络监控 这两篇帖子,便决定用 Grafana 来实现我的愿望,做出来了的同时也 push 上了 Grafana 的官网 (Dashboard ID 22403/中文版 ID 22869),大家可以方便地导入到自己的 Grafana 里^ ^
(谢谢 AhFeizenitsu 的启蒙)

面板功能

这是一个基于 Grafana,通过 Node ExporterPrometheus 来获取并收集被监控数据并投射的面板。主要功能有 CPU / 内存 / 硬盘使用率网络速率 / 粗略流量统计 / 重传率 等信息的查看,其中通过各式图表得到几种不同的分析视角。上层板块是所有在线机器的总数据,下层折叠板块是选定机器更详细的资源信息。

图例如下:


安装方式

1️⃣ Grafana (来自 Grafana.com) on Debian/Ubuntu [主机]

  1. 安装必要的软件包
sudo apt-get install -y apt-transport-https software-properties-common wget
  1. 载入 GPG 密钥
sudo mkdir -p /etc/apt/keyrings/
wget -q -O - https://apt.grafana.com/gpg.key | gpg --dearmor | sudo tee /etc/apt/keyrings/grafana.gpg > /dev/null
  1. 选择稳定版
echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://apt.grafana.com stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
  1. 安装
sudo apt-get update && sudo apt-get install grafana
  1. 反代 可搜索相关教程

2️⃣ Prometheus (来自 AhFei 制作的脚本) [主机]

wget -qO- 'https://raw.githubusercontent.com/AhFeil/bash-script/main/install-prometheus.sh' | sudo bash

3️⃣ Node Exporter (来自 AhFei 制作的脚本) [主机 被监控机器]

wget -qO- 'https://raw.githubusercontent.com/AhFeil/bash-script/main/install-node_exporter.sh' | sudo bash

同时也推荐通过防火墙仅为监控服务器放行,命令参考(ufw):

sudo ufw allow from 监控服务器IP to any port 9100 comment 'node_exporter'

使用方式

参考 探针 Grafana Prometheus 之比 Docker 更简单的部署流程,将面板ID

1860

改为我的

22403(英文) / 22869(中文)

/etc/prometheus/prometheus.yml 中添加名为 node_exporter 的 job,可参考:

- job_name: "node_exporter"
    scrape_interval: 10s
    static_configs:
      - targets: ["IP1:9100"]
        labels:
          instance: '实例1'
      - targets: ["IP2:9100"]
        labels:
          instance: '实例2'

限于篇幅,更详细教程请参考原帖,或自行搜寻

硬件要求 (个人经验)

10台机器在 1C / 1G内存 / 10G硬盘 的环境下堪堪够用,如果需要监控更多机器,需考虑更高的主机配置

更新内容

03/12/2024
  1. Fix typo
  2. 增加根据 Job 筛选
  3. 增加 全部机器 / 单台机器 的近三十天流量粗略统计
  4. 增加 wlan.* 接口名
  5. 修正可能因错误数据带来的 CPU / Memory 进度条显示过高的问题
  6. 色彩细节调整
11/12/2024(其实很早就上传了)
  1. 表格中的硬盘剩余容量会包括所有分区
  2. 软性避免因数据读取不当产生的 CPU 使用率变成极高负值的情况
16/02/2025(🐦)
  1. 简单把小标题翻译成了中文

更新方法

重新导入 22403/22869
导入的时候可以重命名或者覆盖

更新计划

本面板以修复为主,且定位是新手和轻量用户友好的基础数据监控,预计总更新次数不会超过五次(指本贴更新记录)

其余 To-do

  1. 基于 Blackbox Exporter 的网络延迟面板
  2. 本面板的中文版本

后记

本帖的 Node Information 是我目前唯一"算是"完整制作好的面板,也许会有一些 bug 以及不完善的地方,大家如果使用过程中遇到了,也欢迎告诉我。感兴趣的伙伴也关注一下 Grafana 面板,目前已知能做且比较现成的还有延迟测试和流媒体解锁测试的功能,或许 Grafana 就这么流行起来了呢?

鸣谢

  1. AhFeizenitsu 的启蒙
  2. 本面板基于 Node Exporter Full (ID 1860) 制作,"健康值/Health"使用了 Node Exporter Dashboard (ID 16098) 的计算公式,也参考了后者的 Network Socket 图表和分区容量信息
  3. 小巴哥 @bagevm 和 绿绿 @midori 的讨论和测试
  4. Surge Pro 群友们的测试
  5. 各位的留言鼓励和支持与建议
点赞
  1. Booker说道:

    很好的帖子,有几个地方想讨论下:

    1. 存储可以考虑下 victoriametrics,和 prometheus 兼容,同时资源占用更低一些,压缩率也更高。
    2. 关于暴露端口的问题,有一个方法是在被监控主机上安装 node_exporter 和 vmagent(可以理解为 prometheus 的 scrap 模块,配置通用),数据通过 vmagent 推向 victoriametrics。缺点是被监控主机需要多安装一个组件,虽然 vmagent 的资源占用不高。最好的方案可能是修改 node_exporter,添加 push 功能。
  2. Bene说道:

    一个预告^ ^

  3. Bene说道:

    Ping 面板已完成,正上传 Grafana 审核(已经有了一个很好记的 ID)(其实几分钟就审核好了)

    近日写好教程后另开新帖发布

发表回复

电子邮件地址不会被公开。必填项已用 * 标注

×
订阅图标按钮