薇尔薇

Back

使用Grafana、Prometheus监控服务器资源占用情况,监控服务器、网站延时等数据,全部使用Docker Compose方式搭建

使用到的工具

  • Grafana
  • Prometheus
  • Node Export
  • BlackBox Export

使用到的面板(id:9965、16098)

安装BlackBox Export#

docker-compose.yml

services:
  blackbox-exporter:
    image: prom/blackbox-exporter:latest
    container_name: blackbox-exporter
    ports:
      - "9115:9115"
    volumes:
      - ./config/blackbox.yml:/etc/blackbox_exporter/config.yml  # 挂载配置文件
      - ./data:/data  # 挂载数据目录(可选,Blackbox Exporter 默认不需要持久化数据)
    cap_add:  # 赋予 ICMP 权限
      - NET_RAW
    restart: always  # 自动重启
plaintext

配置文件blackbox.yml

目录结构

root@aliyun-light:~/blackbox# tree ./
./
├── config
│   └── blackbox.yml
├── data
└── docker-compose.yml

3 directories, 2 files
plaintext

安装Prometheus#

docker-compose.yml

services:
  prometheus:
    image: prom/prometheus:latest
    container_name: prometheus
    # ports:
    #   - "9090:9090"
    network_mode: host
    volumes:
      - ./config:/etc/prometheus
      - ./data:/prometheus
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'
    restart: unless-stopped
plaintext

配置文件prometheus.yml

需要监控的IP和网站通过文件单独配置,每次配置完自动生效,不再需要重启Prometheus服务

网站监控http_targets.json

[
  {
    "targets": ["https://vio.vin"],
    "labels": {
      "instance": "Blog",
      "module": "Website",
      "project": "Blog",
      "name": "Blog"
    }
  }
]
plaintext

ICMP监控icmp_targets.json

服务器监控server_targets.json(Node Export)

目录结构

root@aliyun-light:~/prometheus# tree ./
./
├── config
│   ├── http_targets.json
│   ├── icmp_targets.json
│   ├── prometheus.yml
│   └── server_targets.json
├── data
│   └── data
└── docker-compose.yml

13 directories, 25 files
plaintext

安装Node Export#

ubuntu直接使用apt安装即可

apt install prometheus-node-exporter
plaintext

配置Grafana#

Uptime

Server-Status

Grafana Uptime Resource监控
https://vio.vin/blog/grafana-uptime-resource-jian-kong
Author violet
Published at 2025年6月14日