| # alert-manager |
| |
| Alert manager converts Prometheus alerts into PubSub events which |
| are then used to drive the state in alert-manager. |
| |
| ``` |
| +-----------------------------+ +--------------------------+ |
| | Prometheus (skia|buildbot) | | Prometheus (skia|public) | |
| +-------------+---------------+ +------------+-------------+ |
| | | |
| | | |
| +--------v--------+ +--------v--------+ |
| | | | | |
| | alert-to-pubsub +-------+ +--+ alert-to-pubsub | |
| | | | | | | |
| +-----------------+ | | +-----------------+ |
| | | |
| +--------v------v----------+ |
| | PubSub | |
| | Topic: prometheus-alerts | |
| +---------------+----------+ |
| | |
| +-----------------+ | |
| | | +-------v-------+ |
| | Cloud Datastore <----------+ | |
| | IncidentAm | | alert-manager | |
| | SilenceAm +----------> | |
| | | +---------------+ |
| +-----------------+ |
| ``` |
| |
| The alert-manager application is state-less, all state is stored |
| in the Cloud Datastore. Also, all the logic for applying silences |
| to Incidents is done in the UI, i.e. the alert-manager backend |
| just reads and writes Incidents and Silences without looking at |
| the interactions between the two. |