Aplicações containerizadas precisam de logging centralizado e monitoramento porque containers são efêmeros e numerosos — logs e métricas devem ser coletados externamente para que sobrevivam à remoção do container e forneçam visibilidade em todo o sistema. Esta é uma observabilidade essencial para containers em produção.
Logging: logar para stdout/stderr, agregar centralmente
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
