Изменить имя приложения, отправленное драйвером системного журнала докера
Я использую 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