Overview
nOps accepts telemetry from your own software using OpenTelemetry (OTel), the open standard most AI gateways, coding agents, and application frameworks already support. Traces, logs, and metrics all work. This is push, not pull. nOps can’t fetch this data from your cloud account, because it only exists inside your running software. You configure your software once with the nOps address and an API key. After that it sends data every few seconds on its own until you remove the setting or revoke the key. Every record nOps receives is tagged with your organization automatically, based on the API key. You don’t add an ID yourself, and anything you send that tries to set one is overwritten.You need nOps administrator access to create API keys, and the Inform + Operate plan, the same plan that includes the Public API.
What you need
Step 1: Create an API key
- Sign in to nOps as an administrator.
- Open Settings → Security → API Keys.
- Create a key and name it after the sender, for example
ai-gateway-prodorclaude-code-engineering. - Give it only the
telemetry:writepermission. - Copy the key. nOps shows it once.
Step 2: Point your software at nOps
Pick the option that matches what you’re sending from.Any OpenTelemetry SDK or tool
Every official OTel SDK reads the same standard environment variables:- Set the endpoint without
/v1/traces,/v1/logs, or/v1/metrics. The SDK adds the right path for each signal. - The
%20in the header stands for the space afterBearer. The OTel specification requires header values in this variable to be URL-encoded, and some SDKs reject a literal space. OTEL_SERVICE_NAMEis how you’ll tell your services apart in the data.
Claude Code
Claude Code can export usage, cost, and session events over OpenTelemetry. Administrators can turn it on for everyone through Claude Code’s managed settings file, in itsenv block:
~/.claude/settings.json. Claude Code ignores these settings when they come from a repository’s .claude/settings.json.
By default Claude Code does not include prompt text in telemetry. Leave
OTEL_LOG_USER_PROMPTS and similar content settings off unless you intentionally want prompts and responses sent to nOps.AI gateways
Most AI gateways, including LiteLLM, Portkey, and Kong, have an OpenTelemetry option in their config file or admin page. It asks for the same three things: an endpoint, a protocol, and an authorization header. Use the values from What you need. The exact field names differ by gateway, so check your gateway’s documentation for its OTel or OTLP settings.Use an OpenTelemetry Collector
Use a Collector when your software only speaks gRPC, can’t set custom headers, or already sends to a Collector. Run the standard OpenTelemetry Collector next to your software. It accepts telemetry on its normal ports and forwards it to nOps:otlphttp/nops beside it in each pipeline. The Collector sends to both.
Step 3: Check that it works
Send a few test traces withtelemetrygen, part of the OpenTelemetry Collector contrib project:
200. If you’d rather test with your real software, run it briefly and watch its logs for export errors.
Limits
Troubleshooting
FAQs
Can I send to nOps and another tool at the same time?
Can I send to nOps and another tool at the same time?
Yes. Use an OpenTelemetry Collector with more than one exporter, as shown above.
Can I set my own organization ID in the data?
Can I set my own organization ID in the data?
No. nOps assigns your organization from the API key and removes any attribute you send whose name starts with
nops_ or nops.. Other attributes pass through unchanged.What happens if I revoke a key?
What happens if I revoke a key?
Sending stops within a couple of minutes. Data already received stays in your organization’s records.
Should I send prompt or response text?
Should I send prompt or response text?
Only if you need it. AI gateway and agent traces can include the full text of prompts and responses. Check your exporter’s settings and remove sensitive content you don’t want stored.
Does it work with the development environment?
Does it work with the development environment?
If you’ve been given access to a nOps test environment, use the endpoint you were given in place of
https://api.nops.io/otel, together with a key created in that environment.