Мониторинг и проверки здоровья
Конечная точка проверки здоровья
Заголовок раздела «Конечная точка проверки здоровья»Бот предоставляет конечную точку мониторинга на настроенном порту.
curl http://your-bot:8080/healthcheckЗдоров (200 OK):
{ "status": "ok", "version": "3.4.2", "commit": "abc123", "buildDate": "2024-11-10"}Ошибка (500 Error):
{ "status": "error", "message": "database connection failed"}Что проверяется
Заголовок раздела «Что проверяется»- База данных - Подключение к PostgreSQL
- Панель Remnawave - Доступность API
- Служба бота - Процесс запущен
- API ключ - Учётные данные действительны
Настройка мониторинга
Заголовок раздела «Настройка мониторинга»Проверка здоровья Docker Compose
Заголовок раздела «Проверка здоровья Docker Compose»Уже настроена в docker-compose.yaml:
healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/healthcheck"] interval: 30s timeout: 10s retries: 3Ручной мониторинг
Заголовок раздела «Ручной мониторинг»Регулярно проверяйте статус:
# Проверить сейчасcurl -s http://localhost:8080/healthcheck | jq
# Проверить каждую минутуwatch -n 60 'curl -s http://localhost:8080/healthcheck | jq'
# Записать результатыwhile true; do echo "$(date): $(curl -s http://localhost:8080/healthcheck)" sleep 60done >> /var/log/bot-health.logВнешний мониторинг
Заголовок раздела «Внешний мониторинг»Uptime Robot (рекомендуется):
- Перейдите на uptimerobot.com
- Добавьте HTTP монитор
- URL:
https://bot.example.com/healthcheck - Интервал: 5 минут
- Получайте оповещения об отказах
Grafana + Prometheus:
- Скрейпируйте конечную точку каждые 30 сек
- Создавайте дашборды
- Устанавливайте оповещения
Логи и отладка
Заголовок раздела «Логи и отладка»Просмотр логов
Заголовок раздела «Просмотр логов»# Текущие логиdocker compose logs remnawave-telegram-shop-bot
# Следить за логами (в реальном времени)docker compose logs -f remnawave-telegram-shop-bot
# Последние N строкdocker compose logs --tail 100 remnawave-telegram-shop-bot
# Определённый диапазон времениdocker compose logs --since 2024-11-10T10:00:00 --until 2024-11-10T11:00:00 remnawave-telegram-shop-botЛоги БД
Заголовок раздела «Логи БД»docker compose logs -f postgresФильтрация логов
Заголовок раздела «Фильтрация логов»# Только ошибкиdocker compose logs remnawave-telegram-shop-bot | grep ERROR
# Связанные с платежамиdocker compose logs remnawave-telegram-shop-bot | grep -i payment
# Конкретный пользовательdocker compose logs remnawave-telegram-shop-bot | grep "user_id:123456789"