Changes

Metrics and Monitoring in swarm

1,080 bytes added, 20:09, 7 August 2018
Mi az a metrika
A metrikákat úgynevezett '''time-series''' (idősor) adatbázisban kell letárolni('''TSDB'''), vagyis megy adott metrikához nyilván van tartva minden lekérdezéshez a lekérdezéshez kapott érték. Ez a speciális struktúra ugyan letárolható lenne hagyományos adatbázis kezelőkben is, de nagyon nem lenne hatékony a bennük való keresés. Léteznek direkt erre a speciális adatmodellre készült adatbáziskezelők, amik rettentő hatékonyan tudnak keresni a time-series adatokban. Egy adott metrika tárolását egy listaként lehet elképzelni, ahol a lista elemek az időbélyegekkel vannak indexelve, és a listaelem tárolja az adott időpillanathoz (amikor a lekérdezés történt) a metrika értékét. A főbb '''time-series db'''-k:
* InfluxDB:
* Prometheus
* KairosDB
...
 
A time-series adatbáziskezelő (TSDB) folyamatosan gyűjteni fogja a különböző komponensek metrikáit, és minden egyes begyűjtés után ki fogja értékelni a különböző metrikákra felírt logikai műveleteket, amik általában abból állnak, hogy egy time-series lekérdezés eredményét összeveti egy értékkel vagy logika változóval, és a végeredmény vagy igaz vagy hamis. Ha a végeredmény igaz, akkor a time-series adatbáziskezelő riasztást fog generálni, ha a kiértékelés hamis, akkor meg nem fog semmit csinálni. A riasztás hatására küldhetünk emial-t, végrehajthatunk egy bash script-et... stb.
 
 
Ezzel a módszerrel lehet a swarm cluster egészségét automatizált módon monitorozni vagy akár orkesztrálni is. Pl felírhatunk különböző szabályokat a node-ok leterheltségére. Ha a node-ok valamilyen metrika mentén túlságosan leterheltek, akkor újabb node-okat állítunk automatikusan üzembe, ha meg a terhelés túl alacsony ugyan ezen metrika alapján, akkor meg bizonyos node-okat megszüntetünk.
 
Mi innentől kezdve csak a Prometheus-ra fogunk fókuszálni.