@startuml Crow -> Crow: Crow Generates Metrics Agent -> Crow: Agent scrapes /metrics endpoint Agent -> Prometheus: Agent sends results to prometheus Crow -> Prometheus: Crow checks that metrics were written to prometheus Crow -> Crow: Crow updates success/failure metrics and serves those via /validate Agent -> Crow: Agent scrapes /validate Agent -> Prometheus: Agent sends validate metrics Prometheus -> Prometheus: Prometheus checks alerts @enduml