dockerコンテナからログを受信するためのrsyslogサーバを設定しようとしています。私は現在、ドッキングウィンドウコンテナを実行するために、次のコマンドーをusinsgています:Docker rsyslogドライバは実際のメッセージの前にメッセージの長さを追加します
sudo docker run -d --log-driver=syslog --log-opt syslog-address=udp://localhost:514 --log-opt syslog-format=rfc5424 --log-opt tag="remote:shouldshow" alpine echo "some random message"
私はタグリモートspliting、コロン文字で休憩にメッセージをrsyslogのためにドッキングウィンドウから、標準のログフォーマットのでrfc5424を使用しています:shouldshowをし、メッセージにshouldshowを追加してください。ここでは、この状況について 詳細情報:
: https://github.com/docker/docker/issues/18712問題がドッキングウィンドウから来る私のログメッセージは、次の例(rsyslogのからrawmsgプロパティ)で、127のように、メッセージの前に追加の3桁の数字を持っているということです
127 <30>1 2016-07-12T00:51:13-03:00 vitor-Lenovo-G50-70 docker/remote:shouldshow 2910 docker/remote:shouldshow some random message
APP-NAMEやsyslogtagなどのsyslogプロパティを使用しようとすると、すべて値が< 30> 1になります。
私は127なしでこのメッセージをコピーして、それはnetcatを経由syslogサーバに送信され、値は次のように、正しく解析されました:
echo '<30>1 2016-07-12T00:15:53-03:00 vitor-Lenovo-G50-70 docker/remote:shouldshow 2910 docker/remote:shouldshow some random message' | nc -u -v localhost 514
誰もが任意のアイデアは、なぜこれが起こっているのか?どんな助けでも本当に感謝しています。前もって感謝します。
ドッカーコードを見ると、この3桁の数字はメッセージの長さであることがわかりました。それでも私は同じ問題に直面している、rsyslogは実際のログメッセージの前にその長さを含むこのメッセージを正しく解析できない。