Skip to content

Monitoring

External OpenTelemetry sends usage metrics and events to your organization's collector, independently of the configured model provider. Use this page when you need operational data under your own collector and privacy policy.

The stream is off by default and uses a double opt-in: enable the master switch and select at least one real exporter.

Alpha schema

The external telemetry schema is alpha. Additive fields can appear without notice; renames or removals require a schema-version change and a changelog entry.

Independent controls

External OpenTelemetry does not require product telemetry, trace upload, or coding-data sharing. Turning on one of those controls does not turn on the others.

Enable exporters

Set the master switch and the metrics exporter separately for the current process. Set the collector endpoint and optional authentication variables separately before starting RightNow.

Windows

powershell
$env:RIGHTNOW_EXTERNAL_OTEL = "1"
powershell
$env:OTEL_METRICS_EXPORTER = "otlp"

macOS

text
export RIGHTNOW_EXTERNAL_OTEL='1'
text
export OTEL_METRICS_EXPORTER='otlp'

Linux

text
export RIGHTNOW_EXTERNAL_OTEL='1'
text
export OTEL_METRICS_EXPORTER='otlp'

RIGHTNOW_EXTERNAL_OTEL=1 alone exports nothing, and exporter variables alone do nothing while the master switch is off.

Environment reference

VariableDefaultPurpose
RIGHTNOW_EXTERNAL_OTEL0Master switch
OTEL_METRICS_EXPORTERnoneotlp, console, or none
OTEL_LOGS_EXPORTERnoneEvent exporter: otlp, console, or none
OTEL_EXPORTER_OTLP_PROTOCOLhttp/protobufhttp/protobuf or grpc
OTEL_EXPORTER_OTLP_ENDPOINThttp://localhost:4318 or http://localhost:4317Base endpoint selected by protocol
OTEL_EXPORTER_OTLP_LOGS_ENDPOINTunsetSignal-specific endpoint used after trimming whitespace and trailing slashes
OTEL_EXPORTER_OTLP_METRICS_ENDPOINTunsetSignal-specific endpoint used after trimming whitespace and trailing slashes
OTEL_EXPORTER_OTLP_HEADERSunsetCollector authentication headers
OTEL_EXPORTER_OTLP_LOGS_HEADERSunsetLog-specific headers
OTEL_EXPORTER_OTLP_METRICS_HEADERSunsetMetric-specific headers
OTEL_EXPORTER_OTLP_CERTIFICATE / OTEL_EXPORTER_OTLP_LOGS_CERTIFICATE / OTEL_EXPORTER_OTLP_METRICS_CERTIFICATEunsetShared or signal-specific trusted CA bundle
OTEL_EXPORTER_OTLP_TIMEOUT10000 msExport timeout
OTEL_METRIC_EXPORT_INTERVAL60000 msMetric export interval
OTEL_BLRP_SCHEDULE_DELAY / OTEL_LOGS_EXPORT_INTERVAL5000 msLog batch interval and alias
OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCEdeltadelta or cumulative
OTEL_METRICS_INCLUDE_SESSION_ID1Include session ID on metrics
OTEL_METRICS_INCLUDE_VERSION0Include app version on metrics
OTEL_LOG_USER_PROMPTS0Prompt-content gate
OTEL_LOG_TOOL_DETAILS0Tool-detail content gate

The matching [telemetry] keys are otel_enabled, otel_metrics_exporter, otel_logs_exporter, otel_endpoint, otel_protocol, otel_log_user_prompts, and otel_log_tool_details. Requirements can pin the master switch and content gates; otherwise environment values override the config file. A caller-supplied settings snapshot can only disable the stream or lock content gates off; no hosted fleet-settings request is made. Collector headers have no config-file key and therefore stay out of files on disk.

OTEL_RESOURCE_ATTRIBUTES is ignored because the exporter builds a fixed, audited resource.

Resource attributes

GroupIncluded values
BuildService and client versions
Entry pointCLI, headless, or agent
TerminalDetected terminal emulator
Authenticated identityUser and available organization, team, or deployment IDs
Prompt identityPer-prompt ID on events only, never metrics

Service and schema identifiers stay stable within schema v1 for dashboard compatibility.

Startup activation

External telemetry follows local configuration. Startup releases the exporter gate after applying that configuration; it does not wait for a hosted fleet-settings request.

When a caller supplies a settings snapshot, its external-telemetry policy can only tighten the locally configured result. A deprecated setup in which product analytics already consumed shared OTEL variables suppresses this external stream; debug logging records the reason.

Signals

SignalWhat it covers
Sessions and turnsStarts, endings, outcomes, durations, and model labels
Token usageInput, output, reasoning, and cache-read counts by model
Tool decisionsAllow, deny, cancelled, and followup outcomes with access kind and permission mode
StartupTotal startup, phase duration, timeout location, and authentication mode
IntegrationsMCP connections, skills, plugins, subagents, compaction, authentication, and model switches

Privacy defaults

Content gates are off by default

Prompt text, code, full file paths, tool arguments, and identifying integration names are excluded by default. Bash command text is never exported, including when tool-detail logging is enabled.

The exporter also applies a closed attribute schema, secret and home-directory scrubbing, length caps, and export-time validation. Records that fail validation are dropped before export.

Debugging

Start RightNow with debug logging and inspect entries for the external exporter's resolved or suppressed state. Console exporters write redacted records to stderr, except in agent and headless entry points where console output is suppressed.

text
rightnow --debug

If nothing arrives, confirm both opt-ins, the protocol-specific endpoint, collector trust, and authentication header. Continue with the Troubleshooting guide, and use the configuration reference for related product controls.