2.6 KiB
Operationele metrieken
De applicatie exporteert alleen naar OTLP als OTEL_EXPORTER_OTLP_ENDPOINT expliciet is gezet. De optionele Compose-overlay deploy/observability/compose.yaml schakelt een Collector, Prometheus en Grafana in op een intern Docker-netwerk. Grafana bindt uitsluitend aan de loopback-interface van de host; kies een privaat beheerderswachtwoord via KNOWLEDGE_HUB_GRAFANA_PASSWORD buiten Git. Start met beide Compose-bestanden in hetzelfde project nadat de configuratie en opslaglocaties zijn gecontroleerd.
De Collector neemt OTLP/HTTP op poort 4318 aan en biedt de metrieken aan Prometheus op 8889. Grafana leest Prometheus als geprovisioneerde gegevensbron. De applicatie heeft vaste labels voor operatie, uitkomst, jobstatus en bewijstype. SQL, paginatitels, actoren, zoektermen, tokens en bron-URL's zijn geen metrieklabels.
De overlay gebruikt vastgelegde image-digests. De collector-default is de
beschikbare amd64-build van 0.162.0 voor de Unraid-host. Kies op een andere
architectuur expliciet een geverifieerde image via KNOWLEDGE_HUB_COLLECTOR_IMAGE.
De ongekwalificeerde tag 0.162.0 was tijdens de controle niet beschikbaar.
Gebruik in Prometheus onder meer platform_operations_total, platform_operation_duration_seconds, platform_jobs, platform_queue_age_seconds en platform_evidence_age_seconds. Een ontbrekende meting betekent onbekend: na een databasefout worden oudere snapshots uit de gauges verwijderd. De ouderdom van backups telt pas als het nieuwste opgeslagen manifest een geldig integriteitsbewijs heeft. De inventory-ouderdom is gebaseerd op de capturetijd van de nieuwste snapshot, niet op de latere importtijd. De applicatie toont het beleid voor externe backups als verwachting, zonder een planner-run te verzinnen.
Controleer na start een echte taak of zoekactie, vraag dan binnen een export- en scrape-interval platform_operations_total op via de Prometheus API en controleer de tijdreeks ook in Grafana. Een lege tijdreeks is geen bewijs van een gezonde pipeline. De geïsoleerde geautomatiseerde OTLP-test verstuurt een echte protobuf-aanvraag naar een lokale receiver en controleert dat private labels ontbreken; de volledige Collector → Prometheus → Grafana-pipeline moet in de beoogde omgeving apart worden geverifieerd.
Bronnen voor de gebruikte exporterconfiguratie: OpenTelemetry Collector Prometheus exporter en OTLP exporter configuratie.