ドッカーのログをELKスタックに転送する必要があります。
スタックの管理者は、メッセージのタイプパラメータに従って自分のログをフィルタリングします。今私はfilebeatを使用して、 document_type
Logstash設定でメッセージが適切にフィルタリングされるようにします。
私は現在、Filebeatの使用を避けようとしています。私のEC2マシンをオンデマンドでインスタンス化し、実行時にそれぞれにfilebeatをインストールする必要がないためです。
私はすでにsyslogドライバがあることを知りました他にも利用可能です。私はsyslogドライバを設定し、メッセージはLogstashに送られますが、file_tatのようにdocument_typeの値を設定する方法を見つけることができません。 Syslogドライバやその他のDockerネイティブドライバを使用してこのメタデータをLogstashに送信するにはどうすればよいですか?
ありがとう!
回答:
回答№1は1syslog出力に次のようなタグを付けることはできません:
docker run -d --name nginx --log-driver=syslog --log-opt syslog-address=udp://LOGSTASH_IP_ADDRESS:5000 --log-opt syslog-tag="nginx" -p 80:80 nginx
そしてあなたのログシュシュのルールで:
filter {
if "nginx" in [tags] {
add_field => [ "type", "nginx" ]
}
}