Marzban Node Monitor — это микросервис для автоматического мониторинга и управления состоянием нод в системе Marzban. Он регулярно проверяет статус всех нод, перезапускает их при обнаружении проблем и отправляет уведомления в Telegram, что позволяет оперативно реагировать на любые сбои в работе системы.
- Мониторинг нод: Регулярная проверка состояния всех нод с использованием API Marzban.
- Перезапуск нод: Автоматический перезапуск нод, которые не работают корректно.
- Уведомления в Telegram: Отправка уведомлений в Telegram о любых изменениях в статусе нод.
- Python 3.11 — основной язык программирования.
- HTTPX — библиотека для выполнения HTTP-запросов.
- Docker — для контейнеризации и удобного развертывания микросервиса.
- Redis — используется для кеширования данных.
- dotenv — для безопасного хранения конфиденциальных данных (токены, пароли и пр.).
Для установки Docker выполните следующую команду:
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
-
Клонируйте репозиторий:
git clone https://github.com/sm1ky/marzban-node-monitor.git cd marzban-node-monitor
-
Создайте файл
.env
и добавьте в него следующие переменные окружения:MARZBAN_BASE_URL=https://your-marzban-instance.com/api MARZBAN_USERNAME=your_username MARZBAN_PASSWORD=your_password TELEGRAM_TOKEN=your_telegram_bot_token TELEGRAM_CHAT_ID=your_telegram_chat_id TELEGRAM_THREAD_CHAT_ID= REDIS_HOST=redis REDIS_PORT=6379 REDIS_DB=1 REDIS_PASSWORD=PASSWORD LOG_LEVEL=DEFAULT LANG=ru
Для запуска микросервиса и Redis выполните команду:
docker compose up -d
Docker автоматически создаст сеть monitor_network
, если она не была создана ранее, и запустит контейнеры в этой сети.
Чтобы обновить проект после изменения данных в репозитории, выполните следующие шаги:
-
Перейдите в директорию проекта:
cd marzban-node-monitor
-
Получите последние изменения из репозитория:
git pull origin production
-
Перезапустите контейнеры без необходимости повторной сборки образов:
docker compose up -d
Проект распространяется под лицензией MIT. Подробности смотрите в файле LICENSE.
- Имя: Artem
- Связь: dev@sm1ky.com | Telegram