Pushgateway->Prometheus->Alertmanager->Webhook
@startuml
curl --> Pushgateway : POST metrics\n ( for non alert )
Prometheus --> Pushgateway : scrape metrics
curl --> Pushgateway : POST metrics\n ( for alert )
Prometheus --> Pushgateway : scrape metrics
Prometheus --> Alertmanager : send alert info\n ( firing )
Alertmanager --> ExternalService : send alert info\n ( firing )
curl --> Pushgateway : POST metrics\n ( for resolve alert )
Prometheus --> Pushgateway : scrape metrics
Prometheus --> Alertmanager : send alert info\n ( resolved )
note over Alertmanager : if send_resolved \n config is true
Alertmanager --> ExternalService : send alert info\n ( resolved )
@enduml