Приложение 12Factor: сбор журналов stdout/stderr с помощью Fluentd

Прочитав следующий пост от 12factor, у меня возник вопрос, который я хотел бы проверить, как вы, ребята, справляетесь с этим.

По сути, приложение должно писать напрямую в stdout/stderr. Можно ли каким-либо образом перенаправить эти потоки напрямую в fluentd (не привязываясь к rsyslog/syslog)? По мере того, как я все больше узнаю о fluentd, я считаю, что это отличный инструмент для агрегации журналов из нескольких приложений/платформ.

Основная причина этого заключается в том, что если приложение является кроссплатформенным, rsyslog/syslog может быть недоступен, и, насколько я понимаю, использование фреймворков ведения журналов (для работы которых требуется необходимая конфигурация) будет нарушением 12фактора.

Спасибо!


person resilva87    schedule 25.02.2015    source источник
comment
с докером все становится проще   -  person Ivan Aracki    schedule 11.07.2018


Ответы (2)


Вам нужно настроить диспетчер процессов для использования fluentd.

"Процессы приложения с двенадцатью факторами [...] должны полагаться на диспетчер процессов операционной системы (например, Upstart, диспетчер распределенных процессов на облачная платформа или инструмент вроде Foreman в разработке) для управления выходными потоками [...]."

По сути, идея состоит в том, что перенаправление журнала является заботой менеджера процессов. Upstart, например, обычно использует регистратор, у которого есть опция (-u) для записи в Сокет домена Unix. В свою очередь, вы можете настроить fluentd на использование того же сокета в качестве входного потока.

Fluentd поддерживает множество входных потоков (их называют источниками данных), что должно обеспечить решение примерно для любой диспетчер среды и процессов, который вы можете использовать (что нам необходимо знать, чтобы предоставить более полное решение).

person Marco Roy    schedule 29.07.2015

Это все еще экспериментальная программа, но вы можете взглянуть на stdout-hook.

Эта программа считывает вывод STDOUT из дочернего процесса и отправляет записи в Fluentd.

person Kazuki Ohta    schedule 26.02.2015