Smokeping 简介
Smokeping 是一款开源的网络性能监控工具,主要用于监控网络延迟和丢包率。 它通过定期向目标主机发送探测数据包(例如 ICMP ping、HTTP GET 等)并记录响应时间和数据包丢失情况,然后以图表的形式直观地展示网络质量随时间的变化。
应用场景:集中监控,一目了然
Smokeping 的主从模式特别适合监控多个地理位置网络性能的场景。通过部署多个从节点,并将数据汇总到主节点,可以在一个统一的 Dashboard 上查看各个节点的网络状况,极大地方便了管理和问题排查。效果如图:

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