Скачаем следующий контент пак
В Graylog'е перейдем в "Systems" — "Content Packs", нажмем на "Import content pack" — "Browse…", укажем наш JSON файл с контент паком, и жмем "Upload".
Затем в "Select content packs" открываем "Web Servers", находим там "nginx" и жмем на него, дальше в правой части экрана, где описание контент пака применяем его — "Apply".
Для успешного сбора логов, должен быть настроен сервис Kubernetes для Graylog контейнера на порты 12301 и 12302 UDP.
ConfigMap Ingress'а приводим к следующему виду:
kind: ConfigMap apiVersion: v1 metadata: name: nginx-configuration namespace: ingress-staging labels: app.kubernetes.io/name: ingress-staging app.kubernetes.io/part-of: ingress-staging data: use-proxy-protocol: "true" enable-access-log: "true" http-snippet: | log_format graylog2_format '$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" <msec=$msec|connection=$connection|connection_requests=$connection_requests|millis=$request_time>'; access_log syslog:server=graylog-svc.staging.svc.cluster.local:12301 graylog2_format; error_log syslog:server=graylog-svc.staging.svc.cluster.local:12302;
В данном примере у меня обращение к Graylog'у происходит по FQDN Kubernetes сервиса.
Ingress'у Graylog'а скажем, чтобы он не логировал обращения к себе, в "annotations" нужно добавить:
nginx.ingress.kubernetes.io/enable-access-log: "false"