Поток данных из журнала доступа 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.

Моя ОС:

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-fluent-модуль . Здесь я беспокоюсь, надежен ли этот модуль или нет, а также не должен ли nginx стать менее отзывчивым из-за использования этого модуля.

What is the best way to achieve the goal , the goal is for realtime data flow from nginx access logs to fluentd , without blocking nginx to serve requests.

Ожидание ответов

Jay Teli 29.05.2019 10:21
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
1
527
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

Другие вопросы по теме