docker-compose syslog driver loggly многострочные записи журнала - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь настроить ведение журнала для микросервисов Node.js, развернутых на докер-машине.

Я настроил драйвер ведения журнала в моем docker-compose.yml примерно так ...

logging:
  driver: "syslog"
  options:
    tag: "my-app-name"

Я настроил докер-машину для отправки журналов в loggly, выполнив следующие действия ...

curl -O https://www.loggly.com/install/configure-linux.sh
sudo bash configure-linux.sh -a SUBDOMAIN -t TOKEN -u USERNAME

... в соответствии с этими инструкциями https://www.loggly.com/docs/configure-syslog-script/

Мои приложения теперь отправляют логи в loggly.Однако многострочные записи журнала проходят как несколько записей журнала.Это крайне затрудняет работу с трассировкой стека и т. Д.

Есть ли способ настроить docker-compose, syslog, rsyslogd и т. Д. Для сохранения многострочных записей вместе?

Если я проверю/ var / log / syslog напрямую, записи журнала выглядят так ...

Sep 13 08:26:32 [ip_address] my-app-name[1082]: WARNING: Creating a duplicate database object for the same connection.
Sep 13 08:26:32 [ip_address] my-app-name[1082]:     at Object.<anonymous> (/app/my-app-name/db.js:14:10)
...
Sep 13 08:26:32 [ip_address] my-app-name[1082]:     at Object.<anonymous> (/app/my_routes.js:3:28)

В данный момент это создает запись журнала для каждой строки, поэтому он теряет весь контекст.

Я надеюсь, что есть какой-то способ, с помощью которого rsyslogd может выяснить, что все эти строки (имеющие одинаковый префикс) должны быть отправлены в виде одной записи журнала в loggly.

Можно ли это сделать с помощью драйвера системного журнала?Я бы предпочел не добавлять журналы непосредственно в сами приложения.

...