npx skills add ...
npx skills add grafana/skills --skill app-observability
Get RED metrics + service maps + frontend RUM + AI/LLM monitoring out of Grafana Cloud — Application Observability (`traces_spanmetrics_*` from OTel traces, p50/p95/p99 latency, exemplar-to-trace, traces-to-logs / profiles), Frontend Observability with the Faro Web SDK (Core Web Vitals, session replay, `pushError`, React + router integration, `TracingInstrumentation` for browser → backend trace correlation), and AI Observability via OpenLIT (token / cost / latency, GPU, hallucination + toxicity evals). Use when standing up APM for a service, wiring an Alloy OTLP receiver + forwarding to Cloud, instrumenting a React frontend for RUM, debugging why service-map edges are missing, monitoring LLM cost drift, or correlating a frontend error to its backend trace — even when the user says "set up APM", "show service map", "monitor browser perf", "session replay", "RUM SDK", or "watch our OpenAI bill" without naming App / Frontend / AI Observability.
npx skills add grafana/skills --skill app-observability
Docs: https://grafana.com/docs/grafana-cloud/monitor-applications/
Three products that share the same OTLP + Mimir / Loki / Tempo / Pyroscope plumbing:
MetricsPublisher + LogsPublisher + TracesPublisherFull Alloy block + required resource attributes + spanmetric names + correlation links: references/apm.md.
Full React example, CDN setup, session config: references/faro.md.
Full OpenLIT install, evals/guards, GenAI metric list, dashboard names: references/ai-observability.md.
| Signal | Product | Storage | Query |
|---|---|---|---|
| RED metrics | App Observability | Mimir | PromQL |
| Traces | Tempo | Tempo | TraceQL |
| Logs | Loki | Loki | LogQL |
| Profiles | Pyroscope | Pyroscope | ProfileQL |
| Browser RUM | Frontend Observability | Loki + Tempo | LogQL / TraceQL |
| LLM metrics | AI Observability | Mimir | PromQL |
Correlation keys: service.name joins all signals; trace exemplars embed trace IDs in metric points; traceID in logs and traceparent injected by Faro for FE → BE linking.
service.namespace (job label) or deployment.environment resource attributespan.kind not set on outbound calls (must be CLIENT) or inbound (SERVER)/collect returns 401 → wrong app key; 404 → region in URL doesn't match the Faro appreferences/apm.md — APM essentials: how RED metrics are generated, required OTel resource attributes, Alloy config, correlation linksreferences/apm-setup.md — deep dive: full per-language OTel SDK setup (Node / Python / Java / Go), span-metrics options, complete Alloy configreferences/faro.md — Faro essentials: SDK init, instrumentations, session replayreferences/frontend-observability.md — deep dive: full Faro SDK reference, React/Vue/Angular integration, custom events, source mapsreferences/ai-observability.md — OpenLIT auto-instrumentation for OpenAI / Anthropic / Bedrock / Vertex AI