Изменить имя приложения, отправленное драйвером системного журнала докера

Я использую Papertrail для сбора логов моего контейнера Docker. Для этого я использовал драйвер syslog при создании контейнера:

sudo docker run --name my_container --log-driver=syslog  ...

... и добавил следующую строку в мой /etc/rsyslog.conf

*.* @logsXXX.papertrailapp.com:YYYY

В конце я попадаю на журналы Papertrail примерно так:

Apr 24 13:41:55 ip-10-1-1-86 docker/3b00635360e6: 10.0.0.5 - - [24/Apr/2015:11:41:57 +0000] "GET /healthcheck HTTP/1.1" 200 0 "-" "" "-"

Проблема в том, что имя приложения (см. Syslog RFC) - это docker/container_id

Я бы предпочел имя контейнера (или хоста). Но я не знаю, как это сделать. Я попытался установить конкретное имя хоста для моего контейнера, как показано ниже, но это не сработало лучше:

sudo docker run --name my_container -h my_container --log-driver=syslog  ...

1 ответ

Решение

Вы не можете сделать это. Вот ожидающий PR, чтобы добавить эту функцию: https://github.com/docker/docker/pull/12668

Надеюсь, это скоро будет объединено. Я думаю, ты всегда можешь сделать свой собственный.

Обновление: похоже, это намечено для Docker 1.8

Обновление: теперь это возможно:

docker run --name my_container --log-driver=syslog --log-opt syslog-tag=my_application
Другие вопросы по тегам