LogoAwesome Skills
  • Search
  • Category
  • Tag
  • Blog
LogoAwesome Skills
LogoAwesome Skills

Discover Open-Source Agent Skills for AI Coding Assistants

Product

  • Search
  • Category
  • Tag
  • Blog

Resources

  • Claude Skill Docs
  • Antigravity Skills Docs

Tools

  • Claude Code
  • OpenCode
  • Cursor
  • Codex
  • Antigravity

Company

  • Privacy Policy
  • Terms of Service
  • Sitemap

©2026 Awesome Skills. All rights reserved.

Privacy PolicyTerms
Back to Skills

opentelemetry

Instrument any app with OpenTelemetry and ship metrics / logs / traces to Grafana Cloud or self-hosted Mimir / Loki / Tempo / Pyroscope. Covers SDK auto-instrumentation for Go, Java (Grafana JVM agent), Python (`opentelemetry-instrument`), Node.js, .NET (`Grafana.OpenTelemetry`), Beyla eBPF for zero-code; Grafana Cloud OTLP gateway + Basic-auth (instanceID + API key, base64); env-var config (`OTEL_EXPORTER_OTLP_*`, `OTEL_RESOURCE_ATTRIBUTES`); Alloy / OTel-Collector pipelines; Kubernetes Operato

174stars14forksUpdated 7/4/2026
DevOps & CI/CD#grafana#opentelemetry#observability#tracing#monitoring#kubernetes

Security Assessment

Low Risk(80/100)

Detected risks:

Agent-reviewed override(OpenTelemetry collector config: API_KEY=/password=/.env are documented exporter credentials and 'sudo' is the collector install step (references/collector-config.md). Legitimate observability config.)
Security Score80/100

About opentelemetry

OpenTelemetry with Grafana covers instrumenting an application with OpenTelemetry and shipping its metrics, logs, traces, and profiles to Grafana Cloud or a self-hosted stack. The pipeline is vendor-neutral: applications speak OTLP either directly to the Grafana Cloud OTLP gateway or through Alloy or an OpenTelemetry Collector, and the signals land in Grafana Mimir for metrics, Loki for logs, Tempo for traces, and Pyroscope for profiles. It applies whether the goal is standing up new instrumentation, repointing OTLP at Grafana, migrating off Jaeger, Datadog, or New Relic, or debugging why spans are not appearing in Explore.

Auto-instrumentation is documented per language, including Go, Java via the Grafana JVM agent, Python via opentelemetry-instrument, Node.js, and .NET, plus Beyla eBPF for zero-code instrumentation. Authentication to the Cloud gateway uses HTTP Basic auth built from a numeric instance ID and an API token holding the MetricsPublisher, LogsPublisher, and TracesPublisher roles, base64-encoded into an Authorization header. Configuration is driven by standard environment variables such as OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_EXPORTER_OTLP_PROTOCOL, OTEL_EXPORTER_OTLP_HEADERS, and OTEL_RESOURCE_ATTRIBUTES, and the workflows include curl smoke-tests and Grafana Explore queries in TraceQL and PromQL to confirm data is flowing.

Beyond direct export, it shows adding Alloy as a buffering and sampling collector, installing instrumentation on Kubernetes through the OpenTelemetry Operator with inject annotations, and choosing between head sampling (cheap, decided at the start of a trace) and tail sampling (decided after the whole trace, keeping errors), which requires an Alloy or Collector tail_sampling processor. A troubleshooting section maps common failures to causes, such as a 401 meaning a non-numeric instance ID or missing publisher roles, a 404 meaning the endpoint does not end in /otlp, and protocol mismatches or bundler and post-fork issues causing missing spans.

FAQ

Which languages can it auto-instrument?

Go, Java through the Grafana JVM agent, Python via opentelemetry-instrument, Node.js, and .NET, plus Beyla eBPF for zero-code instrumentation.

Where do the different signals end up?

Metrics go to Grafana Mimir, logs to Loki, traces to Tempo, and profiles to Pyroscope.

How do you authenticate to the Grafana Cloud OTLP endpoint?

With HTTP Basic auth built from a numeric instance ID and an API token holding the publisher roles, base64-encoded into an Authorization header.

What is the difference between head and tail sampling?

Head sampling is cheap and decided at the start of a trace, while tail sampling decides after seeing the whole trace so errors can be kept, and it requires an Alloy or Collector tail_sampling processor.

What does a 401 from the OTLP gateway indicate?

Either the instance ID is not numeric or the API key is missing the required publisher roles.

All Files

3 files
SKILL.md6.7 KB
View
references/collector-config.md18.1 KB
View
references/instrumentation.md20.6 KB
View

Install opentelemetry

Download and extract the skill files to your .claude/skills/ directory.

Quick Setup:

  1. Copy the skill folder to .claude/skills/
  2. Claude will automatically detect and use the skill

Repository

grafana/skills

Related Skills

multi-agent-patterns

1,817

github-project-management

81,436

music

79,427

elasticsearch-anomaly-detection

605