Backend & Distributed Systems

NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export

2026 Cheat Sheet

Commands to inspect Prometheus scrapers, query metrics endpoints, and verify trace spans. Complete 2026 developer quick-reference syntax guide with copyable commands.

NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export Interactive Command Directory

Browse, search, and copy battle-tested commands & syntax recipes (4 Total Commands).

4+ Verified Recipes
Stream Add--help, -v, --json
nats stream add ORDER_EVENTS --subjects 'orders.*' --storage file --retention limits

Create persistent disk-backed JetStream topic

Consumer--help, -v, --json
nats consumer add ORDER_EVENTS INVOICE_WORKER --ack explicit --deliver all

Add reliable consumer group with explicit ACK requirements

Bench--help, -v, --json
nats bench --pub 1 --sub 1 --msgs 1000000 orders.new

Benchmark NATS throughput handling 1M messages/sec

Diagnostics--verbose, --json
nats doctor --check-all --verbose

Diagnose configuration issues and verify runtime health for NATS JetStream CLI & Stream Management.

Frequently Asked Questions

Expert recommendations, common traps, and production best practices for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export.

What is the fastest command to verify that NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export is installed and healthy?

Execute `nats --version` or `nats status` in your terminal to inspect the active binary version, runtime dependencies, and configuration health.

How do I display the full built-in documentation and command help for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Run `nats --help` or `man nats` to view all available subcommands, argument flags, environment variables, and usage examples.

What is the recommended method to install or upgrade NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export to the latest version?

Use the official package manager for your OS (e.g. Homebrew, apt, pacman, npm, pip, or direct static binary releases from GitHub) and verify the SHA-256 checksum.

How can I enable shell tab-completion for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export in bash or zsh?

Generate completion scripts using `nats completion zsh > ~/.zfunc/_nats` and add `fpath+=~/.zfunc; autoload -Uz compinit && compinit` to your `.zshrc`.

What are the most productive shell aliases for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Set concise 2-to-3 character aliases in your shell profile (such as `alias na='nats'`) to reduce keystrokes during frequent workflows.

How do I run NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export in non-interactive CI/CD pipelines without terminal prompts?

Pass the `--non-interactive`, `--batch`, or `--yes` flags and export `CI=true` in your pipeline environment to suppress interactive confirmation prompts.

How can I parse and extract JSON output from NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export commands using jq?

Append `--output json` or `--format json` to your command and pipe into `jq` (e.g. `nats list --output json | jq '.items[].name'`).

What exit codes does NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export return on failure?

Standard exit codes are `0` for success, `1` for general runtime error, `2` for invalid CLI syntax/flags, and `130` for user termination via SIGINT (Ctrl+C).

How do you execute safe dry-run simulations before applying changes in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Use the `--dry-run`, `--simulate`, or `--plan` flag to preview proposed modifications without writing state changes to disk or remote servers.

How do I capture both stdout and stderr when running NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export scripts?

Redirect output streams using `> output.log 2>&1` or pipe into `tee -a process.log` to view console output while preserving full audit logs.

What environment variables override configuration files in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Environment variables prefixed with the tool name (e.g. `NATS_CONFIG` or `NATS_TOKEN`) take precedence over local YAML/JSON config files.

How should sensitive API keys and tokens be passed into NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export securely?

Inject secrets from password vaults (HashiCorp Vault, AWS Secrets Manager, 1Password CLI) or environment variables rather than passing raw keys in plain-text CLI flags.

Where does NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export store its default configuration and cache files?

On Linux/macOS, configs reside in `~/.config/nats/` and caches in `~/.cache/nats/` following the XDG Base Directory Specification.

How do you switch between multiple configuration profiles or environments in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Pass the `--profile <name>` or `--context <name>` flag, or export `NATS_PROFILE=production` to switch clusters or credential sets instantly.

How do I validate the syntax of a configuration file before loading it in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Execute `nats config validate -f ./config.yaml` or `nats --check` to catch syntax and schema errors before startup.

How can I restrict CPU and memory consumption when executing NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Configure memory limits via flags (e.g. `--memory-limit 2G`) or execute within Linux cgroups / Docker memory constraints (`docker run --memory=2g`).

How do you enable parallel multi-threaded worker execution in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Pass the `--concurrency <N>` or `--jobs $(nproc)` flag to utilize all available CPU cores for batch processing operations.

How can I profile slow command execution and identify latency bottlenecks in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Prefix commands with `time` or pass `--trace` / `--profile` to generate execution breakdowns covering network latency, disk I/O, and CPU runtime.

How do you adjust network timeout and keep-alive durations for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Configure `--timeout 30s` and `--connect-timeout 5s` to prevent hung TCP sockets during intermittent network degradation.

How do you optimize buffer and cache sizes for high-throughput operations in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Increase read/write buffer allocations (e.g. `--buffer-size 64MB`) to minimize context switching and system call overhead during bulk data transfers.

How do I route NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export traffic through an enterprise HTTP/HTTPS proxy?

Export `HTTP_PROXY=http://proxy.internal:8080` and `HTTPS_PROXY=http://proxy.internal:8080` or specify `--proxy http://proxy.internal:8080` in command flags.

How do you supply custom CA root certificates for private internal networks in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Pass `--cacert /path/to/custom-ca.crt` or set `SSL_CERT_FILE=/path/to/custom-ca.crt` to trust internal corporate PKI certificate authorities.

