Skip to main content
Observability in Midaz lets you monitor metrics, logs, and traces across your deployed environments. Midaz collects telemetry with the OpenTelemetry framework. A Client Collector in your infrastructure processes it. The collector then routes it securely to Lerian’s managed stack: Prometheus, Loki, Tempo, and Grafana.

How it works


Midaz uses a dual observability model:
  • Client side: for local development, the collector configuration lives in components/infra/grafana/otelcol-config.yaml, mounted read-only into the bundled all-in-one Grafana/OTel container. It sets the collector’s receivers, processors, and exporters. The local configuration ships with ENABLE_TELEMETRY=false. Set it to true to send telemetry to the collector. For production and BYOC, install the Alloy Lerian collection agent instead; see the Alloy Lerian chart README.
  • Lerian side: Lerian operates the managed collector and storage stack.
The bundled collector config masks known sensitive keys (credentials, tokens, legalDocument, accountAlias) in log bodies and in the app.request.payload span attribute. Masking happens in the collector, so it applies after telemetry leaves the application process. The bundled local-development exporters run with TLS disabled (insecure: true). Enable TLS on the collector exporters for any non-local deployment.

Grafana, OpenTelemetry, and tenant isolation


  • Unified view of metrics, logs, and traces in Grafana
  • Built on OpenTelemetry standards
  • Grafana preconfigured and operated by Lerian
  • Secure routing and tenant isolation
See Infra Tools → Observability for advanced setup, collector configuration, and processor customization.