Katkat

Design a high-level logging system

MicrosoftSoftware Engineer · Technical Screen

Last updated

This System Design question evaluates a candidate's ability to design scalable, reliable centralized logging and observability infrastructure, covering distributed systems concepts such as ingestion, durable storage, querying/indexing, access control, and multi-tenant separation.

Design a high-level centralized logging system for a company.

Assume many services (microservices, batch jobs) running across multiple hosts/containers need to emit logs. The system should:

  • Ingest logs from many producers.
  • Store logs durably with retention.
  • Support querying/filtering by time range, service, host, log level, request/trace ID.
  • Handle bursts and partial outages.
  • Provide basic access control and multi-tenant separation (e.g., by team/environment).

Describe the architecture, key components, data model/indexing strategy, scaling approach, and reliability considerations. No diagram is required, but be clear about data flow.