# Hanzo O11y — Hanzo AI > Unified observability — traces, metrics, logs, profiles o11y.hanzo.ai # Hanzo O11y Traces, metrics and logs, in one place Your services send OpenTelemetry; it lands in one column store and comes back as APM, logs, traces, metrics and exceptions. Because it is one store, a span and the log line it produced are one query rather than two tabs and a copied timestamp. [Get Started](https://docs.hanzo.ai/docs/o11y)[View on GitHub](https://github.com/hanzoai/o11y) ## One store, one query language Every panel scopes to your org from the token, so a shared deployment still answers one tenant at a time. ### Traces and APM Follow one request across services, queues and databases. Sort by the slow tail rather than the average, and open the span that spent the time. ### Metrics Write PromQL if you already have it, or build the query in the UI if you do not. Both run against the same store the traces are in. ### Logs Search structured logs by field, not by regex over a blob. A span carries the id its log lines were written with, so the pivot is a click. ### Exceptions Errors are grouped and counted rather than listed, so a thousand of the same stack trace is one row with a number on it — and it links to the trace that raised it. ### Dashboards and alerts An alert rule is a saved query, so what fires at three in the morning is something you already looked at. It reaches PagerDuty, Opsgenie, Slack, Teams, email or a webhook. ### OpenTelemetry on the wire OTLP over gRPC on 4317 and HTTP on 4318. Any OTel SDK or collector points at it by setting one endpoint variable — there is no agent of ours to install. ## Point an OTLP endpoint at it [Read the docs](https://docs.hanzo.ai/docs/o11y)[View on GitHub](https://github.com/hanzoai/o11y) ## Open source License: Apache-2.0[hanzoai/o11y](https://github.com/hanzoai/o11y) ## Get O11y Observability suite [Deploy to Cloud](https://console.hanzo.ai/deploy)[Self-host](https://docs.hanzo.ai/docs/o11y)