私は/ var/lib/docker/containersディレクトリをマウントし、各コンテナのすべてのログを出力するfluentdコンテナを使用しています。ログは/var/lib/docker/containers/$container_id/$container_id-json.logに保存されます。これらには、コンテナ名またはイメージ名は含まれません。私は、ログファイルから来るすべてのログに別々のフィールドにコンテナとイメージ名を追加できるようにする必要があります。Dockerのロギングにfluentdを使用する場合、コンテナとイメージの名前を取得する方法は?
コンテナ名とイメージ名は、どちらも/var/lib/docker/container/$container_id/config.v2.jsonに格納されています。私はそのファイルからイメージと名前を取得し、それを対応するログにレコードとして追加する方法を理解できません。
これは私の最初の考えであり、これを行うにはより良い方法があるかもしれませんが、アドバイスを提供することは自由です。
サイドノート:これまでlogspoutを同様の方法で使用していたので、私は意図的にfluentdをドッキングロギングドライバとして使用していません。現在の目標は、同様の方法でlogspoutをfluentdに置き換えることです。ロギングドライバがこの情報をより簡単な方法で提供している場合は、後で切り替えることを検討します。