コンテナのログが大量に流れてきてダルいのでなんとかする
コンテナのログが大量に流れてきてダルいのでなんとかする
そもそも的な話
DockerやPodmanがsystemdのサービスとして動作する環境下では、特段設定がない限りコンテナのログがjournalに垂れ流される
systemdは、管理下にあるサービスの標準出力・標準エラー出力をデフォルトでsystemd-journaldに転送するため
systemd-journaldにアプリケーションログが転送される経路
これによって、docker.jsonでlocalドライバを設定しているにもかかわらずjournalctl(1)でコンテナのログが見える状態
方針的な話
Dockerエンジンのデフォルトのログ設定はnoneにしておく
noneにした場合の影響
明示的にloggingの指定のないコンテナのログが出力されなくなる
これによって、ログの量が減る
使用量を節約しながらやっているので、理にかなう
対処・今後の運用的な話
コンテナアプリケーションを作ったり、トラブルシューティングの際は個別に設定すればよい
/etc/{docker,containers}とかで設定した設定はあくまでデフォルト設定なので、イメージから立ち上げる際はdocker run --log-driver foo --log-opt hogehogeみたいな感じで
composeを立ち上げる際も明示的にcomposeファイルに書けばそれがlogging driverとして指定される
サービスを現在公開している現状は、リバースプロキシ(Apache2)のログだけ採取できれば良い
悪意のあるアクセスかどうかは、そのログさえ見ればひとまず判断できそう