Поток данных из журнала доступа Nginx - ›Rsyslog или Syslog -› Fluentd - ›Kinesis

Я работаю над передачей nginx журналов доступа Fluentd aws kinesis AWS S3 via kinesis firehose. Журналы nginx будут помещены в AWS Glacier в течение log rotation.

Я нахожусь на начальных этапах, когда мне нужно передать журналы доступа nginx в fluentd через syslog / rsyslog.

Используемая версия Nginx - 1.14.

My OS is :

NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"

Есть много способов отправить логи nginx в rsyslog.

Способ 1: Использование модуля imfile и обновление rsyslog.conf, как показано в https://petermolnar.net/log-nginx-to-rsyslog/

Способ 2: Обновление nginx.conf для записи непосредственно в системный журнал. Я беспокоюсь, что это замедлит работу nginx при большом трафике. https://docs.nginx.com/nginx/admin-guide/monitoring/logging/#logging-to-syslog.

Способ 3: пропустите rsyslog / syslog и напрямую передавайте данные из nginx в fluentd через модуль https://github.com/fluent/nginx-fluentd-module. Меня беспокоит, что этот модуль надежен или нет, а также не станет ли nginx менее отзывчивым из-за использования этого модуля.

Каков наилучший способ достижения цели, цель состоит в том, чтобы поток данных в реальном времени из журналов доступа nginx к fluentd не блокировал nginx для обслуживания запросов.


person Jay Teli    schedule 28.05.2019    source источник
comment
Жду ответов   -  person Jay Teli    schedule 29.05.2019


Ответы (1)


Поскольку нет ответов больше месяца, делюсь тем способом, который я выбрал.

Использование модуля imfile и обновление rsyslog.conf, как показано в https://petermolnar.net/log-nginx-to-rsyslog/

person Jay Teli    schedule 23.07.2019