やりたいこと、不明なことをしたためます。
どなたかお分かりになりましたら、ご教示くださいますと幸いです。
□やりたいこと
Dockerコンテナのログを一か所にまとめたい。
※デフォルトは、/var/lib/docker/containers/<コンテナID>/<コンテナID>-json.log
Dockerコンテナは、アプリの機能で起動するため、運用者は制御できない。
そのため、Dockerコンテナに関するログをすべて取得するために、
ユーザがアプリケーション経由で起動したDockerコンテナのログを一か所にまとめたい。
※ホストOSの/var/log/td-agent/docker/docker.logにまとめて出力したい。
□構成
OS :CentOS7.6
Docker : Version:19.03.9
td-agent : 3.7.1
□試したこと
docker run でコンテナを作成するとき、"--log-driver=fluentd"を付与してコンテナ作成。
Fluentdの設定ファイル(/etc/td-agent/td-agent.conf)は下記の通り。
<source> @type forward <parse> @type json </parse> </source> <filter docker.**> @type parser key_name log reserve_data true <parse> @type json </parse> </filter> <match *> @type file path /var/log/td-agent/docker.log </match>
上記を設定した上で、
①td-agentユニット再起動
②事前に作成したdockerイメージ(--log-driverオプションを付与してrunしたもの)をstart
③/var/log/td-agent/dockerを確認
□できたこと
何かしらのファイル出力はできた。
/var/log/td-agent/docker/buffer.<コンテナID>.log
/var/log/td-agent/docker/buffer.<コンテナID>.log.meta
※正しく出力できているか不明。。
お手数おかけしますが、
ご存じの方、ご教示いただけますと幸いです。。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。