MySpeed - мониторинг скорости интернета

- Опубликовано
- //2 мин. чтения
MySpeed — это удобный инструмент для тестирования скорости интернет-соединения с удобной визуализацией. Оно позволяет пользователям измерять скорость загрузки (download), скорость отдачи (upload) и задержку (ping) своего интернет-соединения. Имеет простой и красивый дашборд и API для интеграции с Prometheus.
- Сайт проекта: myspeed.dev
- Репозиторий проекта: github.com/gnmyt/myspeed
Основные функции MySpeed
- Измерение скорости: скорость загрузки, скорость отдачи, пинг
- История тестов: сохранение результатов предыдущих тестов для сравнения.
- Выбор провайдера для измерений: Speedtest by Ookla, LibreSpeed, Cloudflare
- Геолокация серверов: возможность выбора сервера для тестирования скорости.
- Настройка частоты измерений
- Уведомления: возможность настройки уведомлений в Telegram, Discord и др.
Запуск MySpeed
---
services:
myspeed:
image: germannewsmaker/myspeed
container_name: myspeed
ports:
- 5216:5216
volumes:
- ./myspeed:/myspeed/data
restart: unless-stopped
После запуска откройте браузер и перейдите по адресу http://server_ip:5216
.

Вы увидите дашборд MySpeed и можете перейти к его настройке.
TIP
Если вам нужно найти идентификаторы ближайших серверов вы можете использовать инструменты для обработки JSON, например jq
curl -s https://www.speedtest.net/api/js/servers?engine=js | jq '.[] | select(.country == "Russia")'
Интеграция с Prometheus и Grafana:
Для интеграции можно использовать стек мониторинга Grafana
Настройка Prometheus
MySpeed по умолчанию предоставляет метрики в формате, совместимом с Prometheus через API по адресу: /api/prometheus/metrics
. Чтобы настроить сбор данных добавьте в конфигурацию Prometheus:
- job_name: 'myspeed'
scrape_interval: 1m
scrape_timeout: 8s
metrics_path: /api/prometheus/metrics
static_configs:
- targets: ['myspeed:5216']
Мониторинг в Grafana
Для визуализации данных в Grafana будем использовать дашборд MySpeed с ID 21647
.

Заключение
Мы развернули MySpeed и настроили интеграцию с Grafana и Prometheus для мониторинга интернет соединения.