使用 Docker 部署 Smokeping 主从模式进行网络监控

Smokeping 简介

Smokeping 是一款开源的网络性能监控工具,主要用于监控网络延迟和丢包率。 它通过定期向目标主机发送探测数据包(例如 ICMP ping、HTTP GET 等)并记录响应时间和数据包丢失情况,然后以图表的形式直观地展示网络质量随时间的变化。

应用场景:集中监控,一目了然

Smokeping 的主从模式特别适合监控多个地理位置网络性能的场景。通过部署多个从节点,并将数据汇总到主节点,可以在一个统一的 Dashboard 上查看各个节点的网络状况,极大地方便了管理和问题排查。效果如图:

image-20241227120044752

Docker 部署:轻松搭建 Smokeping 主从集群

主节点配置

docker-compose.yml

YAML
services:
  smokeping:
    image: lscr.io/linuxserver/smokeping:latest
    container_name: smokeping-master
    hostname: 主机名 # 主节点在 Smokeping 界面的显示名称
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
    volumes:
      - ./config:/config
      - ./data:/data
    ports:
      - 8000:80
    restart: unless-stopped

config/Slaves

Plaintext
*** Slaves ***
secrets=/etc/smokeping/smokeping_secrets
+aaa                            # 从节点别名
display_name=AAA  # 从节点在 Smokeping 界面的显示名称
location=US
color=xxxxxx

+bbb
display_name=BBB
location=US
color=xxxxxx

config/smokeping_secrets

Plaintext
aaa:axxx # 从节点密钥
bbb:bxxx

config/Targets

Plaintext
*** Targets ***
slaves = aaa bbb
...

从节点配置

YAML
services:
  smokeping:
    image: lscr.io/linuxserver/smokeping:latest
    container_name: smokeping-slave
    hostname: aaa # 从节点设备别名,必须与主节点 Slaves 文件中定义的别名一致
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - MASTER_URL=http://<主节点IP>:8000/smokeping/ # 替换为主节点的 IP 和端口
      - SHARED_SECRET=axxx # 从节点密钥,必须与主节点 smokeping_secrets 文件中对应的密钥一致
      - CACHE_DIR=/tmp
    volumes:
      - ./config:/config
      - ./data:/data
    ports:
      - 8000:80
    restart: unless-stopped

相关文档

docker-smokeping

smokeping_master_slave 官方文档

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注