Docker监控系统中添加NodeExporter

目录

注意

[修改 docker-compose.yml,增加 Node Exporter](#修改 docker-compose.yml,增加 Node Exporter)

[修改 Prometheus 配置文件,添加 Node Exporter 目标](#修改 Prometheus 配置文件,添加 Node Exporter 目标)

[启动 Node Exporter 并刷新 Prometheus 配置](#启动 Node Exporter 并刷新 Prometheus 配置)

验证


注意

localhost是本机的ip地址,需要修改

修改 docker-compose.yml,增加 Node Exporter

在 /opt/monitor/docker-compose.yml 文件中,增加一个服务 node-exporter:

复制代码
version: '3.9'
services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"
    restart: always

  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_USER=admin
      - GF_SECURITY_ADMIN_PASSWORD=admin
    restart: always

  node-exporter:
    image: prom/node-exporter:latest
    container_name: node-exporter
    network_mode: "host"       # 让 Node Exporter 能直接访问宿主机指标
    pid: "host"                # 允许访问宿主机进程信息
    restart: always

说明:

  • network_mode: "host" 是 Node Exporter 的推荐配置,可以直接采集宿主机指标。

  • 不需要端口映射,因为 Prometheus 会直接抓 9100 端口。

修改 Prometheus 配置文件,添加 Node Exporter 目标

编辑 /opt/monitor/prometheus/prometheus.yml,增加 node-exporter scrape 配置:

复制代码
global:
  scrape_interval: 5s

scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['localhost:9090']

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

启动 Node Exporter 并刷新 Prometheus 配置

复制代码
cd /opt/monitor

# 重新启动容器
docker compose down
docker compose up -d

或者只重启 Prometheus 和 Node Exporter:

复制代码
docker compose up -d prometheus node-exporter

验证

  1. Prometheus 页面访问:http://localhost:9090

    Status → Targets 中,你应该看到:

Grafana 页面访问:http://localhost:3000

登录账号:admin / admin

可以导入官方 Node Exporter dashboard(Dashboard ID: 1860),直接显示主机 CPU/内存/磁盘/网络图表。

相关推荐
小李独爱秋3 分钟前
计算机网络经典问题透视:为什么RTP协议同时具有运输层和应用层的特点?
运维·服务器·网络·网络协议·计算机网络
曹仙逸3 分钟前
Linux day02
linux·运维·服务器
色空大师8 分钟前
【Linux中yum、rpm、apt-get、wget的区别】
linux·运维·服务器
ccmedu12 分钟前
虚拟机启动卡死you might want to save “/run/initramfs/rdsosreport.txt
linux·运维·服务器
Savvy..13 分钟前
运维面试题
运维
林_学17 分钟前
Docker Desktop 全卸了,新项目上线从3天缩短到3分钟
运维·docker·容器
陈平安Java and C17 分钟前
Docker镜像原理
运维·docker·容器
爱吃山竹的大肚肚18 分钟前
Nginx 最核心和常用的命令
java·运维·服务器·前端·nginx
程序员在线炒粉8元1份顺丰包邮送可乐19 分钟前
Docker 部署PaddleOCR 实战教程(含离线模型、接口调用、排障)
运维·docker·ai·容器
天上飞的粉红小猪20 分钟前
Socket UDP编程
linux·网络协议·udp