コンテナ化されたアプリケーションには一元化されたログとモニタリングが必要です。コンテナは一時的で数が多いため、ログとメトリクスは外部で収集する必要があります。そうしないとコンテナ削除時にログが失われ、システム全体の可視性が得られません。これは本番環境のコンテナに必須の観測性です。
ログ:stdout/stderrにログ出力し、中央で集約
BEST PRACTICE: containers should log to STDOUT/STDERR (not to files inside the container):
→ Docker captures these (`docker logs`); a logging DRIVER forwards them elsewhere
→ WHY: containers are EPHEMERAL — logs in a removed container are LOST. Centralize them.
Logging drivers / pipelines forward logs to a central system:
→ json-file (default), syslog, fluentd, awslogs, gelf, etc. (--log-driver)
→ Aggregation stacks: ELK/Elastic (Elasticsearch+Logstash+Kibana), Loki+Grafana,
cloud logging (CloudWatch, Stackdriver), Datadog, etc.
→ Centralized logs: searchable, persistent, span ALL containers/hosts → real visibility
