Skip to content

Missing data

In LeanSignal, an empty chart usually means a demand gap, not a collection failure: central storage holds only what the demand set covers, so absence of data is never proof that the telemetry doesn’t exist. Work this checklist top to bottom.

  1. Is it demanded? The demand set is derived, never hand-maintained: metrics referenced by any saved dashboard panel query or any active alert rule, plus the LogQL stream selectors of saved log panels, trace service selectors, and Ingestion rules on the signal pages. If nothing demands the telemetry, it is not stored centrally — by design. See The demand model.
  2. Compare Available and Stored. The Metrics, Logs, and Traces pages have a source switch; dashboards show the same split as edit mode (agent-local) vs view mode (central dataplane).
    • Available reads the agent’s local full-fidelity store: everything collected, but only 1 day of metrics and ~1 hour of logs and traces.
    • Stored reads your central dataplane: only demanded telemetry, kept 30 days. Available has it but Stored doesn’t → continue with steps 3–6. Available is empty too → the telemetry never reached the agent → step 7.
  3. Is the agent Connected? Check the Agents page. Available queries tunnel down the agent’s control stream, so a Disconnected agent makes Available fail outright — see Agent troubleshooting. In the agent detail view, confirm Demand Last Update is recent.
  4. Paused alert rules demand nothing. Only active rules contribute metrics to the demand set. Imported rules arrive paused until you attach a notification channel and resume them.
  5. Expect no backfill. A demand starts storing from the moment it is saved. A panel added a minute ago shows data going forward only, and data that aged out of the edge buffer before the demand existed is gone.
  6. Check the ingest limits. The usage meters on Home flag a paused signal explicitly: hitting a storage ceiling or a monthly ingestion budget pauses that signal’s ingestion. The agent backs off and probes once a minute; forwarding resumes on its own once usage drops. See Limits.
  7. Is telemetry reaching the agent? Applications must reach the gateway’s OTLP port — 4317 (gRPC) or 4318 (HTTP). In Docker, localhost is the app’s own container, not the agent host. Verify at the edge: curl -s http://127.0.0.1:8428/api/v1/label/__name__/values (metrics) and the local-store queries for logs and traces.
  8. Is the metric name right? OTLP → Prometheus normalization renames things: dots become underscores, counters gain _total, unit-1 gauges gain _ratio. Also, several integrations chart opt-in receiver metrics that stay empty until enabled — the integration page lists them.
  9. Was it stored and then disappeared? Removing a selector (deleting a panel, dashboard, rule, or demand) deletes its exclusively-demanded stored data after the purge grace window (24 hours by default), and everything stored ages out at the 30-day retention. See Purge.
Was this page helpful?