核心价值:自动化测速+历史数据分析,一键揪出网络波动元凶,替代SpeedTest的私有化方案

一、项目核心功能

类别链接
项目地址https://github.com/gnmyt/myspeed
官方文档https://docs.myspeed.dev/
Docker镜像https://hub.docker.com/r/germannewsmaker/myspeed
  • 自动化测速

    • 定时测试(默认每小时1次),记录下载/上传速度、延迟、抖动
    • 支持 Ookla、LibreSpeed、Cloudflare 三大测速源
  • 数据可视化

    • 动态折线图展示30天内网速趋势
    • 多设备对比(如家庭宽带 vs 云服务器)
  • 智能告警

    • 阈值触发通知(丢包率>5%或延迟突增)
    • 支持 微信/Telegram/钉钉等7种告警渠道
  • 扩展集成

    • 数据对接Prometheus+Grafana
    • CSV/JSON格式导出,支持二次分析

二、Docker一键部署方案

验证部署:浏览器访问 http://服务器IP:5216,显示仪表盘即成功

在这里插入图片描述
在这里插入图片描述

# 创建持久化目录
mkdir -p /opt/myspeed/data

# 启动容器
docker run -d \
  --name MySpeed \
  -p 5216:5216 \
  -v /opt/myspeed/data:/myspeed/data \
  --restart=unless-stopped \
  germannewsmaker/myspeed:latest

Docker Compose 部署 MySpeed

mkdir -p /opt/myspeed/{data,config} && cd /opt/myspeed
vim docker-compose.yml
version: '3.8'

services:
  myspeed:
    image: germannewsmaker/myspeed:latest
    container_name: myspeed
    restart: unless-stopped
    ports:
      - "5216:5216"  # Web访问端口
    volumes:
      - ./data:/myspeed/data  # 数据持久化
      - ./config:/myspeed/config  # 配置文件目录
    environment:
      - TZ=Asia/Shanghai  # 时区设置
      - SCHEDULE="0 */1 * * *"  # 每小时测速一次
      - TARGET速一次
      - TARGETS="default"  # 使用默认测速点

创建自定义配置文件

touch /opt/myspeed/config/config.toml
vim /opt/myspeed/config/config.toml
[general]
language = "zh-CN"  # 中文界面

[notifications.telegram]
enabled = true
bot_token = "YOUR_BOT_TOKEN"
chat_id = "YOUR_CHAT_ID"

[targets]
servers = [
    { name = "上海电信", server = "http://speedtest1.online.sh.cn/speedtest/" },
    { name = "广州移动", server = "http://gz", server = "http://gz.speedtest.cn.mobile:8080/speedtest/" }
]

[alerts]
download_threshold = 50  # 下载速度低于50Mbps告警
upload_threshold = 10    # 上传速度低于10Mbps告警
latency10Mbps告警
latency_threshold = 100  # 延迟高于100ms告警

启动服务

docker-compose up -d

验证部署

# 检查容器状态
docker-compose ps

# 查看实时日志
docker-compose logs -f myspeed

# 访问Web界面
echo "访问地址: http://$(curl -s ifconfig.me):5216"

三、高阶配置指南

定时任务优化

# 修改docker命令添加环境变量(每2小时测速)
-e SCHEDULE="0 */2 * * *"   # Cron表达式 

多服务器监控

  • 在仪表盘中添加:
    • NAS本地地址(如 192.168.1.100)
    • 云服务器公网IP

告警设置

通知类型配置路径适用场景
Telegram设置 → 通知 → 添加机器人Token实时接收网络异常
Webhook自定义API接口对接企业内部监控系统
邮件提醒SMTP服务器配置运维团队批量通知

安全加固

# Nginx反代配置HTTPS(示例)
server {
  listen 443 ssl;
  server_name speed.yourdomain.com;
  ssl_certificate /path/to/cert.pem;
  ssl_certificate_key /path/to/key.pem;
  location / {
    proxy_pass http://localhost:5216;
  }
}

四、典型应用场景

  • 家庭宽带质检
    • 每日生成网速报告,向运营商索赔提供证据
  • 企业服务器监控
    • 多地机房延迟对比,智能切换最优线路
  • 游戏加速优化
    • 实时监测高峰时段延迟,自动切换VPN节点
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