Skip to content

arpicme/vless_monitoring

 
 

Repository files navigation

VLess Monitoring

Система мониторинга состояния VLESS VPN-соединений с уведомлениями в Telegram и интеграцией с Prometheus/Grafana.

🌟 Возможности

  • 🔍 Мониторинг состояния VLESS VPN серверов
  • 📊 Измерение времени отклика, скорости и доступности сайтов
  • 📡 TCP-пинг для оценки стабильности соединения
  • 📈 Интеграция с Prometheus для визуализации метрик
  • 🤖 Уведомления в Telegram об изменении статуса серверов
  • 📋 Ежедневные сводные отчеты
  • 🐳 Работает в Docker для простоты установки и обслуживания

⚡ Быстрый старт

Скопируйте и выполните следующую команду для автоматической установки:

curl -s -L https://github.com/gopnikgame/vless_monitoring/raw/main/install.sh | sudo bash

📋 Требования

  • Linux сервер (Ubuntu/Debian рекомендуется)
  • Docker и Docker Compose
  • Интернет-соединение для загрузки контейнеров и проверки VPN
  • VLESS-подписка в формате base64 или файл с подпиской

🚀 Установка

Ручная установка

  1. Клонируйте репозиторий:
    git clone https://github.com/gopnikgame/vless_monitoring.git cd vless_monitoring
  2. Запустите скрипт установки:
    chmod +x launcher.sh sudo ./launcher.sh

Настройка

  1. Отредактируйте config.json для настройки параметров мониторинга:

    • Добавьте Telegram Bot Token и Chat ID для уведомлений
    • Укажите VLESS-подписку (в base64 или путь к файлу)
    • Настройте интервалы проверки и список тестируемых сайтов
    • Включите/отключите Prometheus метрики
  2. Запустите мониторинг через меню управления:

    ./scripts/manage_bot.sh

🔧 Конфигурация

Основной конфигурационный файл config.json содержит следующие параметры:

Параметр Описание
subscription_base64 VLESS подписка в base64 формате
subscription_file Путь к файлу с подпиской
use_subscription_file Использовать файл вместо строки base64
status_file Путь к файлу для хранения статусов
v2ray_bin Путь к исполняемому файлу Xray/V2Ray
telegram_bot_token Токен Telegram бота для уведомлений
telegram_admin_chat_id ID чата для отправки уведомлений
check_interval Интервал между проверками (секунды)
connection_timeout Таймаут соединения (секунды)
retries Количество попыток при сбое
test_sites Массив сайтов для проверки
prometheus.enabled Включить Prometheus метрики
prometheus.port Порт для Prometheus метрик
performance_test Настройки тестирования производительности

📊 Prometheus и Grafana

Для визуализации метрик мониторинга:

  1. Включите Prometheus метрики через меню управления (опция 8) или напрямую в config.json
  2. Настройте Prometheus для сбора метрик с вашего сервера (порт 9111 по умолчанию)
  3. Импортируйте готовую панель Grafana из файла grafana/vless_monitoring_dashboard.json
  4. Используйте скрипт для автоматической настройки Grafana и проверки статуса метрик.

Доступные метрики:

  • vpn_server_up - Статус доступности VPN сервера
  • vpn_success_rate - Процент успешно загруженных сайтов
  • vpn_connection_time_ms - Время установки соединения
  • vpn_site_up - Доступность конкретных сайтов
  • vpn_site_response_time_ms - Время отклика сайтов
  • vpn_tcp_ping_ms - TCP пинг до сайтов
  • vpn_download_speed_mbps - Скорость загрузки
  • vpn_prometheus_status - Статус Prometheus метрик

📱 Telegram уведомления

Бот отправляет следующие уведомления:

  • Изменение статуса VPN серверов (с OK на ERROR и обратно)
  • Ежедневные отчеты со статистикой в 9:00 утра
  • Уведомление о запуске мониторинга

🛠️ Управление через скрипт

Запустите ./scripts/manage_bot.sh для доступа к меню управления:

  1. ⬆️ Обновить из репозитория
  2. 📝 Создать или редактировать файл конфигурации
  3. 🚀 Собрать и запустить контейнер мониторинга
  4. ⏹️ Остановить и удалить контейнер мониторинга
  5. 📊 Показать все логи
  6. ❌ Показать логи ошибок
  7. 🔄 Перезапустить мониторинг
  8. 📈 Включить Prometheus метрики
  9. 🔍 Проверить статус Prometheus метрик
  10. 🧹 Очистить Docker и временные файлы

📝 Логи

Логи мониторинга доступны в:

  • /opt/vless_monitoring/logs/monitor.log - Основной лог
  • /opt/vless_monitoring/logs/error.log - Лог ошибок

Просмотр логов из Docker:

docker logs vless-monitor

🔄 Обновление

Обновление до последней версии:

cd /opt/vless_monitoring ./scripts/manage_bot.sh

Затем выберите опцию 1 в меню для обновления из репозитория.

🤝 Вклад в проект

Предложения и улучшения приветствуются! Вы можете:

  1. Форкнуть репозиторий
  2. Создать ветку для вашей функции (git checkout -b feature/amazing-feature)
  3. Зафиксировать изменения (git commit -m 'Add amazing feature')
  4. Отправить ветку (git push origin feature/amazing-feature)
  5. Открыть Pull Request

📜 Лицензия

Распространяется под лицензией MIT. Смотрите файл LICENSE для получения дополнительной информации.

📧 Контакты

Telegram: @main_line

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 55.4%
  • Shell 43.4%
  • Dockerfile 1.2%