Плагин для нормализации логов nginx
nginx — это HTTP-сервер и обратный прокси-сервер, почтовый прокси-сервер, а также TCP/UDP прокси-сервер общего назначения. Подробнее о nginx можно прочитать здесь
Эта статья предназначена для объяснения работы плагина для нормализации логов nginx в ECS с помощью примеров.
Справка по параметрам конфига:
enabled - выбор типа логов для нормализации (access или error). Можно указать сразу 2 значения. format - формат логов (plain или json). access-log-format - шаблон для парсинга access логов. По умолчанию используется стандартный шаблон nginx: $remote_addr - $remote_user [$time_local] $status "$request" $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for" (Для error логов шаблон не нужен, они одного формата)
Пример конфига:
processors:
- module: nginx
enabled: [access]
format: plain
access-log-format: '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"'
Пример логов:
216.128.162.80 - - [25/Oct/2016:14:49:33 +0200] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.59 Safari/537.36"
Пример конфига:
processors:
- module: nginx
enabled: [access]
format: plain
access-log-format: '[$time_local] -- $geoip2_data_country_iso_code - $allowed_country -- $remote_addr - $remote_user - $server_name to: $upstream_addr: $request upstream_response_time $upstream_response_time msec $msec request_time $request_time'
Пример логов:
[01/Sep/2022:13:57:23 +0000] -- - - no -- 10.0.100.2 - gitlab-ids-robot - example.com to: 216.128.162.80: PUT /repository/ids/releases-ui/ids-ui-v2.0.15-dark.tar.gz HTTP/2.0 upstream_response_time 0.153 msec 1662040643.432 request_time 0.168