Конечная точка проверки здоровья
Бот предоставляет конечную точку мониторинга на настроенном порту.
bash
curl http://your-bot:8080/healthcheckОтвет
Здоров (200 OK):
json
{
"status": "ok",
"version": "3.4.2",
"commit": "abc123",
"buildDate": "2024-11-10"
}Ошибка (500 Error):
json
{
"status": "error",
"message": "database connection failed"
}Что проверяется
- База данных - Подключение к PostgreSQL
- Панель Remnawave - Доступность API
- Служба бота - Процесс запущен
- API ключ - Учётные данные действительны
Настройка мониторинга
Проверка здоровья Docker Compose
Уже настроена в docker-compose.yaml:
yaml
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/healthcheck"]
interval: 30s
timeout: 10s
retries: 3Ручной мониторинг
Регулярно проверяйте статус:
bash
# Проверить сейчас
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 60
done >> /var/log/bot-health.logВнешний мониторинг
Uptime Robot (рекомендуется):
- Перейдите на uptimerobot.com
- Добавьте HTTP монитор
- URL:
https://bot.example.com/healthcheck - Интервал: 5 минут
- Получайте оповещения об отказах
Grafana + Prometheus:
- Скрейпируйте конечную точку каждые 30 сек
- Создавайте дашборды
- Устанавливайте оповещения
Логи и отладка
Просмотр логов
bash
# Текущие логи
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Логи БД
bash
docker compose logs -f postgresФильтрация логов
bash
# Только ошибки
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"