LINUX 上安装与配置 node_exporter
在 Linux 上安装 node_exporter 非常简单,它只是一个独立的二进制文件,不需要复杂的依赖。
以下是 标准生产环境部署步骤(包含创建用户、配置服务、开机自启)。
🚀 1. 下载与解压
首先,我们需要下载最新稳定版。你可以去 GitHub Releases 查看最新版本号,或者直接运行以下命令(以 v1.8.2 为例):
1 | # 1. 进入临时目录 |
👤 2. 创建专用用户(安全最佳实践)
为了安全起见,不要用 root 用户运行 exporter。我们创建一个无登录权限的专用用户。
1 | # 创建用户和组 |
⚙️ 3. 配置 Systemd 服务(开机自启)
这是最关键的一步,让它在后台运行,并且重启后自动启动。
创建服务文件:
1 | sudo vim /etc/systemd/system/node_exporter.service |
粘贴以下内容:
1 | [Unit] |
💡 高级提示:如果你只想采集部分指标(为了性能),可以在
ExecStart后面加参数,例如:ExecStart=/usr/local/bin/node_exporter --collector.disable-defaults --collector.cpu --collector.meminfo --collector.diskstats
▶️ 4. 启动并验证
1 | # 1. 重载系统守护进程配置 |
如果看到绿色的 active (running),说明安装成功!
🔍 5. 验证数据暴露
在本机浏览器或通过 curl 访问默认端口 9100:
1 | curl http://localhost:9100/metrics |
成功标志:你会看到大量以 # HELP 开头的文本数据,例如:
1 | # HELP node_cpu_seconds_total Seconds the CPUs spent in each mode. |
🛡️ 6. 防火墙设置 (重要)
如果 Prometheus 服务器在另一台机器上,你需要确保这台 Linux 服务器的防火墙放行了 9100 端口。
CentOS 7+/RHEL (firewalld):
1 | sudo firewall-cmd --permanent --add-port=9100/tcp |
Ubuntu (ufw):
1 | sudo ufw allow 9100/tcp |
云服务器 (阿里云/腾讯云/AWS):
别忘了去云控制台的 安全组 规则中,添加入站规则:允许 TCP 9100。
🔗 7. 连接到 Prometheus
最后,回到你的 Prometheus Server,修改 prometheus.yml 配置文件,添加这个新节点:
1 | scrape_configs: |
然后重载 Prometheus:
1 | curl -X POST http://localhost:9090/-/reload |
去 Prometheus 网页的 Status -> Targets 页面,如果看到你的 Linux 节点状态变为 UP (绿色),恭喜!🎉 监控链路已打通。
❓ 常见问题
- 端口冲突:如果 9100 被占用,可以在 systemd 文件中修改
ExecStart=/usr/local/bin/node_exporter --web.listen-address=":9101",然后记得在 Prometheus 配置里也改端口。 - 权限错误:如果
systemctl status报错Permission denied,检查/usr/local/bin/node_exporter的属主是否是node_exporter用户。
现在你的 Linux 监控已经准备好了!接下来就可以去 Grafana 导入 ID: 1860 的模板看大图了。
Windows 安装
在 Windows 上安装 windows_exporter 也很简单,它只是一个独立的二进制文件,不需要复杂的依赖。
以下是 标准生产环境部署步骤(包含创建服务、开机自启)。
在 Windows 上安装 windows_exporter(以前称为 wmi_exporter)非常简单。它是官方推荐的用于采集 Windows 系统指标(CPU、内存、磁盘、网络等)的工具。
以下是生产环境标准安装步骤,包含下载、安装为服务、配置防火墙和验证。
🚀 方法一:使用 MSI 安装包(最推荐,简单快捷)
这是最简单的方法,安装包会自动处理服务注册和防火墙规则。
1. 下载
访问 GitHub Releases 下载最新的 .msi 安装包。
- 选择文件名类似
windows_exporter-0.26.0-amd64.msi的文件(根据你的系统架构,通常是 amd64)。
2. 安装
- 双击运行下载的
.msi文件。 - 一路点击 Next。
- 关键步骤:在 “Custom Setup” 或 “Features” 界面,你可以选择要启用的收集器(Collectors)。
- 默认全选通常没问题。
- 如果机器性能较差,可以取消勾选一些不常用的(如
exchange,sql等),只保留cpu,memory,disk,net,os,service等基础项。
- 继续点击 Next 直到 Install。
- 安装完成后,服务会自动启动。
3. 验证
打开浏览器访问:
1 | http://localhost:9182/metrics |
如果看到大量文本数据,说明安装成功!
🛠️ 方法二:手动安装二进制版(适合高级用户/无网络环境)
如果你更喜欢手动控制,或者需要在多台机器上通过脚本部署,可以使用这个方法。
1. 下载二进制文件
下载 .exe 文件(例如 windows_exporter-0.26.0-amd64.exe)。
将其重命名为 windows_exporter.exe。
2. 创建目录并移动文件
以管理员身份打开 PowerShell:
1 | # 创建目录 |
3. 安装为 Windows 服务
windows_exporter 内置了服务安装命令,无需额外工具(如 NSSM)。
在管理员 PowerShell 中运行:
1 | cd "C:\Program Files\windows_exporter" |
4. 启动服务
1 | Start-Service windows_exporter |
5. 设置开机自启(通常安装服务时已默认设置,但可检查)
1 | Set-Service -Name windows_exporter -StartupType Automatic |
🛡️ 重要:配置防火墙
如果 Prometheus 服务器在另一台机器上,你必须允许 9182 端口的入站连接。
使用 PowerShell 一键放行:
1 | New-NetFirewallRule -DisplayName "Windows Exporter" -Direction Inbound -LocalPort 9182 -Protocol TCP -Action Allow |
注意:如果你使用的是 MSI 安装包,它通常会自动添加这条防火墙规则。如果是手动安装的二进制版,必须手动执行此命令。
🔍 验证与调试
1. 检查服务状态
1 | Get-Service windows_exporter |
状态应为 Running。
2. 查看指标
在本地浏览器访问 http://localhost:9182/metrics,或在命令行测试:
1 | curl http://localhost:9182/metrics |
你应该能看到以 windows_ 开头的指标,例如:
windows_cpu_time_totalwindows_memory_available_byteswindows_logical_disk_free_bytes
3. 查看日志
如果服务启动失败,查看 Windows 事件查看器:
Win + R-> 输入eventvwr.msc。- 展开 Windows 日志 -> 应用程序。
- 查找来源为
windows_exporter的条目。
🔗 连接到 Prometheus
在你的 Prometheus 服务器配置文件 (prometheus.yml) 中添加:
1 | scrape_configs: |
然后重载 Prometheus:
1 | curl -X POST http://<Prometheus_IP>:9090/-/reload |
去 Prometheus 网页的 Status -> Targets 确认状态为 UP。
📊 Grafana 可视化
安装完成后,去 Grafana 导入仪表盘:
- 模板 ID:
14510(Windows Exporter Official) - 这个模板完美适配
windows_exporter的所有指标,能展示漂亮的 CPU、内存、磁盘 IO 和网络图表。
💡 常用参数参考
如果你想定制行为,可以在安装服务时添加参数:
--web.listen-address=":9182": 修改监听端口。--collectors.enabled="cpu,memory,disk": 只启用指定的收集器(提高性能)。--collectors.disabled="sql,exchange": 禁用特定的收集器。--log.level="debug": 开启调试日志。
现在你的 Windows 监控已经就绪了!🎉
