Hogyan voltam SRE-mérnök gyakornok egy hétig. Az ügyelet mérnöki szemmel

Hogyan voltam SRE-mérnök gyakornok egy hétig. Az ügyelet mérnöki szemmel

SRE-mérnök — gyakornok

Először is, hadd mutatkozzak be. Én vagyok @tristan.read, front-end mérnök a csoportban Monitor::Health a GitLabnál. A múlt héten megtiszteltetés volt, hogy gyakornok lehettem az egyik ügyeletes SRE-mérnökünknél. A cél az volt, hogy naponta figyeljem, hogyan reagál az ügyeletes incidensekre, és valós tapasztalatot szerezzek. Szeretnénk, ha mérnökeink jobban megértenék a felhasználók igényeit funkciók Monitor::Health.

Egy hétig mindenhová követnem kellett az SRE-mérnököt. Tehát jelen voltam az ügyelet átadásánál, figyeltem ugyanazokat a figyelmeztetési csatornákat, és reagáltam az incidensekre, ha és amikor azok történtek.

Incidensek

A hét során 2 incidens történt.

1. Kriptobányász

Szerdán a GitLab.com-on ugrásszerű növekedést regisztráltak a GitLab Runner használatában, amelyet az indítványozott kriptovaluta-bányászat kísérletei okoztak. Az incidens megoldásához saját megszüntető eszközünket használtuk, amely leállítja a runner feladatokat és eltávolítja a kapcsolódó projektet és fiókot. GitLab RunnerHa ezt az eseményt nem vették volna észre, automatizált eszköz elkaptatta volna, de ebben az esetben az SRE-mérnök észlelte a problémát először. Incidens feladat készült, de az információ titkosított.

2. Canary és Main alkalmazások teljesítménycsökkenése

Az incidens általában lassulásokkal és a hibák fokozott gyakoriságával volt jellemző a GitLab.com canary és main webalkalmazásainál. Több Apdex érték is megsértődött.

Nyitott incidens feladat:

Kulcsfontosságú megállapítások https://gitlab.com/gitlab-com/gl-infra/production/issues/1442

Íme néhány lényeges pont, amit megtanultam az ügyelet egy hete alatt.

1. A figyelmeztetések a legértékesebbek, amikor eltéréseket rögzítenek.

A figyelmeztetéseket több típusra lehet osztani:

Azokon a figyelmeztetéseken, amelyek egy adott küszöbértékre építenek, mint például „történt 10 5xx hiba másodpercenként”.

  • Olyan figyelmeztetések, amelyeknél a küszöbérték egy százalékos érték, mint például „5xx hibák előfordulásának gyakorisága 10% az összes kérésből egy adott időszak alatt”.
  • Olyan figyelmeztetések, amelyek történelmi átlagértéken alapulnak, mint például „5xx hibák a 90. percentilisben”.
  • Általánosságban elmondható, hogy a 2. és 3. típusú figyelmeztetések hasznosabbak az ügyeletes SRE-k számára, mivel feltárják az eltéréseket a folyamat során.

2. Számos figyelmeztetést nem escalálnak incidensekké

2. Sok értesítés sosem kerül eszkalálásra eseményekké

Az SRE mérnökök folyamatos figyelmeztetésekkel foglalkoznak, amelyek közül sok valójában nem kritikus.

Miért ne korlátoznánk a figyelmeztetéseket csak az igazán fontosakra? Ezzel a megközelítéssel azonban lehet, hogy nem ismerjük fel a korai tüneteket, amelyek hókásaként nőhetnek egy valódi problémává, amely jelentős kárt okozhat.

Az SRE ügyelet feladata, hogy meghatározza, mely figyelmeztetések utalnak valóban komoly problémákra, és szükséges-e azokat eszkalálni, és elkezdeni a vizsgálatot. Gyanítom, hogy ez a figyelmeztetések rugalmasságának hiányából is adódik: jobb lenne, ha bevezetnének több szintet vagy „okos” módszereket a figyelmeztetések beállítására a fent említett helyzetekhez.

Funkciós ajánlás: https://gitlab.com/gitlab-org/gitlab/issues/42633

3. Ügyeletes SRE mérnökeink sok eszközt használnak

Belső:

  • GitLab infra projekt: itt találhatók a Runbook-ok, a váltott/hetente történő ügyeletátadások, valamint a balesetekre adott válaszok feladatai.
  • GitLab problémák: a vizsgálatok, elemzések és karbantartások szintén nyomon követhetők a feladatokban.
  • GitLab címkék: az automatizálási feladatok bizonyos címkék alapján indulnak, amelyeket a botok követnek nyomon a feladatok aktivitásával kapcsolatban.

Külső:

  • PagerDuty: figyelmeztetések
  • Slack: itt érkezik a PagerDuty/AlertManager üzenetek áramlása. Integráció a /slack parancsokkal különböző feladatok végrehajtására, például: figyelmeztetés lezárása vagy eszkalálás incidensé.
  • Grafana: metrikák vizualizálása a hosszú távú trendekre összpontosítva.
  • Kibana: lehetőséget ad a naplózási vizualizációra/kutatásra, lehetővé téve a részletesebb vizsgálódást bizonyos eseményekben.
  • Zoom: folyamatosan működő „megbeszélő terem” van a Zoomban. Ez lehetővé teszi az SRE mérnökök számára, hogy gyorsan megbeszéljék az eseményeket, anélkül, hogy értékes időt pazarolnának terem létrehozására és résztvevőknek linkek küldésére.

És még sok, sok más.

4. GitLab.com felügyelete GitLab segítségével — ez az egypontos hibalehetőség

Ha a GitLab.com-on súlyos szolgáltatásmegszakítás történik, nem szeretnénk, ha ez befolyásolná a probléma megoldására való képességünket. Ezt lehet kontrollálni, ha elindítunk egy második GitLab példányt a GitLab.com kezelésére. Valójában ez már nálunk működik: https://ops.gitlab.net/.

5. Néhány funkció, amelyet érdemes megfontolni a GitLabhoz való hozzáadásra

  • Többfelhasználós feladatok szerkesztése, hasonlóan a Google Docs-hoz. Ez segíthetne az eseményekkel kapcsolatos incidensek kezelésében, valamint a vizsgálati feladatokban. Mindkét esetben több résztvevőnek lehet szüksége arra, hogy valamit valós időben hozzáadjon.
  • Több webhook a feladatokhoz. Az a lehetőség, hogy különféle GitLab munkafolyamat lépéseket indítsunk belülről, segíthet csökkenteni a Slack integrációktól való függőséget. Például a PagerDuty értesítésének engedélyezése egy slash-parancs segítségével a GitLab feladatban.
    Zárás

Az SRE mérnökök számára sok bonyodalommal kell megküzdeniük. Jó lenne látni több GitLab terméket ezeknek a problémáknak a megoldásában. Már dolgozunk néhány funkció hozzáadásán, amely megkönnyíti a fent említett munkafolyamatokat. A részletek elérhetőek a Ops Termékvízió szakaszban.

2020-ban bővítjük a csapatot, hogy összegyűjtsük ezeket a nagyszerű funkciókat. Ha érdekel, kérlek, nézd meg a állásajánlatokat, és ne habozz kapcsolatba lépni a csapatunk bármely tagjával bármilyen kérdéssel.

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster