# 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)
