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