Vissza a bloghoz

Multi-region monitorozás: hogyan szüntessük meg a hamis pozitív kieséseket

· 6 perc olvasás

A téves riasztások miatt a csapat figyelmen kívül hagyja az alerteket. A multi-region cross-check csak akkor jelez kiesést, ha azt több független szonda is megerősíti.

Multi-region monitorozás: hogyan szüntessük meg a hamis pozitív kieséseket

Miért hazudik a single-region monitorozás

A klasszikus monitorozásnak egyetlen megfigyelési pozíciója van (egy szerver vagy egy felhőrégió). Ha ez a szonda nem kap választ, kiesést jelent. Az ok pedig bármi lehet az alábbiak közül:

  • Probléma magának a szondának a hálózatában (route flap, a szolgáltatójának peering-problémája)
  • Rövid életű DNS-hiba a szonda oldalán
  • Földrajzilag korlátozott kiesés (egy ország CDN-edge-e elesett)
  • Rate limiting vagy IP-blokk a te infrastruktúrád oldalán

A valódi felhasználók szemszögéből a weboldal teljesen rendben lehet - csak egy konkrét monitorozó host számára elérhetetlen.

A következmény: alert fatigue

Az a csapat, amelyik hetente 3 "kiesés" értesítést kap, és ebből 2 téves riasztás (hamis pozitív), fokozatosan leszokik a reagálásról. Amikor aztán valódi kiesés jön, a reakció késik, vagy senki sem veszi észre. Ezt a jelenséget alert fatigue-nek (riasztásból fakadó kifáradás) hívják, és a devops-szakirodalomban jól dokumentált.

A cél a lehető legjobb jel-zaj arány (signal-to-noise ratio). Jobb havonta 1 értesítést kapni, amely mindig valós, mint 10 értesítést, amelyből 7 zaj.

Multi-region minta: konszenzus N szondából

Az elv:

  1. Van 3 worker node 3 városban (primary Liptóújváron, eu2 Liptószentmiklóson, eu1 Pozsonyban). Az alapértelmezett küszöb = 2 a 3-ból, ami valódi konszenzust ad (nem egyhangút). Az architektúra tetszőleges számú node-ot támogat, bővítéskor ezek a meglévő konszenzusmechanizmusba kerülnek.
  2. Minden intervallumban az összes szonda párhuzamosan teszteli az endpointot.
  3. Az eredményt összevonod: a kiesés megerősített, ha N szondából M jelzi (jellemzően M = 2 vagy több).
  4. Egyetlen szonda hibája nem indít riasztást - ha egy szonda "down"-t jelez, de a többiek "up"-ot, a rendszer UP állapotban marad.

Ez az úgynevezett consensus algorithm (konszenzusalgoritmus), hasonló a Rafthoz vagy Paxoshoz - a döntés szavazattöbbséggel születik.

Gyakorlati beállítás

Az ePulz.io admin paneljében a multi-region egyetlen kapcsolóval kapcsolható be, és ezeken keresztül konfigurálható:

  • Aktív régiók - a workerek listája, jellemzően 3-5
  • Konszenzus-küszöb - hány régiónak kell DOWN-t mondania (alapértelmezett: 2)
  • Worker token - megosztott titok (shared secret) a fő szerver és a workerek között az ellenőrzéshez

Minden ellenőrzésnél a fő szerver párhuzamosan megszólítja az összes workert a HTTP API-n keresztül. A worker helyi HTTP-, TCP- vagy ping-tesztet hajt végre, és visszaadja az eredményt. A fő szerver kiértékeli a konszenzust, és az alertet csak akkor eszkalálja, amikor a küszöböt túllépik.

Trade-offok

Előnyök:

  • Drasztikusan kevesebb téves riasztás
  • Földrajzi vizualizáció - látod, mely régiókból nem működik a weboldal
  • Regionális kiesések észlelése (Cloudflare PoP-probléma, hibás útválasztás egy ISP-nél)

Hátrányok:

  • Kissé hosszabb késleltetés a valós kiesés és az alert között (több forrásból várja a konszenzust)
  • Magasabb infrastrukturális igények és magasabb árterv
  • A workerek elérhetősége - ha a workerek fele maga is elérhetetlen, a küszöb esetleg nem érhető el (a megoldás egy dinamikus küszöb = M az éppen élő szondákból)

Konszenzusszámítási példa

3 ténylegesen telepített worker node konfigurációja: primary Liptóújváron (SK), eu2 Liptószentmiklóson (SK), eu1 Pozsonyban (SK), küszöb = 2.

Forgatókönyv primary (Liptó) eu1 (Pozsony) eu2 (Liptó) Alert?
Minden OK UP UP UP Nem
BGP flap Liptó és a hostingod között DOWN UP UP Nem (1 a 3-ból)
A primary gép HW-hibája DOWN UP DOWN Igen (2 a 3-ból)
A szervered valós kiesése DOWN DOWN DOWN Igen

Hogyan telepíts saját workereket

A worker egy egyszerű szolgáltatás, amely HTTPS-en keresztül fogad ellenőrzési feladatokat, lefuttatja a tesztet és visszaadja az eredményt. Az ePulz.io támogatja a saját workereket WireGuard alagúton keresztül, így ezek bármilyen, publikus IP nélküli VPS-en futhatnak, és a fő szerverrel titkosított alagúton kommunikálhatnak.

Egyetlen worker konfigurálása a gyakorlatban körülbelül 10 percet vesz igénybe (apt install wireguard, a peer config átmásolása, systemctl enable). Így valóban független megfigyelési pozíciókat kapsz, amelyek a földrajzi sokféleséget (különböző városok) a hardveres redundanciával (ugyanazon városban különböző gépek) kombinálják.

Összegzés

A multi-region monitorozás nem csupán marketingfrázis. Konkrét mérnöki minta (kvórum, illetve konszenzus), amely a monitorozást a "látom azt, amit egy hálózati pozíció lát" szintjéről a "látom azt, amit az internet lát" szintjére emeli. A kritikus üzleti alkalmazásoknál ma ez a standard.

Szüntesd meg a hamis pozitív alerteket

Multi-region cross-check az alapcsomagokban (központilag kezelve). 7 nap ingyen.

Monitorozás indítása →

Kapcsolódó

Megosztás: Link másolva

Próbálja ki az ePulz.io-t ingyen - 7 nap bankkártya nélkül.

Fiók létrehozása