2015-04-24 9 views
7

Używam Papertrail do zbierania dzienników kontenera Docker. Czy do tego, użyłem syslog kierowcę, kiedy stworzył pojemnika:Zmień nazwę aplikacji wysłaną przez sterownik syslog doki

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

... i dodaje następujący wiersz do mojego /etc/rsyslog.conf

*.* @logsXXX.papertrailapp.com:YYYY 

Na koniec, mam na dzienniki Papertrail tak:

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 "-" "" "-" 

problemem jest to, że nazwa aplikacji (patrz syslog RFC) jest doker/container_id

Wolałbym nazwę kontenera (lub hosta). Ale nie wiem, jak to zrobić. Próbowałem ustawić konkretną nazwę hosta do mojego pojemnika jak poniżej, ale to nie działa lepiej:

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

Mam nadzieję, że w Döcker v1.8 będzie '--log- opcja opt', która może dać ci to, czego potrzebujesz. Źródło: http://blog.treasuredata.com/blog/2015/07/07/collecting-docker-logs-with-fluentd – Tom

Odpowiedz

11

nie można zrobić. Oto oczekujący komunikat PR, aby dodać tę funkcję: https://github.com/docker/docker/pull/12668

Mam nadzieję, że wkrótce zostanie połączony. Zawsze, jak przypuszczam, zawsze możesz rzucić własną.

Aktualizacja: Wygląda na to trafi do Docker 1,8

Aktualizacji: To jest teraz możliwe:

docker run --name my_container --log-driver=syslog --log-opt syslog-tag=my_application 
+2

* uwaga: * to teraz "tag", a nie "syslog-tag": https://docs.docker.com/engine/admin/logging/overview/#/syslog-options –