2015-04-24 16 views
7

Sto utilizzando Papertrail per raccogliere i log del contenitore Docker. fare per questo, ho usato il driver syslog quando ho creato il contenitore:Modificare il nome dell'app inviato dal driver syslog della docker

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

... e aggiunta la seguente riga alla mia /etc/rsyslog.conf

*.* @logsXXX.papertrailapp.com:YYYY 

Alla fine, salgo sul log Papertrail in questo modo:

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

il problema è che il nome-app (vedi syslog RFC) è finestra mobile/container_id

Preferisco avere il nome del contenitore (o host). Ma non so come fare. Ho cercato di impostare un nome host specifico per il mio contenitore come qui di seguito, ma non ha funzionato meglio:

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

Speriamo che in finestra mobile v1.8 ci sarà un '--log- opzione opt »che potrebbe darti quello che ti serve. Fonte: http://blog.treasuredata.com/blog/2015/07/07/collecting-docker-logs-with-fluentd – Tom

risposta

11

Non puoi farlo. Ecco una PR in sospeso per aggiungere questa funzione: https://github.com/docker/docker/pull/12668

Speriamo che si unisca presto. Potresti sempre tirare il tuo, suppongo.

Aggiornamento: Sembra che questo è previsto per Docker 1.8

Aggiornamento: Questo è ora possibile:

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

* nota: * ora è "tag" e non "syslog-tag": https://docs.docker.com/engine/admin/logging/overview/#/syslog-options –