RousselTMLEARNING

Observability

ClickStack: ClickHouse, HyperDX and OpenTelemetry

ClickHouse's official observability stack: all-in-one installation, the HyperDX interface (search, traces, sessions, dashboards), correlation between signals and production architecture.

1. Overview #

An integrated stack.

The building blocks #

ClickStack architecture
The three building blocks are provided and configured together.

ClickStack is the observability stack offered by ClickHouse: a preconfigured OpenTelemetry Collector, ClickHouse with an optimized schema, and HyperDX, a search and analysis interface acquired by ClickHouse. It aims for an experience close to commercial tools, in open source.

2. Installing #

All-in-one or separate.

All-in-one #

docker run -d --name clickstack \
  -p 8080:8080 -p 4317:4317 -p 4318:4318 \
  docker.hyperdx.io/hyperdx/hyperdx-all-in-one
# Interface : http://localhost:8080 (création du compte au premier accès)

The ingestion key (API key) shown in the team settings must be sent by the SDKs in the authorization header.

export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
export OTEL_EXPORTER_OTLP_HEADERS="authorization=<cle_ingestion>"
export OTEL_SERVICE_NAME=front

Production #

In production, the building blocks are separated: replicated ClickHouse (or ClickHouse Cloud), Collectors sized for ingestion, and HyperDX connected to ClickHouse. A Helm chart is provided.

Common mistake: The all-in-one image stores everything in a single container: perfect for a trial, unsuitable for data you want to keep.

3. Using HyperDX #

Searching and correlating.

Features #

FeatureUsage
SearchLucene-like syntax (level:error service:checkout "timeout") or SQL
TracesTimeline, spans, logs associated with each span
SessionsBrowser session replay (with the browser SDK), linked to back-end traces
Charts and dashboardsAggregations on any field
AlertsOn searches and charts
Good practice: Going from a log to its trace, then to the browser session that triggered it, is the stack's strong point: instrument front and back end with OpenTelemetry to benefit from it.

Related articles

Storing and querying telemetry directly in ClickHouse

Send logs and traces to ClickHouse with the OpenTelemetry exporter, understand the table schema, write analyt…

Accessing the Dynatrace playground and getting started

The Dynatrace playground is a demo environment full of real data: how to access it, what it allows and does n…

Grail buckets in Dynatrace: creation, routing, retention, rights and costs

Complete guide to Grail buckets: purpose, default buckets, creation in Storage management, with the API or Te…

Keep learning

Support us

♥ SUPPORT US

Support RousselTM Learning

Courses, articles, labs and certificates stay free with no intrusive ads. A voluntary contribution, of any amount you choose, pays for hosting, lab environments and new content.

Contribute with PayPal Any amount · card or PayPal accountLearn more
QR code PayPal
Or scan this QR code with your phone

Thank you, every contribution counts!