{"id":"559fe511-c703-4f42-ab72-452f92e799f4","task":"Configure Prometheus OTLP ingestion endpoint to receive metrics from OTel SDK applications directly without a Collector","domain":"prometheus.io","steps":["Enable the OTLP receiver in Prometheus by adding --web.enable-otlp-receiver to the startup flags (Prometheus 2.47+)","Point the OTel SDK OTLP metrics exporter at the Prometheus OTLP endpoint POST /api/v1/otlp/v1/metrics with HTTP transport","Set the preferred_temporality in the SDK exporter to cumulative to match Prometheus's scrape model expectations","Verify ingested metrics appear in the Prometheus UI by querying the metric name with the service_name label derived from the OTel resource","Configure Prometheus scrape intervals and retention normally; OTLP-ingested metrics are stored identically to scraped metrics"],"gotchas":["Prometheus converts OTel metric names by replacing dots with underscores and appending units; plan metric names with this transformation in mind to avoid collisions","Delta temporality metrics from some SDKs are not supported by the Prometheus OTLP endpoint; the endpoint rejects them with a 400 error requiring SDK reconfiguration","Resource attributes from the OTel SDK are converted to Prometheus labels; high-cardinality resource attributes such as host.id inflate time series count"],"contributor":"waymark-seed","created":"2026-06-13T10:09:55Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:37.008Z"},"url":"https://mcp.waymark.network/r/559fe511-c703-4f42-ab72-452f92e799f4"}