Observability für PROCUREX
Vorhandener Anwendungsanschluss
procurex-app stellt über Spring Boot Actuator die Endpunkte /actuator/health,
/actuator/health/liveness, /actuator/health/readiness und /actuator/prometheus bereit.
Prometheus kann damit Metriken des Backends scrapen.
Repository-Artefakte
observability/prometheus/procurex-alerts.yml: Regeln für Backend-Ausfall, 5xx-Fehlerrate und
p95-Latenz.
observability/grafana/procurex-overview.json: minimales Dashboard für Request-Rate,
5xx-Fehler und p95-Latenz.
docs/runbooks/incident.md: Vorgehen bei Störungen.
Einbindung in enterprise-infrastructure
Umsetzungsstatus: angebunden und verifiziert (29.08.2026). Die zentrale Prometheus-/Grafana-
Installation gehört zur externen enterprise-infrastructure und wird nicht durch das PROCUREX-Compose-File
dupliziert; PROCUREX ergänzt dort nur den in shared/enterprise-infrastructure/prometheus/prometheus.yml
dokumentierten Job-Eintrag (job_name: "procurex-app", Target procurex-app:8081, genau das im
Kommentar dieser Datei vorgesehene Muster für angeschlossene Projekte).
Smoke-Test durchgeführt: procurex-app lief über podman compose up -d (Podman als lokaler
Container-Workflow, siehe shared/enterprise-infrastructure/README.md), Prometheus-Target procurex-app stand auf
up == 1, und http_server_requests_seconds_count{job="procurex-app"} lieferte nach den
E2E-/k6-Läufen 24 Metrikserien — reale, keine synthetischen Werte. Das vorbereitete Dashboard
(observability/grafana/procurex-overview.json) wurde per Grafana-API importiert
(/d/afwlw2y1w0buoc/procurex-overview) und zeigt Request-Rate, 5xx-Fehler und p95-Latenz aus
genau diesen Metriken.
Die Alert-Regeln (observability/prometheus/procurex-alerts.yml) sind weiterhin nicht
geladen — shared/enterprise-infrastructure/docker-compose.yml mountet aktuell nur prometheus.yml selbst, kein
separates Regelverzeichnis. Ein Laden würde eine zusätzliche Volume-Ergänzung in der geteilten,
projektübergreifenden shared/enterprise-infrastructure/docker-compose.yml erfordern; das wurde bewusst nicht
vorgenommen, um eine für mehrere Lernprojekte gemeinsam genutzte Infrastrukturdatei nicht
strukturell zu verändern. Ein Test-Alert wurde entsprechend ebenfalls nicht ausgelöst.
Zentrales Logging und Distributed Tracing sind in diesem Lernstand noch nicht vollständig
automatisiert. Container-Logs können über die vorhandene Plattform gesammelt werden, aber eine
versionierte Loki-/ELK-Pipeline und Trace-Korrelation sind noch ein eigener Ausbaupunkt.