Back to all terms
ServerNode 1Node 2Infrastructure
Infraintermediate

Log Aggregation

Collect, centralize, and index logs from all application instances and services into a searchable platform.

Also known as: centralized logging, log management, ELK stack, log collection, log pipeline

Description

Log aggregation is the practice of collecting logs from all application instances, services, and infrastructure components into a centralized platform for searching, analysis, and alerting. In distributed systems with multiple services running across many instances, logs are useless if they remain isolated on individual servers -- centralized aggregation enables cross-service correlation, pattern detection, and incident investigation.

The log aggregation pipeline typically involves three stages: collection (agents like Fluentd, Fluent Bit, Vector, or Logstash running on each host or as sidecar containers), transport (buffering and forwarding over the network, often via Kafka for high-volume environments), and storage/indexing (platforms like Elasticsearch/OpenSearch, Grafana Loki, Datadog Logs, or CloudWatch Logs). Loki takes a unique approach by indexing only labels (metadata) rather than full-text, drastically reducing storage costs while still enabling efficient querying.

Effective log aggregation requires consistent log formatting across services (structured JSON with shared field names), log retention policies balanced between cost and debugging needs (e.g., 7 days hot, 30 days warm, 1 year cold/archived), alert rules for error patterns and anomalies, and access controls limiting who can view production logs containing sensitive data. Sampling or filtering verbose debug logs before ingestion can significantly reduce costs without losing important signal.

Prompt Snippet

Deploy a log aggregation pipeline using Fluent Bit as a DaemonSet in Kubernetes, parsing container JSON logs and enriching with pod labels and namespace metadata. Route logs to Grafana Loki with retention configured for 14 days hot storage and 90 days in S3 via compaction. Define label extraction rules for service_name, log_level, and trace_id to enable efficient LogQL queries. Create Grafana dashboards with log panels filtered by namespace and service, and configure Loki alerting rules in Ruler to trigger PagerDuty alerts when ERROR log rate exceeds 10/minute sustained over 5 minutes for any service.

Tags

loggingobservabilitycentralized-loggingelklokiinfrastructure