SmokePing 是一款开源的网络延迟和稳定性监测工具,由 Tobi Oetiker 开发(他也是 RRDtool 和 MRTG 的作者)。它主要用于持续监测网络延迟、丢包率和抖动情况,并以直观的图形化方式展示数据。


主要功能

  1. 延迟监测(Latency Measurement)
    • 使用 ICMP (Ping)、TCP、DNS、HTTP 等协议测试目标主机的响应时间。
    • 支持 IPv4 和 IPv6。
  2. 丢包检测(Packet Loss Detection)
    • 通过连续发送探测包统计丢包率。
  3. 抖动分析(Jitter Analysis)
    • 测量延迟的变化(抖动),对 VoIP、视频会议等实时应用尤为重要。
  4. 可视化图表
    • 使用 RRDtool 存储数据并生成时间序列图表,直观展示历史趋势。
    • 图表颜色区分不同延迟程度(如绿色=正常,红色=高延迟)。
  5. 多目标监测
    • 可同时监测多个主机或网络路径,适合企业或 ISP 监控关键链路。
  6. 告警功能
    • 支持配置阈值触发告警(通过邮件或其他方式通知)。

核心组件

  • SmokePing Daemon:主服务进程,负责调度探测任务和收集数据。
  • RRDtool:存储和渲染时间序列数据。
  • FPing/echoping:底层工具用于发送 ICMP/TCP 探测包。
  • Web 界面:通过 CGI 或内置 HTTP 服务器提供可视化图表。

官网

https://hub.docker.com/r/linuxserver/smokeping

smokeping的docker版部署

先把smokeping的docker镜像拉下来。

docker pull linuxserver/smokeping

创建两个目录,一个存放smokeping的数据文件,一个存放smokeping的配置文件

mkdir -p /data/smokeping/data
mkdir -p /data/smokeping/config

启动smokeping镜像,把监控端口,数据目录和配置目录都映射到母机上。

docker run --name smokeping -d -p 80:80 -e TZ=Asia/Shanghai -v /data/smokeping/data:/data -v /data/smokeping/config:/config linuxserver/smokeping

设计一个监控目标IP的配置文件

cat > config <<EOF
DianXian_Gate 192.168.10.1
YiDong_Gate 192.168.10.2
AD_Server 192.168.10.224
App_Server 192.168.10.222
RC_Site 159.51.127.130
EOF

生成具有一定格式的配置内容

cat config | while read LINE ; do
CL01=`echo ${LINE} | awk '{print "++ "$1}'` #++ Server_Name
CL02=`echo ${LINE} | awk '{print "menu = "$1}'` #menu = _Name
CL03=`echo ${LINE} | awk '{print "title = "$1" "$2}'` #title = Server_IP
CL04=`echo ${LINE} | awk '{print "host = "$2}'` #host = IP
echo -e "$CL01\n$CL02\n$CL03\n$CL04\n" #生成配置
done

把生成的内容,拷贝到/data/smokeping/config/Targets目录中

再重启smokeping

docker restart smokeping

浏览器访问

声明:欢迎大家光临本站,学习IT运维技术,转载本站内容,请注明内容出处”来源刘国华教育“。如若本站内容侵犯了原著者的合法权益,请联系我们进行处理。