Nola izan nintzen SRE ingeniari praktiketan astebetez. Betebeharra software ingeniari baten begietatik

Nola izan nintzen SRE ingeniari praktiketan astebetez. Betebeharra software ingeniari baten begietatik

SRE ingeniaria - bekaduna

Hasteko, utz iezadazu nire burua aurkezten. nik - @tristan.read, taldean front-end ingeniaria Monitorea::Osasuna GitLab. Joan den astean, gure guardiako SRE ingeniari batekin bekadun izateko pribilegioa izan nuen. Helburua zen egunero behatzea nola erantzuten duen betebeharreko funtzionarioak gertakariei eta benetako lan-esperientzia lortzea. Gure ingeniariek erabiltzaileen beharrak hobeto ulertzea nahiko genuke funtzioak Monitorea::Osasuna.

Astebetez SRE jarraitu behar izan nuen. Hau da, betebeharren lekualdatzean egon nintzen, alerta bide berberak ikusi eta gorabeherei erantzuten nien, baldin eta noiz gertatzen ziren.

Gorabeherak

Aste batean 2 istilu izan ziren.

1. Cryptominer

GitLab.com-ek erabileran gorakada bat erregistratu zuen asteazkenean GitLab Runner'a, korrikalariaren minutuak kriptografia-moneta meatzaritzarako erabiltzeko saiakerek eragindakoa. Korrikalariaren zereginak geldiarazi eta harekin lotutako proiektua eta kontua ezabatzen dituen arintze-tresna pertsonalizatu baten bidez konpondu zen gertaera.

Gertaera hau nabaritu ez balitz, tresna automatizatu batek harrapatuko zuen, baina kasu honetan, SRE ingeniariak urraketa nabaritu zuen lehenik. Gorabehera egiteko zeregin bat sortu zen, baina horri buruzko informazioa itxita dago.

2. Kanariar eta aplikazio nagusien errendimenduaren degradazioa

Gertaera moteltzeek eta errore tasak handitu egin zuten Gitlab.com-eko kanariar eta web aplikazio nagusietan. Apdex-en hainbat balio urratu ziren.

Ireki zeregina gorabeheraz: https://gitlab.com/gitlab-com/gl-infra/production/issues/1442

Funtsezko aurkikuntzak

Hona hemen betebeharren astean ikasitako puntu batzuk.

1. Alertak erabilgarrienak dira arauarekiko desbideratzeak detektatzeko.

Jakinarazpenak hainbat motatan bana daitezke:

  • Atalase jakin batean oinarritutako alertak, adibidez, "10 5xx errore gertatu dira segundoko".
  • Atalasea ehuneko-balioa den alertak, hala nola "5xx errore-tasa une jakin batean eskaera guztien % 10 bakoitzeko".
  • Batez besteko historiko batean oinarritutako alertak, hala nola "5xx erroreak 90. ​​pertzentilean".

Oro har, 2. eta 3. motak erabilgarriagoak dira guardian dauden SREentzat, prozesuan anomaliak agerian uzten baitituzte.

2. Alerta asko ez dira inoiz gertakarietara igotzen

SR ingeniariek alerta-korronte etengabeari aurre egiten diote, eta horietako asko ez dira benetan kritikoak.

Beraz, zergatik ez mugatu alertak benetan garrantzitsuak direnetara soilik? Ikuspegi honekin, ordea, kalte handiak mehatxatzen dituen elur-bola bihurtuko den benetako sintomak ahaztu daitezke.

Zerbitzuan dagoen SREren zeregina da zehaztea zein alertak benetan esan nahi duten zerbait larria, eta areagotu eta konpontzen hasi behar diren zehaztea. Susmoa dut hori ere alerten malgutasunik ezaren ondoriozkoa dela: hobe litzateke goian azaldutako egoeraren arabera alertak pertsonalizatzeko hainbat maila edo modu "adimentsu" sartuko balituzte.

Ezaugarrien iradokizuna: https://gitlab.com/gitlab-org/gitlab/issues/42633

3. Gure SREek tresna asko erabiltzen dituzte

Barnekoa:

  • GitLab infra proiektua: Runbooks hemen bizi dira, txanda/asteko eskualdaketak, gertakariei erantzuteko zereginak.
  • GitLab-en arazoak: ikerketa, debriefing eta mantentze-lanak ere jarraitzen dira arazoetan.
  • GitLab etiketak: automatizazio-zereginak bot-ek zereginen jardueraren jarraipena egiteko erabiltzen dituzten etiketa espezifikoek abiarazten dituzte.

Kanpokoa:

  • PagerDuty alertak
  • Slack: Hona doa PagerDuty/AlertManager mezu-fluxua. Barra-komandoekin integratzea hainbat zeregin egiteko, hala nola alerta bat ixteko edo gertakari batera igotzeko.
  • Grafana: epe luzerako joerei arreta jarriz metrikak bistaratzea.
  • Kibana: erregistroan bistaratzea / bilaketa ematen du, gertaera jakin batzuetan sakontzeko gaitasuna.
  • Zooma: Zoom-en "apurketa-gela" iraunkor bat dago. Horri esker, SREek gertaerak azkar eztabaidatu ditzakete denbora preziatua galdu gabe gela bat sortuz eta kideak lotuz.

Eta beste asko eta asko.

4. GitLab.com-en jarraipena GitLab-ekin hutsegite puntu bakarra da

GitLab.com-ek zerbitzuaren etenaldi handi bat jasaten badu, ez dugu arazoa konpontzeko gaitasunean eraginik izan nahi. GitLab.com kudeatzeko bigarren GitLab instantzia bat exekutatuta geldi daiteke. Izan ere, honek dagoeneko balio digu: https://ops.gitlab.net/.

5. GitLab-era gehitzea kontuan hartu beharreko ezaugarri batzuk

  • Erabiltzaile anitzeko arazoen edizioa, Google Docs-en antzekoa. Horrek ekitaldian zehar gertakarien zereginetan lagunduko luke, baita debriefing lanetan ere. Bi kasuetan, hainbat parte-hartzailek denbora errealean zerbait gehitu beharko dute aldi berean.
  • Zereginetarako webhook gehiago. GitLab lan-fluxuaren hainbat urrats barrutik exekutatzeko gaitasunak Slack integrazioekiko mendekotasuna murrizten lagunduko dizu. Adibidez, PagerDuty-n alerta bat gaitzeko aukera barra komando baten bidez GitLab arazo batean.
    Ondorioa

SRE ingeniariek zailtasun asko dituzte konplexutasun askorekin. Oso ona izango litzateke GitLab-eko produktu gehiago gai horiei aurre egitea. Lehen aipatutako lan-fluxuak erraztuko dituzten produktuaren osagarri batzuk lantzen ari gara dagoeneko. Piezak eskuragarri daude Ops Product Vision atala.

2020an, taldea zabaltzen ari gara ezaugarri bikain horiek guztiak biltzeko. Interesa baduzu, begiratu mesedez lanpostu hutsak, eta jar zaitez harremanetan gure taldeko norbaitekin edozein zalantza argitzeko.

Iturria: www.habr.com

Gehitu iruzkin berria