当前位置:首页>Linux>Linux 下载、安装 Node Exporter,Prometheus 官方主机硬件与系统指标采集器(附安装包node_exporter-1.12.1.-amd64.tar.gz)

Linux 下载、安装 Node Exporter,Prometheus 官方主机硬件与系统指标采集器(附安装包node_exporter-1.12.1.-amd64.tar.gz)

  • 2026-10-07 20:30:37
Linux 下载、安装 Node Exporter,Prometheus 官方主机硬件与系统指标采集器(附安装包node_exporter-1.12.1.-amd64.tar.gz)

文章目录

    • 1. Node Exporter 简介
    • 2. v1.12.1 版本亮点
      • 2.1 缺陷修复
      • 2.2 系列新特性(来自 v1.12.0)
    • 3. 获取安装包
    • 4. 安装
      • 4.1 生产环境配置(systemd 服务化)
    • 5. 使用
      • 5.1 接入 Prometheus
      • 5.2 常用查询(PromQL)
      • 5.3 对接 Grafana 可视化
      • 5.4 配置告警
      • 5.5 运行状态与安全

1. Node Exporter 简介

Node Exporter 是 Prometheus 官方维护的主机指标采集器(exporter),用于采集 Linux/Unix 内核(*NIX)暴露的硬件与操作系统指标,是 Prometheus 生态中监控主机层面的事实标准。2013 年与 Prometheus 同期诞生,采用 Go 语言编写、单一二进制、可插拔采集器架构,如今在 GitHub 上已拥有约 1.35 万颗星标、2600 余次 Fork,几乎所有 Linux 发行版都将其打包进官方软件源。

Node Exporter 要解决的核心问题,是让服务器上的基础健康状态以统一格式暴露给监控系统:通过读取 Linux 的 /proc、/sys 等伪文件系统,将 CPU 使用、内存占用、磁盘空间与 I/O、网络流量、系统负载、进程数、运行时长等上百项指标聚合成 Prometheus 标准文本格式,在 9100 端口的 /metrics 端点对外暴露。Prometheus 按固定周期主动"拉取"(pull)这些数据并存入时序数据库,配合 Grafana 即可一屏看清整个服务器集群的运转状况。

Node Exporter 的核心特点:

  • 开箱即用
    :单二进制、零配置,下载运行即在 9100 端口输出指标,相比 SNMP、Zabbix 等传统方案极为简洁
  • 可插拔采集器
    :每个采集器负责一类指标,默认启用已覆盖日常监控 90% 以上的需求,也支持按需启停
  • 数据标准统一
    :输出 Prometheus 标准文本格式,可被 Prometheus、VictoriaMetrics、Grafana Mimir、Thanos 等整个时序生态直接消费
  • 覆盖全面
    :CPU、内存、磁盘、文件系统、网络、进程、systemd 服务、硬件传感器等系统级指标一应俱全
  • 自定义扩展
    :textfile 采集器支持将任意脚本输出(如 nginx 连接数)暴露为指标,systcl 采集器可导出内核参数

2. v1.12.1 版本亮点

1.12 系列于 2026 年 7 月发布,v1.12.1 是紧随其后的维护补丁版本,针对个别采集器做了稳定修复。

2.1 缺陷修复

  • perf 采集器
    :修复 perf 分析器(profiler)标志(flag)处理问题
  • edac 采集器
    :修复可选的 csrow ue_count 指标采集问题

2.2 系列新特性(来自 v1.12.0)

  • 新增 nvmesubsystem 采集器
    :暴露 NVMe over Fabrics 子系统路径健康指标
  • 新增 dmmultipath 采集器
    :暴露 DM-multipath 设备与路径指标
  • mountstats 增强
    :新增 NFS 挂载点信息指标
  • edac 增强
    :新增带 DIMM 标签的每通道错误指标,精确定位故障内存条
  • cpufreq 增强
    :支持 cpuinfo_avg_freq,更准确地反映 CPU 实际运行频率
  • filesystem 增强
    :支持 ext4 超级块紧急只读标志,及早发现文件系统异常

3. 获取安装包

如果访问 GitHub 不便,安装包及中文文档:https://hanshuixin.org/go/225N(内含 node_exporter-1.12.1.linux-amd64.tar.gz、README 中英对照、发布说明中英对照和 LICENSE)。

适用于 Linux x86_64(amd64)。

Node Exporter 其他版本:https://hanshuixin.org/resource/software_integrated_package/Linux/Node%20Exporter

Linux安装node_exporter-v1.12.1(node_exporter-1.12.1.linux-amd64).zip├── node_exporter-1.12.1.linux-amd64.tar.gz   ← 解压后运行├── Linux安装node_exporter-v1.12.1(node_exporter-1.12.1.linux-amd64).pdf├── README/│   ├── README.md│   └── README-中文版.md├── 发布说明/│   ├── RELEASE-NOTES.md│   └── RELEASE-NOTES-中文版.md└── LICENSE

4. 安装

node_exporter-1.12.1.linux-amd64.tar.gz 是 Node Exporter 官方发布的 Linux x86_64 预编译二进制包,不绑定特定发行版,解压即可运行:

