-
Notifications
You must be signed in to change notification settings - Fork 0
Overførsel av babylon
Det er per nå tre alertkanaler som babylon logger til:
Kanal | Mening |
---|---|
#babylon-alerts | Fallback-kanal for slack alerts. Dersom et team ikke har satt en platform-alerts-channel i teams.yaml og heller ikke har satt alert-channel eller slack-channel i namespace, kommer notifikasjonen om nedskalering hit |
#babylon-alerts-backup | Alle alerts som blir sendt får en kopi sendt hit |
#babylon-existential-alerts | Dersom babylon logger mye feilmeldinger blir det sendt en melding hit |
Alerts blir kjørt gjennom Alertmanager med Prometheusspørringer som bestemmer om og når meldinger blir sendt. Alle alert-meldinger er konfigurert i .nais/alerts.yaml
.
Hva? | Hvorfor? | Når? |
---|---|---|
Detektert | En applikasjon har blitt markert som feilende | Så fort den starter å feile |
Abort-Rollout | Dersom en applikasjon kan rulles tilbake, sendes denne | 24 timer etter varsling |
Nedskalert | Applikasjonen kunne ikke rulles tilbake og ble skalert ned til 0 replicas | 24 timer etter varsling |
Det er i tilegg et par interne alerts i samme fil:
Hva? | Hvorfor? | Når? |
---|---|---|
Nede | Dersom det ikke finnes replicas av babylon | Så fort det er detektert |
Feilrate | Dersom det logges mye feil | Fortløpende |
Backups | Kopier av alerts sendt til teams | Fortløpende |
Vi har lagt til en ny blokk i nais.yaml
for å kunne konfigurere om og hva babylon vil gjøre med applikasjonen. Disse involverer hvorvidt Babylon faktisk skal røre applikasjonen, strategien som bestemmer om Babylon skal rulle tilbake og/eller skalere ned og hvor stort tidsrom mellom Babylon markerer den til en faktisk handling blir gjennomført.
Babylon har åpne ingresser for øyeblikket, men disse trengs i utgangspunktet ikke. Det har imidlertid vært verdifullt å kunne bruke f.eks. https://babylon-gcp.dev.intern.nav.no/metrics til feilsøking under utvikling.
Babylon bruker Unleash toggles til to ting i skrivende stund, til å toggle Slack-meldinger og til å fjerne alle firstDetected-annotasjoner. De heter henholdsvis babylon_alerts
og babylon_remove_first_detected_annotation
, og du finner de her.
Siden Prometheus-data kun lever i 30-dager, har vi en InfluxDB-instans hvor data langtidslagres. Vi har kun ett measurement, ett field og fire tags.
Fields: slack_channel
Tags: reason
, team
, name
, cluster
I vårt Grafana-dashboard finnes visualisering av dataen vi logger til Prometheus og InfluxDB.