Run one OpenTelemetry agent. Query it in Insights.
Enroll the OpenTelemetry agent and the portal manages its config over OpAMP. Metrics, logs and traces land in Insights, where the explorer, dashboards, snapshots and alerting already live. The Prometheus-, Loki- and Tempo-compatible APIs stay open, so a Grafana you already run keeps working.
The xScaler OpenTelemetry agentRecommended
A standard OpenTelemetry Collector under OpAMP management. You write one block of YAML to enroll it. Every pipeline after that comes from the portal, selected by the agent's labels.
Fleet Management → Enrollment. Stamp default labels such as environment and region onto every agent the token enrolls. The token is shown once.
The agent registers, then trades the enrollment token for its own credential. Reconnects use that credential.
Label selectors decide which agent runs which pipeline. The portal shows the effective config and the delivery history per agent.
# the only file you edit by hand
extensions:
opamp:
server:
ws:
endpoint: wss://agents.xscalerlabs.com/v1/opamp
headers:
Authorization: "Bearer <enrollment-token>"
service:
extensions: [opamp]
Prometheus remote_write,
Grafana Alloy and the
OTel SDKs write to the same endpoints with
the same two headers.
eBPF instrumentation gets
traces without touching your code.
Three signals, one set of credentials
One token and one tenant header cover all three. The agent sends every signal from a single config. Each signal keeps its own write endpoint and its own query language.
Prometheus-compatible ingestion and query.
Structured and plain-text lines, Loki-compatible.
Distributed spans across services, Tempo-compatible.
InsightsIn the portal
An explorer, dashboards, snapshots and alerting come with the tenant. There is nothing to host and no data source to wire up before the first query.
Edit a pipeline once. OpAMP delivers it to every agent whose labels match the assignment.
Explorer, dashboards and alerting come with the tenant. There is no Grafana to run to read your own data.
Tenants are provisioned in a region and every hostname follows it.
Point Claude Code or Cursor at your telemetry. No key to create.
What do you want to do?
Two ways AI shows up here
Point a coding agent at your telemetry, or measure the AI you already ship.
An MCP server your coding agent queries directly for metrics, logs and traces. Every answer reports how much data it scanned.
Your LLM calls as OpenTelemetry GenAI spans and metrics: request rate, latency, and token usage per model and operation.
Ready-made integrations
Each integration ships a collector config and a starter dashboard. Search the catalogue by name.