Парсим стандартный nginx access log vector-ом и раскладываем по ECS ECS (Elastic Common Schema) - это стандарт для унификации структурированных данных. Он определяет, как должны выглядеть поля логов, что упрощает их обработку, анализ и визуализацию. Более подробно тут. Конфиг парсинга: observer.product = "<Product name>" .observer.vendor = "<Vendor name>" .event.kind = "event" .event.category = ["web"] .event.type = ["access", "info structured, json_err = parse_json(.message) if json_err == null && is_object(structured) { . = merge!(., structured) } else { .parsed, re_err = parse_regex( .message, pattern: r'(?P<source_ip>[\d\.]+) - - \[(?P<time>.+?)\] "(?P<method>[A-Z]+) (?P<path>[^ ]+) HTTP/(?P<http_version>[0-9\.]+)" (?P<status_code>\d+) (?P<bytes_sent>\d+|-) "(?P<referrer>[^"]*)" "(?P<user_agent>[^"]*)" "(?P<extra>[^"]*)"' ) if re_err == null && is_object(.parsed) { .source.ip = .parsed.source_ip .http.request.method = .parsed.method .url.path = .parsed.path .http.version = .parse
Парсим стандартный nginx access log vector-ом и раскладываем по ECS
23 июля 202523 июл 2025
1 мин