SmokePing 是一款开源的网络延迟监测工具,它能够对网络连接进行实时监控,并通过图形化界面展示延迟、丢包率等关键数据。SmokePing 通过定期向目标发送探测包(如 ICMP、DNS 查询、HTTP 请求等),收集响应时间和数据包丢失情况,从而帮助网络管理员发现和诊断网络问题。
功能介绍
- 实时监控:SmokePing 能够实时监测网络延迟和丢包情况。
- 多种探测类型:支持 ICMP、DNS、HTTP 等多种类型的探测。
- 图形化界面:提供直观的图形界面,展示网络状况的历史数据和实时信息。
- 自定义配置:允许用户自定义探测频率、探测目标、报警阈值等。
- 多节点监控:可以同时监控多个网络节点,进行比较和分析。
实际应用场景
- 数据中心网络监控:监控数据中心内部网络的稳定性和性能。
- 互联网服务提供商:监测对外提供的网络服务的质量和可用性。
- 企业网络管理:监控企业内部网络连接,确保业务连续性。
- 个人用户:监测家庭网络或个人服务器的网络连接质量。
使用 Docker CLI 搭建 SmokePing
拉取镜像:
docker pull lscr.io/linuxserver/smokeping:latest
lscr.io/linuxserver/smokeping:latest
:指定要拉取的 SmokePing 镜像。
创建容器:
docker run -d --name smokeping \ --restart unless-stopped \ -p 8899:80 \ -v /path/to/config:/config \ -v /path/to/data:/data \ lscr.io/linuxserver/smokeping:latest
-d
:后台运行容器。--name smokeping
:为容器指定名称。--restart unless-stopped
:除非手动停止,否则总是重启容器。-p 8899:80
:将容器的 80 端口映射到宿主机的 8899 端口。-v /path/to/config:/config
:挂载配置文件目录。-v /path/to/data:/data
:挂载数据文件目录。lscr.io/linuxserver/smokeping:latest
:使用拉取的 SmokePing 镜像创建容器。
使用 Docker Compose 搭建 SmokePing
创建
docker-compose.yml
文件:version: "2.1" services: smokeping: image: lscr.io/linuxserver/smokeping:latest container_name: smokeping restart: unless-stopped environment: PUID: 1000 PGID: 1000 TZ: Asia/Shanghai volumes: - ./config:/config - ./data:/data ports: - "8899:80"
version
:Docker Compose 文件版本。services
:定义服务。image
:指定镜像。container_name
:指定容器名称。restart
:重启策略。environment
:设置环境变量,PUID
和PGID
用于权限控制,TZ
设置时区。volumes
:挂载目录,./config
和./data
是宿主机目录。ports
:端口映射。
启动服务:
docker-compose up -d
-d
:后台运行服务。
参数解释
- PUID:代表用户 ID,用于控制容器内运行的进程的用户身份。
- PGID:代表组 ID,用于控制容器内运行的进程的组身份。
- TZ:时区设置,
Asia/Shanghai
表示中国上海的时区。 - **ports
:端口映射,格式为
宿主机端口:容器端口`,用于从外部访问容器内部服务。
通过以上步骤,可以使用 Docker CLI 和 Docker Compose 两种方式搭建 SmokePing 服务,实现网络延迟监测。