error_log уровни

Тема дорожной карты · Nginx

Уровни журнала ошибок Nginx управляют детальностью диагностических сообщений, записываемых в файл журнала ошибок; они настраиваются директивой error_log с указанием пути и ключевого слова серьёзности: error_log /var/log/nginx/error.log warn;. Доступные уровни журнала ошибок от наименее подробного к наиболее подробному: emerg, alert, crit, error, warn, notice, info и debug; каждый уровень включает все сообщения с более высокой серьёзностью, поэтому установка warn фиксирует предупреждения, ошибки, критические оповещения и аварийные ситуации. Уровень debug чрезвычайно подробный и должен включаться только временно на разработческом или тестовом веб-сервере, поскольку он может генерировать гигабайты вывода на продакшен-обратном прокси под нагрузкой; кроме того, он требует компиляции Nginx с --with-debug. Слишком высокий уровень журнала ошибок (например, error) может скрыть полезные сообщения warn и notice, указывающие на неправильную конфигурацию или проблемы upstream в балансировщике нагрузки, тогда как слишком низкий (info или debug) увеличивает дисковый I/O и затраты на хранение. Подбор уровня журнала ошибок Nginx под операционное окружение — warn для продакшена, info для тестового стенда, debug для отладки — базовая практика настройки Nginx.

Как это работает

error_log уровни использует access_log + error_log. Определите JSON log-формат (log_format json escape=json '{"time":"$time_iso8601",...}';) для лёгкого ingestion в Loki, Elasticsearch, Vector. access_log /path/access.log json; per server-блок. Status-модуль (stub_status) экспонирует базовые метрики; nginx-vts-module даёт полные Prometheus-совместимые метрики. nginx-prometheus-exporter — sidecar-вариант.

Когда применять

Переход на JSON access logs — с первого дня; намного проще запрашивать, чем дефолтный combined-формат. Шлите в Loki через Vector/Promtail. nginx-prometheus-exporter — для метрик. Alerts на 5xx > 1%, пороги latency p95/p99, disk usage log-volume. logrotate — для ротации (или daily + dateext конфиг).

Типичные ошибки

Ловушки error_log уровни: дефолтный combined-формат лога ломается на спецсимволах (нет эскейпинга); диск забит access-логами без ротации (сервер перестаёт принимать трафик); не логируется X-Real-IP за CDN (видите CDN-IP вместо реальных клиентов); error log на дефолтном warn-уровне пропускает полезное (ставьте info при инцидентах).

Связанные понятия

Полезные ресурсы