
Inxhinier SRE - stazhier
Për të filluar, lejoni të prezantohem. Unë jam , inxhinier frontend në grupin të GitLab. Javën e kaluar pata nderin të jem stazhier pranë njërit prej inxhinierëve tanë SRE. Qëllimi ishte vëzhgimi i përditshëm se si reagojnë dezhurnet ndaj incidenteve dhe marrja e përvojës reale të punës. Ne dëshirojmë që inxhinierët tanë të kuptojnë më mirë nevojat e përdoruesve Monitor::Health.
Më duhej të ndihesha pas inxhinierit SRE për një javë. Do të thotë se isha prezent në kalimin e dezhurnet, vëzhgova kanalet e paralajmërimit dhe reagova ndaj incidenteve, nëse dhe kur ndodhnin.
Incidente
Në javë ndodhi 2 incidente.
1. Minatori i kriptomonedhave
TĂ« mĂ«rkurĂ«n, nĂ« GitLab.com u regjistrua njĂ« rritje nĂ« pĂ«rdorim tĂ« tij, e krijuar nga pĂ«rpjekjet pĂ«r tĂ« pĂ«rdorur minutat e runner pĂ«r minimin e kriptovalutave. ĂĂ«shtja u zgjidh me ndihmĂ«n e njĂ« mjeti tĂ« brendshĂ«m pĂ«r neutralizimin e shkeljeve, i cili ndalon detyrat e runner dhe fshin projektin dhe llogarinĂ« e lidhura.
Po të mos e vinin re këtë ngjarje, një mjet automatizimi do ta kishte kapur atë, por në këtë rast inxhinieri SRE e vuri re shkeljen i pari. U krijua një detyrë për incidentin, megjithatë informacioni rreth tij është i mbyllur.
2. Dëmtimi i performancës së aplikacioneve Canary dhe Main
Incidenti u shkaktua nga ngadalësimet dhe rritja e frekuencës së gabimeve në aplikacionet web canary dhe main në Gitlab.com. U shkaktuan disa vlera të shkeljes së Apdex.
Detyrë e hapur për incidentin:
Pikat kryesore
Ja disa pika që kam kuptuar gjatë javës së dezhurnet.
1. Paralajmërimet janë më të dobishme kur kapin devijime nga norma.
Paralajmërimet mund të ndahen në disa lloje:
- Paralajmërimet që bazohen në një prag të caktuar, si 'ndodhi 10 gabime 5xx në sekondë'.
- Paralajmërimet, ku pragu është një vlerë përqindjeje si 'frekuenca e gabimeve 5xx në 10% të numrit total të kërkesave në një kohë të caktuar'.
- Paralajmërimet që bazohen në mesataren historike si 'gabime 5xx në percentilin e 90-të'.
Në përgjithësi, tipi 2 dhe 3 janë më të dobishme për SRE-të e dezhurnet, pasi zbulojnë devijimet nga norma gjatë procesit.
2. Shumë paralajmërime nuk e arrijnë nivelin e incidentit
Inxhinierët SRE përballen me një rrjedhë të vazhdueshme njoftimesh, shumë prej të cilave në të vërtetë nuk janë kritike.
Pse të mos i kufizoni njoftimet vetëm në ato që janë me të vërtetë të rëndësishme? Megjithatë, me një qasje të tillë, mund të mos identifikoni simptomat e hershme që do të rriten si një borë, duke u bërë një problem real që paraqet rrezik të madh.
Detyra e dezhurnit SRE është të përcaktojë se cilat njoftime flasin me të vërtetë për diçka serioze dhe nëse ato duhet të eskalohen dhe të fillojë një hetim. Dyshoj se kjo është shkaktuar nga infleksibiliteti i njoftimeve: do të ishte më mirë nëse do të përdoreshin disa nivele ose mënyra "inteligjente" për të vendosur njoftimet në përputhje me situatën e përshkruar më lart.
Propozimi për funksionin:
3. Dezhurnit tanë SRE përdorin shumë mjete
TĂ« brendshme:
- Projekti infra GitLab: këtu jetojnë Runbook-at, kalimet e dezhurnit për ndërrime/javë, detyrat për përgjigjen ndaj incidenteve.
- ĂĂ«shtjet e GitLab: hetimet, analizat dhe menaxhimi gjithashtu ndiqen nĂ« detyra.
- Etiketat e GitLab: detyrat e automatizimit fillojnë sipas etiketimeve të caktuara, për të cilat robotët ndjekin aktivitetin e detyrave.
TĂ« jashtme:
- PagerDuty: njoftime
- Slack: këtu dërgohet rrjedha e mesazheve të PagerDuty/AlertManager. Integrimi me komanda slah për të kryer një gamë të gjerë detyrash, siç janë: mbyllja e njoftimit ose eskalimi në një incident.
- Grafana: vizualizimi i métrikave me fokus në tendencat afatgjata.
- Kibana: ofron vizualizim/kërkim në log, mundësinë për të thelluar në ngjarje të caktuara.
- Zoom: ka një "dhomë diskutimi" që funksionon vazhdimisht në Zoom. Kjo lejon inxhinierët SRE të diskutojnë shpejt ngjarjet, pa humbur kohë në krijimin e një dhome dhe dërgimin e linkeve pjesmarrësve.
Dhe shumë, shumë më tepër.
4. Monitorimi i GitLab.com me GitLab është një pikë e vetme dështimi
Nëse ndodh një dështim i madh shërbimesh në GitLab.com, ne nuk do të dëshironim që kjo të ndikonte në aftësinë tonë për të zgjidhur problemin. Ajo mund të menaxhohet duke nisur një instancë të dytë të GitLab për të menaxhuar GitLab.com. Në të vërtetë, kjo tashmë funksionon për ne: .
5. Disa funksione që duhet marrë në konsideratë për tu shtuar në GitLab
- , e ngjashëm me Google Docs. Kjo do të ndihmonte në detyrat për incidentet gjatë ngjarjeve, si dhe në detyrat e analizës. Në të dyja rastet, disa pjesëmarrësve do t'u nevojitej të shtonin diçka në kohë reale.
- Më shumë webhooks për detyra. Mundësia për të nisur hapa të ndryshëm të punës në GitLab nga brenda do të ndihmonte në zvogëlimin e varësisë nga integrimet e Slack. Për shembull, mundësia për të aktivizuar njoftimin në PagerDuty përmes komandës me slash në detyrën GitLab.
Përfundim
Inxhinierët SRE përballen me shumë vështirësi. Do të ishte e shkëlqyer të shihnim më shumë produkte të GitLab që adresojnë këto probleme. Ne already po punojmë në disa shtesa në produktin që do të lehtësojnë proceset e punës të përmendura më parë. Detajet janë të disponueshme në .
Në vitin 2020 ne po zgjeronim ekipin për të mbledhur të gjitha këto funksionalitete të shkëlqyera. Nëse jeni të interesuar, ju lutemi shikoni , dhe mos hezitoni të kontaktoni ndonjë nga ekipi ynë për çdo pyetje.
Burimi: habr.com