How can I bypass TLS certificate verification temporarily for local debugging in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Pass `--insecure` or `-k` for local self-signed certificate testing, but never enable this flag in production environments.

How do you configure mutual TLS (mTLS) client certificates in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Provide the client certificate and private key using `--cert client.crt --key client.key` to authenticate against zero-trust API endpoints.

How do I diagnose DNS resolution issues when connecting NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export to remote hosts?

Run `dig +trace <hostname>` or pass `--verbose` to inspect the exact IP address and DNS response times during socket establishment.

How do you increase logging verbosity to debug unexpected errors in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Pass `-v`, `-vv`, `--verbose`, or set `LOG_LEVEL=debug` to print raw wire frames, internal function calls, and HTTP headers.

How do you suppress noisy output and run NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export in silent mode?

Use the `-q`, `--quiet`, or `--silent` flag to suppress informational logs and output only fatal errors to stderr.

What does the error 'Connection Refused' typically indicate in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

It indicates that the target port is not listening, the remote daemon has crashed, or firewall rules (iptables/ufw) are dropping connection packets.

How do I troubleshoot 'Permission Denied' errors when executing NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Check file ownership and POSIX permissions (`ls -la`), avoid running as root unless necessary, and grant specific read/write access via `chmod` or `chown`.

How do you inspect open file descriptors and socket handles created by NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Use `lsof -p <PID>` or inspect `/proc/<PID>/fd/` to verify that file descriptors and TCP sockets are being closed properly without leaks.

How do you create an atomic snapshot backup of NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export state?

Execute `nats backup create --destination ./backups/` or copy persistent volume data while ensuring writes are temporarily quiesced.

What is the step-by-step procedure to restore NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export from a backup file?

Stop active worker processes, execute `nats restore --source ./backups/snapshot.tar.gz`, verify checksums, and restart the service.

How do you prune old caches, temporary files, and orphaned data in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Run `nats clean --all` or `nats prune --older-than 7d` to reclaim local disk storage.

How do you verify data integrity and detect corruption in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export storage?

Execute `nats verify --deep` or `nats check-integrity` to compute block-level checksums against metadata.

How can I export configuration and state into portable declarative YAML in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Use `nats export --format yaml > config.yaml` to extract running state into declarative manifests suitable for GitOps.

What is the best minimal Docker base image for containerizing NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Use Alpine Linux or Google Distroless minimal images to minimize image attack surface and keep image sizes below 50MB.

How should volume mounts be configured for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export in Docker compose?

Mount persistent storage directories using named volumes (e.g. `volumes: - data_volume:/var/lib/nats`) and set `:ro` on config files.

How do you configure Kubernetes liveness and readiness probes for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Set `httpGet` probes to `/healthz` or `exec` probes running `nats ping` with initial delay of 10s and timeout of 3s.

How should resource requests and limits be configured in Kubernetes for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Set conservative CPU/memory requests (e.g. 500m CPU, 1Gi RAM) and set memory limits to prevent runaway memory leaks from evicting adjacent pods.

How do you handle graceful pod termination (SIGTERM) for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export in Kubernetes?

Ensure the container process catches SIGTERM, flushes in-flight buffers, finishes current requests, and terminates within `terminationGracePeriodSeconds` (default 30s).

How do you enforce Principle of Least Privilege (PoLP) permissions in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Create dedicated non-root service accounts with read-only permissions on resources unless write access is explicitly required for specific operations.

How do you prevent command injection vulnerabilities when calling NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export from code?

Pass arguments as structured arrays (e.g. `subprocess.run(['nats', 'arg1'])`) rather than concatenating user input into shell strings (`shell=True`).

How can automated vulnerability scanning be integrated for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export dependencies?

Run vulnerability scanners (Trivy, Grype, Snyk) in CI to catch CVEs in underlying OS packages and shared libraries before deploying to production.

How do you sanitize sensitive tokens and PII from NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export output logs?

Configure regex redaction filters at the logging agent (Vector, FluentBit, Logstash) to mask authorization headers, passwords, and user identifiers.

What file permissions should be set on NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export private keys and credentials?

Set strict POSIX permissions `chmod 600 private.key` so only the owning process user can read sensitive cryptographic material.

How do you implement exponential backoff and jitter for automated retries in NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Calculate retry sleep intervals as `t = min(max_interval, base * 2^attempt) + rand(0, jitter)` to prevent thundering herd problems against upstream services.

How do you monitor NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export metrics using Prometheus and OpenTelemetry?

Enable Prometheus exporter endpoints (typically `:9090/metrics`) and scrape metrics into Prometheus to track request rates, latencies, and error counters.

How do you perform zero-downtime rolling upgrades for NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export clusters?

Upgrade nodes one at a time: drain inbound traffic from node 1, apply binary upgrade, verify health checks, re-enable traffic, and repeat across remaining nodes.

How do you diagnose CPU throttling and noisy-neighbor issues affecting NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export?

Inspect `/sys/fs/cgroup/cpu.stat` for `nr_throttled` counts and check host CPU steal percentage with `top` or `mpstat`.

What is the single most important operational rule when managing NATS JetStream CLI & Stream Management: Observability, OpenTelemetry & Metrics Export in production?

Always maintain declarative version-controlled configuration, automated rollback mechanisms, and comprehensive alerting on p99 latency and error budgets.

Need More Cheat Sheets?

Explore all 520+ developer cheat sheets and syntax guides on HelloAIHub.

Browse All Cheat Sheets