Как узнать, что произошло в момент падения сервиса
Python
Middle
Без компании
Как узнать, что произошло в момент падения сервиса
Ответы
Для отслеживания падения сервиса в Python можно использовать:
- **Логирование** (logging) – запись событий в файл:
```
import logging
logging.basicConfig(filename='service.log', level=logging.ERROR)
try:
# Код сервиса
except Exception as e:
logging.error(f"Service crashed: {e}", exc_info=True)
```
- **Сбор трейсов** (traceback) – для анализа стека вызовов:
```
import traceback
try:
# Код сервиса
except:
with open('crash.log', 'a') as f:
traceback.print_exc(file=f)
```
- **Мониторинг** (Sentry, Rollbar) – специализированные сервисы для автоматического сбора ошибок.
- **Системные метрики** (CPU, память) – через psutil или мониторинг типа Prometheus.
Для production-сервисов лучше комбинировать несколько подходов: логи + трейсы + внешний мониторинг. Это позволит получить полную картину инцидента.