Как настроить индексацию логов веб-сервера (например, Nginx) для мониторинга?

«Как настроить индексацию логов веб-сервера (например, Nginx) для мониторинга?» — вопрос из категории Мониторинг и логирование, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Для эффективной индексации и анализа логов веб-сервера я использовал стек **EFK (Elasticsearch, Fluentd/Fluent Bit, Kibana)** или его вариацию **ELK (с Logstash)**. Вот типичный pipeline для Nginx. **Архитектура:** `Nginx Access/Error Logs` → `Fluent Bit (агент)` → `Kafka (буфер, опционально)` → `Fluentd (агрегатор)` → `Elasticsearch` → `Kibana (визуализация)`. **1. Конфигурация Fluent Bit для сбора логов (устанавливается на каждой ноде с Nginx):** ```ini # /etc/fluent-bit/fluent-bit.conf [SERVICE] Parsers_File /etc/fluent-bit/parsers.conf [INPUT] Name tail Path /var/log/nginx/access.log Parser nginx Tag nginx.access Mem_Buf_Limit 5MB [OUTPUT] Name forward Match * Host fluentd-aggregator.example.com Port 24224 ``` **2. Парсер для формата Nginx (parsers.conf):** ```ini [PARSER] Name nginx Format regex Regex ^(?[^ ]*) (?[^ ]*) (?[^ ]*) [(?