Skip to main content
Archestra exposes Prometheus metrics and OpenTelemetry traces for monitoring system health, tracking HTTP requests, and analyzing LLM API performance. The web process exposes metrics at http://localhost:9050/metrics, and when the separate worker deployment is enabled (the default for Helm deployments), the worker exposes its own metrics endpoint at http://<worker-host>:9000/metrics. Production scrape configurations should collect both endpoints — task queue metrics and Knowledge Base pipeline metrics (connector syncs, embedding batches) are emitted from the worker process.

Prometheus Metrics

LLM Metrics

The following metrics track LLM API usage, cost, and performance across all agents, proxies, and gateways:
agent_id and agent_name are the internal Archestra identifiers. external_agent_id contains the value passed via the X-Archestra-Agent-Id header, allowing clients to associate metrics with their own agent identifiers. Knowledge Base embedding and reranking calls emit these same metrics with agent_name="Knowledge Base" and source="knowledge:embedding" or source="knowledge:reranker".

MCP Metrics

RAG & Knowledge Base Metrics

Task Queue Metrics

HTTP & Runtime Metrics

Securing the Metrics Endpoint

The metrics endpoint supports bearer token authentication. Set ARCHESTRA_METRICS_SECRET to require an Authorization: Bearer <token> header from all scrapers:
Configure your Prometheus scrape job accordingly:

OpenTelemetry Tracing

Archestra exports OpenTelemetry traces to any OTLP-compatible backend — Jaeger, Tempo, Honeycomb, Grafana Cloud, and others.

Configuration

Authentication

Bearer token authentication takes precedence over basic authentication when both are configured.

Content Capture

Archestra can capture prompt/completion content and tool call arguments/results as span events for a full audit trail. This is enabled by default.
When enabled, traces include:
  • LLM spans — gen_ai.content.prompt event with request messages, and gen_ai.content.completion event with response text
  • MCP spans — gen_ai.content.input event with tool call arguments, and gen_ai.content.output event with tool call results

What’s Traced

Archestra automatically traces these categories:

LLM API Calls

Every call to an LLM provider, with model, token counts, cost, and response time. Span names follow the GenAI semconv format {operation} {model} — e.g., chat gpt-4o-mini or generate_content gemini-2.0-flash.

MCP Tool Calls

Every tool execution through the MCP Gateway, with tool name, server, duration, and whether the call was blocked by a policy.

Knowledge Base Operations

Embedding and reranking LLM calls made by the Knowledge Base system, with cost and token tracking. Identified by archestra.trigger.source=knowledge:embedding or knowledge:reranker.

Skill Sandbox Execution

The native Rust sandbox exports its own spans (service.name=archestra-sandbox-rs) — command runs, artifact reads, and container materialization — with exit_code, duration_ms, and output size as span fields.

Chat Trace Structure

Each chat turn produces a unified trace grouping LLM calls and tool executions under a single parent span:
The same structure applies across all invocation paths:

Verbose Tracing

By default, traces include only GenAI-specific spans. To also capture infrastructure spans (HTTP routes, outgoing HTTP calls, Node.js fetch):
Verbose tracing produces significantly more spans. Use it for debugging only, not as a permanent production setting.

Metric-to-Trace Exemplars

All LLM and MCP metrics include trace exemplars. In Grafana, clicking on a data point jumps directly to the corresponding trace in Tempo. This requires:
  • Prometheus configured with --enable-feature=exemplar-storage
  • Grafana Prometheus datasource configured with exemplarTraceIdDestinations pointing to your Tempo datasource

Custom Agent Labels

Labels are key-value pairs configured on agents in the Archestra UI. Once added, they appear in:
  • Metrics — as additional label dimensions on all LLM and MCP metrics (kebab-case labels are converted to snake_case for Prometheus naming compatibility)
  • Traces — as archestra.label.<key> span attributes

Grafana Dashboards

Archestra provides five pre-built Grafana dashboards:

GenAI Observability

LLM request metrics, token usage, cost analysis, latency, and traces

MCP Monitoring

MCP tool call metrics, error rates, duration, and traces

Agent Sessions

Session-level agent audit trail with drill-down into LLM calls, MCP tool calls, and correlated logs

Application Metrics

HTTP traffic, Node.js runtime health, task queue processing, and PostgreSQL database monitoring

RAG & Knowledge Base

Connector sync monitoring, embedding pipeline, and RAG query performance

Importing All Dashboards

Create a Grafana Service Account token with the Editor role and run:
This creates an Archestra folder and imports all five dashboards. The script is idempotent — safe to re-run after updates.

PostgreSQL Metrics Provider

The Application Metrics dashboard supports multiple PostgreSQL metrics sources. Use the --postgres-provider flag to select the right one:

Performance Benchmarks

Archestra adds approximately 30-50ms latency per request while providing enterprise-grade security and policy enforcement for LLM applications. Test configuration: Single-threaded Node.js process on GCP e2-standard-2 (2 vCPU, 8 GB RAM) with Cloud SQL PostgreSQL 16 (8 vCPU, 32 GB RAM). LLM calls run in mock mode to isolate platform overhead.