metalnikovg.ru
MetalnikovG.ru

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

Banner.png
Опубликовано
//
2 мин. чтения

MySpeed — это удобный инструмент для тестирования скорости интернет-соединения с удобной визуализацией. Оно позволяет пользователям измерять скорость загрузки (download), скорость отдачи (upload) и задержку (ping) своего интернет-соединения. Имеет простой и красивый дашборд и API для интеграции с Prometheus.

Основные функции MySpeed

  • Измерение скорости: скорость загрузки, скорость отдачи, пинг
  • История тестов: сохранение результатов предыдущих тестов для сравнения.
  • Выбор провайдера для измерений: Speedtest by Ookla, LibreSpeed, Cloudflare
  • Геолокация серверов: возможность выбора сервера для тестирования скорости.
  • Настройка частоты измерений
  • Уведомления: возможность настройки уведомлений в Telegram, Discord и др.

Запуск MySpeed

docker-compose.yml
---
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:

prometheus.yml
  - 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 для мониторинга интернет соединения.