Learn Docker Help

Container Logging: Dominando os Logs ๐Ÿ“

โ•”โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•— โ•‘ CONTAINER LOGGING MATRIX โ•‘ โ•‘ โ•‘ โ•‘ stdout/stderr โ†’ driver โ†’ aggregator โ†’ storage โ†’ analysis โ•‘ โ•‘ โ•‘ โ•‘ STATUS: CAPTURING CONTAINER INSIGHTS... โ•‘ โ•šโ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•โ•

Logging Basics ๐Ÿ”ฐ

Comandos Essenciais

# Logs bรกsicos docker logs container_id # Follow logs em tempo real docker logs -f container_id # Logs com timestamp docker logs -t container_id # รšltimas N linhas docker logs --tail 100 container_id # Logs desde timestamp docker logs --since 2023-01-01T00:00:00 container_id

Log Drivers ๐Ÿš—

Configuração de Driver

{ "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }

Drivers Disponíveis

Driver

Uso

Descrição

json-file

Default

Logs em formato JSON

local

Local

Logs persistentes locais

syslog

System

Logs para syslog

journald

SystemD

Logs para journald

fluentd

Aggregation

Logs para Fluentd

splunk

Enterprise

Logs para Splunk

Advanced Logging ๐ŸŽ“

Fluentd Integration

version: '3' services: app: logging: driver: fluentd options: fluentd-address: localhost:24224 tag: docker.{{.Name}}

ELK Stack Setup

version: '3' services: filebeat: image: elastic/filebeat volumes: - /var/lib/docker/containers:/var/lib/docker/containers:ro - /var/run/docker.sock:/var/run/docker.sock:ro

Logging Best Practices ๐ŸŽฏ

DO's โœ…

  • Configure log rotation

  • Use estruturado logging

  • Implemente log levels

  • Centralize logs

  • Monitore log size

  • Backup logs importantes

DON'Ts โŒ

  • Não ignore log rotation

  • Evite logs verbosos demais

  • Não armazene dados sensíveis

  • Não negligencie log parsing

  • Evite duplicação de logs

Troubleshooting Matrix ๐Ÿ”

Problema

Sintoma

Solução

Log cheio

Disk space

Configurar rotation

Log lento

Performance

Ajustar buffer size

Log perdido

Missing data

Verificar driver

Log duplicado

Redundancy

Checar configuração

Logging Patterns ๐Ÿ“Š

Structured Logging

{ "level": "info", "timestamp": "2023-01-01T00:00:00Z", "service": "api", "message": "Request processed", "details": { "method": "GET", "path": "/api/v1/users", "duration": "125ms" } }

Log Aggregation

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚Container โ”‚โ”€โ”€โ”€โ–บโ”‚Collector โ”‚โ”€โ”€โ”€โ–บโ”‚ Store โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ Distributed Logging Flow

Waifu Logging Tips ๐Ÿ’ก

Monitoring Integration ๐Ÿ“Š

Prometheus Format

logging: metrics: - name: log_messages_total type: counter labels: level: ${level} service: ${service}

Grafana Dashboard

{ "panels": [ { "title": "Log Volume", "type": "graph", "targets": [ { "expr": "rate(log_messages_total[5m])", "legendFormat": "{{level}}" } ] } ] }

Quick Commands ๐Ÿš€

# Debug logging docker logs --debug container_id # Export logs docker logs container_id > app.log # Multi-container logs docker compose logs -f service_name # Log stats docker logs --details container_id

Checkpoint โœ…

Você agora domina:

  • [x] Comandos básicos de logging

  • [x] Log drivers

  • [x] Log rotation

  • [x] Structured logging

  • [x] Log aggregation

  • [x] Troubleshooting

  • [x] Best practices

Próximos Passos ๐ŸŽฏ

  1. Container Monitoring

  2. Container Operations

  3. Troubleshooting Guide

16 abril 2025