node_exporter 是 Prometheus 用于监控服务器操作系统指标的工具,它可以通过 Docker 容器进行快速安装和配置。以下是使用 Docker Compose 部署 node_exporter 的详细步骤。
1. 创建 Docker Compose 文件
在服务器上创建一个 Docker Compose 文件(如 docker-compose.yml),用于管理 node_exporter 容器。
Docker Compose 配置示例:
services:
node-exporter:
image: prom/node-exporter:latest
container_name: node_exporter
restart: always
ports:
- "9100:9100" # 将 node_exporter 容器的端口映射到主机端口
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- '--path.rootfs=/rootfs'
说明
- image:使用 prom/node-exporter 官方镜像。
- container_name:容器名称为 node_exporter,可根据需要更改。
- restart: always:设置自动重启策略,以确保容器在崩溃或重启时自动启动。
- ports:将 node_exporter 默认的端口 9100 映射到主机,Prometheus 将通过该端口收集数据。
- volumes:挂载系统目录,以便 node_exporter 访问系统的 /proc、/sys 和根文件系统目录:
- /proc:/host/proc:ro:将主机的 /proc 挂载到容器的 /host/proc,只读。
- /sys:/host/sys:ro:将主机的 /sys 挂载到容器的 /host/sys,只读。
- /:/rootfs:ro:将主机的根文件系统挂载到容器的 /rootfs,只读。
- command:指定 node_exporter 的配置路径,以确保在容器中使用主机的文件系统路径。
2. 启动 node_exporter 容器
在包含 docker-compose.yml 文件的目录中,运行以下命令启动 node_exporter:
docker-compose up -d
这将以后台模式启动 node_exporter,并监听主机的 9100 端口。
3. 配置 Prometheus 监控多个 node_exporter 实例
在 Prometheus 的配置文件 prometheus.yml 中,添加 node_exporter 的 scrape_configs。如果有多个服务器,需要为每台服务器添加 node_exporter 地址。
scrape_configs:
- job_name: 'node'
static_configs:
- targets:
- 'server1_ip:9100' # 第一个服务器的node_exporter地址
- 'server2_ip:9100' # 第二个服务器的node_exporter地址
# 可以继续添加其他服务器
4. 在 Grafana 中设置监控面板
- 添加 Prometheus 数据源: 在 Grafana 中,将 Prometheus 配置为数据源。
- 导入 Node Exporter 仪表板: 在 Grafana 中,可以从 Grafana Labs 仪表板库导入已有的 Node Exporter 仪表板模板。一个常用的模板 ID 是 1860,它可以显示 CPU、内存、磁盘、网络等系统指标。
总结
- 使用 Docker Compose 部署 node_exporter 容器,监控操作系统指标。
- 配置 Prometheus 采集多个 node_exporter 实例的数据。
- 在 Grafana 中设置 Node Exporter 仪表板,以可视化监控数据。
通过这种方法,您可以轻松地将多个服务器的系统性能数据集中到一个 Prometheus 和 Grafana 实例中,实现集中监控。