macOS 下载、安装 Node Exporter,Prometheus 官方主机指标采集器,CPU、内存、磁盘、网络全面监控(附安装包node_exporter-1.12.1.darwin-arm64.tar.gz)

发布于 2026/8/12 · 1 阅读
Node ExporterPrometheus主机监控指标采集系统监控CPU内存磁盘网络开源软件
Node Exporter 是 Prometheus 官方主机指标采集器,用 Go 编写,采集 CPU、内存、磁盘、网络等硬件与系统指标,默认 9100 端口暴露,配合 Prometheus 与 Grafana 构建完整主机监控体系。

封面.png

1. Node Exporter 简介

Node Exporter 是 Prometheus 官方提供的主机指标采集器(exporter),用于采集 *NIX 系统的硬件与操作系统指标。它由 Prometheus 团队维护,其前身可追溯到 2013 年 Prometheus 项目在 SoundCloud 诞生之初,是最早也最成熟的 exporter 之一。经过十余年发展,Node Exporter 已成为 GitHub 上最流行的 Prometheus 组件之一,拥有约 1.4 万颗 Star、2700 多个 Fork,被广泛应用于各类主机监控场景。

Node Exporter 采用 Go 语言编写,以单一静态二进制形式发布,无任何第三方运行时依赖,下载解压即可运行。它内置大量可插拔的指标采集器(collector),覆盖 CPU、内存、磁盘、网络、文件系统、系统负载等常见维度,默认监听 9100 端口,以 Prometheus 文本格式在 /metrics 路径暴露指标,供 Prometheus Server 周期性抓取。

核心特点:

  • 官方出品:Prometheus 官方项目,与 Prometheus 生态无缝集成
  • 开箱即用:单一静态二进制,无依赖,解压即可运行
  • 采集器丰富:内置数十个可插拔采集器,按需启用或禁用
  • 轻量高效:Go 编写,资源占用低,适合大规模批量部署
  • 自由开源:Apache-2.0 许可,完全免费

2. v1.12.1 版本亮点

该版本(2026-07-14 发布)是 v1.12.0 的修复版本,汇集了 2 位代码贡献者2 处 修复,主要解决以下两个采集器的问题:

  • perf 采集器:修复 perf 性能分析器标志(profiler flag)处理问题。perf 采集器基于内核 perf 事件采集指标,此修复确保相关启动标志被正确处理。
  • edac 采集器:修复可选 csrow ue_count 采集问题。edac 采集器用于暴露内存错误检测与纠正统计,此修复解决了可选列数据采集不完整的问题。

这两处修复主要影响使用相关采集器的 Linux 主机;macOS 版本的采集器体系(cpu、meminfo、netdev、filesystem、diskstats 等)保持稳定,整体可靠性进一步提升。

3. 获取安装包

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

适用于 macOS(Apple Silicon,arm64 架构)。

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

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

4. 安装

node_exporter-1.12.1.darwin-arm64.tar.gz 解压,即可得到 node_exporter 可执行文件:

tar -xzf node_exporter-1.12.1.darwin-arm64.tar.gz
cd node_exporter-1.12.1.darwin-arm64
./node_exporter

如需全局使用,可将可执行文件移动到 /usr/local/bin/,或注册为 launchd 服务实现开机自启。默认监听端口为 9100,无额外系统依赖。

5. 使用

5.1 启动与验证

运行后,在浏览器或命令行访问即可查看指标输出:

curl http://localhost:9100/metrics

指标以 Prometheus 文本格式返回,常见指标包括:

  • node_cpu_seconds_total:CPU 使用量
  • node_memory_MemTotal_bytes / node_memory_MemAvailable_bytes:内存总量与可用量
  • node_filesystem_avail_bytes:文件系统可用空间
  • node_network_receive_bytes_total:网络接收字节数
  • node_load1:系统 1 分钟负载

5.2 采集器管理

Node Exporter 内置大量采集器,默认启用常用部分,可通过启动参数控制:

# 启用默认禁用的采集器(如 systemd)
./node_exporter --collector.systemd

# 禁用默认启用的采集器(如 cpu)
./node_exporter --no-collector.cpu

# 仅启用指定采集器
./node_exporter --collector.disable-defaults --collector.meminfo --collector.cpu

查看完整参数列表:./node_exporter -h

5.3 接入 Prometheus

在 Prometheus 的 prometheus.yml 配置文件的 scrape_configs 下添加抓取任务:

scrape_configs:
  - job_name: 'node'
    static_configs:
      - targets: ['localhost:9100']

重新加载 Prometheus 配置后,可在 Web 界面的 Targets 页面确认抓取目标状态为 UP。

5.4 接入 Grafana

在 Grafana 中添加 Prometheus 数据源(URL 指向 Prometheus 地址),然后导入社区现成的 Node Exporter 仪表盘,即可将主机指标可视化展示,如 CPU、内存、磁盘、网络等实时面板,无需自行编写图表。

推荐直接使用社区热门的 Node Exporter 仪表盘:

  • Node Exporter Full(仪表盘 ID:1860):覆盖面最广,将 node_exporter 默认导出的几乎所有指标图形化,社区累计下载超过 1.4 亿次,被引用最多。
  • Node Exporter Overview(仪表盘 ID:23333):整体概览风格,适合设为监控首页。

获取方式:

  • Grafana 内导入:在 Grafana 侧边栏进入 Dashboards → Import(仪表盘 → 导入),将仪表盘 ID(如 1860)粘贴到 "Import via grafana.com" 输入框,点击 Load,选择 Prometheus 数据源后即可导入;
  • 官方仪表盘社区:访问 Grafana 官方仪表盘社区 grafana.com/dashboards,搜索 "Node Exporter" 挑选合适模板,复制其 ID 按上述方式导入。

导入后,可在 Preferences(偏好设置)中将主页仪表盘设为该看板,方便日常巡检。

5.5 textfile 采集器

textfile 采集器用于导出批处理作业或静态指标,与 Pushgateway 类似但面向机器级指标。指定目录后,Node Exporter 会解析其中所有 *.prom 文件:

./node_exporter --collector.textfile.directory=/var/lib/node_exporter/textfile

例如以原子方式写入 cron 作业完成时间:

echo my_batch_job_completion_time $(date +%s) > /path/to/directory/my_batch_job.prom.$$
mv /path/to/directory/my_batch_job.prom.$$ /path/to/directory/my_batch_job.prom