# 解压二进制包(内含 node_exporter 可执行文件与 LICENSE)tar -xzf node_exporter-1.12.1.linux-amd64.tar.gz# 进入解压目录cd node_exporter-1.12.1.linux-amd64# 启动 Node Exporter(默认监听 9100 端口)./node_exporter

启动后访问 http://localhost:9100/metrics 即可看到主机指标输出。

4.1 生产环境配置(systemd 服务化)

实际生产部署中,建议将二进制部署到统一目录,创建无登录权限的专用运行用户,并以 systemd 服务托管,便于开机自启、崩溃自动拉起与统一管理:

# 将二进制部署到统一目录sudo mkdir -p /opt/node_exportersudo cp node_exporter /opt/node_exporter/# 创建专用用户(无登录权限)并授权sudo useradd --system --no-create-home --shell /sbin/nologin node_exportersudo chown -R node_exporter:node_exporter /opt/node_exporter

创建服务文件 /etc/systemd/system/node_exporter.service:

[Unit]Description=Prometheus Node ExporterDocumentation=https://prometheus.io/docs/guides/node-exporter/After=network.target[Service]Type=simpleUser=node_exporterGroup=node_exporterWorkingDirectory=/opt/node_exporterExecStart=/opt/node_exporter/node_exporter \  --web.listen-address=0.0.0.0:9100 \  --collector.systemdRestart=on-failureRestartSec=5[Install]WantedBy=multi-user.target

配置要点说明:

  • --web.listen-address
    :监听地址与端口,默认 :9100,如需对外开放可改为 0.0.0.0:9100
  • --collector.systemd
    :启用 systemd 服务状态采集(默认关闭,按需开启)
  • --collector.textfile.directory
    :指定 textfile 采集器目录,用于暴露自定义指标
# 开机自启并启动sudo systemctl enable node_exportersudo systemctl start node_exporter# 查看状态sudo systemctl status node_exporter

5. 使用

5.1 接入 Prometheus

在 Prometheus 的 prometheus.yml 中增加抓取目标,即可采集主机指标。一个典型的 Linux 主机监控配置如下:

global:  scrape_interval: 15s  evaluation_interval: 15sscrape_configs:  # 抓取 Node Exporter 暴露的主机指标  - job_name: "node"    static_configs:      - targets: ["192.168.1.10:9100", "192.168.1.11:9100"]        labels:          env: "prod"

保存后重载 Prometheus 配置(systemctl reload prometheus),在 Prometheus 界面的 Status → Targets 中即可看到各主机抓取状态。每台要监控的 Linux 主机都需安装并运行 Node Exporter,并确保 9100 端口对 Prometheus 可达。

5.2 常用查询(PromQL)

Node Exporter 暴露的指标以 node_ 前缀开头,配合 PromQL 可灵活分析主机状态。常用查询示例:

# CPU 使用率(排除 idle,按 5 分钟速率)100 - avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100# 内存使用率(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100# 磁盘剩余空间(根分区)node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"} * 100# 磁盘 I/O 吞吐(5 分钟速率)rate(node_disk_read_bytes_total[5m])# 网络流入速率rate(node_network_receive_bytes_total[5m])# 系统负载(1 分钟)node_load1

5.3 对接 Grafana 可视化

将 Prometheus 作为数据源接入 Grafana 后,即可为主机指标搭建可视化仪表盘:

  • 官方推荐
    :Grafana 官方提供了 Node Exporter Full 仪表盘模板(Dashboard ID 1860),导入后即可获得完整的 CPU、内存、磁盘、网络、系统负载等监控面板
  • 自定义面板
    :在"仪表盘 → 新建"中添加面板,数据源选 Prometheus,查询框填入上述 PromQL 表达式即可,常用可视化类型有时序图(Time series)、统计(Stat)、仪表(Gauge)等
  • 标签维度
    :利用 instance、env 等标签配置模板变量,以下拉框形式切换主机与环境,快速对比不同服务器状态

5.4 配置告警

基于 Node Exporter 采集的指标可定义主机告警规则,在 rules.yml 规则文件中配置,并让 Prometheus 通过 rule_files 引入:

groups:  - name: node-alerts    rules:      # 主机离线      - alert: 主机离线        expr: up{job="node"} == 0        for: 2m        labels:          severity: critical        annotations:          description: "{{ labels.instance }} 磁盘剩余空间低于 5GB"      # 内存使用率过高      - alert: 内存使用率过高        expr: (1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100 > 85        for: 10m        labels:          severity: warning        annotations:          description: "{{ labels.instance }} CPU 使用率超过 85%"

告警触发后,Prometheus 将告警推送给 Alertmanager 统一去重、分组、静默,再通过邮件、Webhook、钉钉等方式通知运维,形成完整告警链路。

5.5 运行状态与安全

  • 验证采集
    :curl http://localhost:9100/metrics 可查看指标是否正常输出;Prometheus 界面的 Status → Targets 显示 UP 即采集正常
  • web 配置校验
    :Node Exporter 支持通过 --web.config.file=web-config.yml 启用 TLS 加密访问(实验特性),生产环境对外暴露时建议启用
  • 指标基数
    :启用额外采集器时,注意观察 scrape_duration_seconds(采集耗时)与 scrape_samples_post_metric_relabeling(指标基数)两项指标,避免采集超时或资源占用过高

最新文章

随机文章