Giapod-apod nga Sistema sa Pag-monitor - Kasinatian sa Google (paghubad sa kapitulo sa libro sa Google SRE)

Giapod-apod nga Sistema sa Pag-monitor - Kasinatian sa Google (paghubad sa kapitulo sa libro sa Google SRE)

Ang SRE (Site Reliability Engineering) usa ka pamaagi aron masiguro ang pagkaanaa sa mga proyekto sa web. Giisip kini nga balangkas alang sa DevOps ug naghisgot kung giunsa pagkab-ot ang kalampusan sa pagpadapat sa mga gawi sa DevOps. Paghubad niini nga artikulo Mga Kapitulo 6 Pag-monitor sa Gipanagtag nga Sistema mga libro Site Reliability Engineering gikan sa Google. Ako mismo ang nag-andam niini nga hubad ug nagsalig sa akong kaugalingong kasinatian sa pagsabot sa mga proseso sa pagmonitor. Sa channel sa telegrama @monitorim_it ΠΈ blog sa Medium Nagmantala usab ako og link sa paghubad sa Kapitulo 4 sa samang libro mahitungod sa mga tumong sa lebel sa serbisyo.

Paghubad pinaagi sa iring. Malingaw sa pagbasa!

Ang mga team sa SRE sa Google adunay sukaranang mga prinsipyo ug labing maayong gawi sa paghimo og malampuson nga mga sistema sa pagmonitor ug pagpahibalo. Kini nga kapitulo naghatag giya kung unsa nga mga problema ang mahimong masugatan sa usa ka bisita sa web page ug kung giunsa pagsulbad ang mga problema nga makapalisud sa pagpakita sa mga panid sa web.

Kahubitan

Walay usa ka bokabularyo nga gigamit sa paghisgot sa mga hilisgutan nga may kalabutan sa pagmonitor. Bisan sa Google, ang mga termino sa ubos dili kasagarang gigamit, apan among ilista ang labing kasagaran nga mga interpretasyon.

Pagbantay

Pagkolekta, pagproseso, paghugpong ug pagpakita sa quantitative data sa tinuod nga panahon mahitungod sa sistema: gidaghanon sa mga hangyo ug mga matang sa mga hangyo, gidaghanon sa mga sayop ug mga matang sa mga sayop, hangyo sa pagproseso sa panahon ug server uptime.

Pag-monitor sa puti nga kahon

Pag-monitor base sa mga sukatan nga gipakita sa internal nga mga component sa sistema, lakip na ang mga log, Java Virtual Machine profiling metrics, o HTTP handler metrics nga makamugna og internal statistics.

Pag-monitor sa itom nga kahon

Pagsulay sa pamatasan sa aplikasyon gikan sa punto sa pagtan-aw sa tiggamit.

Dashboard

Usa ka interface (kasagaran web) nga naghatag ug usa ka kinatibuk-ang paglantaw sa mga importanteng timailhan sa panglawas sa mga serbisyo. Ang dashboard mahimong adunay mga pagsala, ang abilidad sa pagpili sa mga timailhan nga gipakita, ug uban pa. Ang interface gidisenyo aron mahibal-an ang mga timailhan nga labing hinungdanon sa mga tiggamit. Ang dashboard mahimo usab nga magpakita sa kasayuran alang sa mga kawani sa teknikal nga suporta: usa ka pila sa mga hangyo, usa ka lista sa mga sayup nga adunay taas nga prayoridad, ug usa ka gi-assign nga inhenyero alang sa gihatag nga lugar sa responsibilidad.

Alerto (pahibalo)

Mga pahibalo nga gituyo nga madawat sa usa ka tawo pinaagi sa email o uban pang paagi, nga mahimong ma-trigger sa mga sayup o pagdugang sa pila sa hangyo. Ang mga pahibalo giklasipikar ingon: mga tiket, mga alerto sa email ug mga mensahe sa instant messenger.

Gamut nga hinungdan

Usa ka depekto sa software o sayup sa tawo nga, sa higayon nga matul-id, dili na mahitabo pag-usab. Ang problema mahimong adunay daghang mga nag-unang hinungdan: dili igo nga automation sa proseso, depekto sa software, dili igo nga pagpatin-aw sa lohika sa aplikasyon. Ang matag usa niini nga mga hinungdan mahimong ang hinungdan nga hinungdan, ug ang matag usa niini kinahanglan nga wagtangon.

Node ug makina (node ​​ug makina)

Mabaylo nga mga termino nga nagtumong sa usa ka pananglitan sa usa ka nagdagan nga aplikasyon sa usa ka pisikal nga server, virtual nga makina, o sudlanan. Ang usa ka makina mahimong mag-host sa daghang mga serbisyo. Ang mga serbisyo mahimong:

  • konektado sa usag usa: pananglitan, usa ka caching server ug usa ka web server;
  • walay kalabotan nga mga serbisyo sa usa ka piraso sa hardware: pananglitan, usa ka code repository ug usa ka wizard alang sa usa ka sistema sa pag-configure, sama sa Mga manunugtog o ulo.

Push

Bisan unsang pagbag-o sa pagsumpo sa software.

Nganong gikinahanglan ang pagmonitor?

Adunay daghang mga hinungdan ngano nga ang mga aplikasyon kinahanglan nga bantayan:

Pag-analisar sa dugay nga mga uso

Unsa ka dako ang database ug unsa ka paspas ang pagtubo niini? Giunsa pagbag-o ang adlaw-adlaw nga gidaghanon sa mga tiggamit?

Pagtandi sa performance

Mas paspas ba ang mga hangyo sa Acme Bucket of Bytes 2.72 kumpara sa Ajax DB 3.14? Unsa ka labi ka maayo ang pag-cache sa mga hangyo pagkahuman sa pagpakita sa usa ka dugang nga node? Mas hinay ba ang pagdagan sa site kumpara sa miaging semana?

Pag-alerto (notifications)

Adunay naguba ug adunay kinahanglan nga ayohon kini. O usa ka butang nga maguba sa dili madugay ug adunay kinahanglan nga susihon kini sa dili madugay.

Paghimo og mga dashboard

Ang mga dashboard kinahanglan nga motubag sa sukaranang mga pangutana ug maglakip sa usa ka butang gikan sa "4 nga bulawan nga signal" β€” mga paglangan (latency), trapiko (traffic), mga sayup (mga sayup) ug gidak-on sa load (saturation).

Pagpahigayon sa retrospective analysis (debugging)

Ang paglangan sa pagproseso sa hangyo miuswag, apan unsa pa ang nahitabo sa parehas nga oras?
Ang mga sistema sa pagmonitor mapuslanon isip tinubdan sa datos alang sa mga sistema sa paniktik sa negosyo ug aron mapadali ang pagtuki sa mga insidente sa seguridad. Tungod kay kini nga libro nagpunting sa mga lugar sa engineering diin ang mga SRE adunay kahanas, dili naton hisgutan ang mga pamaagi sa pagmonitor dinhi.

Ang pag-monitor ug mga alerto nagtugot sa sistema sa pagsulti kanimo kung kini naguba o hapit na maguba. Kung ang usa ka sistema dili awtomatikong mag-ayo sa kaugalingon, gusto namon nga ang usa ka tawo mag-analisar sa alerto, mahibal-an kung aktibo pa ba ang problema, sulbaron kini, ug mahibal-an ang hinungdan nga hinungdan. Kung dili ka mag-audit sa mga sangkap sa sistema, dili ka makadawat usa ka alerto tungod lang kay "usa ka butang nga daw usa ka gamay nga katingad-an."

Ang pagpabug-at sa usa ka tawo nga adunay mga pahibalo usa ka medyo mahal nga paggamit sa oras sa usa ka empleyado. Kung ang empleyado nagtrabaho, ang alerto makabalda sa proseso sa trabaho. Kung ang empleyado naa sa balay, ang alerto makabalda sa personal nga oras ug posible nga matulog. Kung ang mga alerto kanunay nga mahitabo, ang mga empleyado mag-skim pinaagi niini, magtangtang niini, o dili magtagad sa umaabot nga mga alerto. Matag karon ug unya ilang gibaliwala ang tinuod nga alerto, nga gitabonan sa mga panghitabo sa kasaba. Ang mga paghunong sa serbisyo mahimong molungtad sa taas nga mga yugto sa panahon tungod kay ang mga panghitabo sa kasaba makapugong sa problema nga dali nga madayagnos ug matul-id. Ang epektibo nga mga sistema sa pasidaan adunay maayo nga ratio sa signal-to-noise.

Pagtakda og makatarunganon nga mga gilauman alang sa sistema sa pagmonitor

Ang pag-set up sa pagmonitor alang sa usa ka komplikado nga aplikasyon usa ka komplikado nga buluhaton sa engineering sa iyang kaugalingon. Bisan sa usa ka mahinungdanong imprastraktura sa pagkolekta, pagpakita, ug pag-alerto nga mga himan, ang Google SRE nga grupo sa 10-12 nga mga miyembro kasagaran naglakip sa usa o duha ka mga tawo kansang nag-unang katuyoan mao ang pagtukod ug pagmentinar sa mga sistema sa pagmonitor. Kini nga gidaghanon mikunhod sa paglabay sa panahon samtang atong gikonsolida ug gisentralisa ang imprastraktura sa pagmonitor, apan ang matag SRE team kasagaran adunay labing menos usa ka tawo nga gipahinungod lamang sa pagmonitor. Kinahanglan natong isulti nga samtang ang mga dashboard sa sistema sa pag-monitor medyo makapaikag nga tan-awon, ang mga koponan sa SRE mainampingon nga naglikay sa mga sitwasyon nga nanginahanglan usa ka tawo nga motan-aw sa usa ka screen aron ma-monitor ang mga problema.

Sa kinatibuk-an, ang Google mibalhin sa yano ug paspas nga mga sistema sa pag-monitor nga adunay labing maayo nga pagkahuman sa kamatuoran nga mga himan sa pagtuki. Gilikayan namon ang mga sistema nga "magic" nga mosulay sa pagtagna sa mga threshold o awtomatiko nga makit-an ang hinungdan nga hinungdan. Ang mga sensor nga nakamatikod sa wala tuyoa nga sulod sa mga hangyo sa end-user mao lamang ang counterexample; Hangtud nga kini nga mga sensor nagpabilin nga yano, dali nila mahibal-an ang mga hinungdan sa grabe nga mga anomaliya. Ang ubang mga format sa paggamit sa datos sa pagmonitor, sama sa pagplano sa kapasidad o pagtagna sa trapiko, mas komplikado. Ang obserbasyon sa taas kaayo nga yugto sa panahon (mga bulan o tuig) sa ubos nga sampling rate (mga oras o mga adlaw) magpadayag sa usa ka long-term trend.

Ang Google SRE team adunay nagkasagol nga kalampusan uban sa komplikado nga dependency hierarchies. Panagsa ra kami mogamit og mga lagda sama sa "kung nahibal-an nako nga hinay ang database, makadawat ako usa ka alerto nga hinay ang database, kung dili makakuha usa ka alerto nga hinay ang site." Ang mga lagda nga gibase sa dependency kasagarang nagtumong sa dili mausab nga mga bahin sa among sistema, sama sa sistema sa pagsala sa trapiko sa user ngadto sa data center. Pananglitan, "kung ang pagsala sa trapiko sa data center gi-configure, ayaw ako alerto bahin sa mga paglangan sa pagproseso sa mga hangyo sa gumagamit" usa ka kinatibuk-ang lagda alang sa mga alerto gikan sa data center. Pipila ka mga team sa Google ang nagsuporta sa mga komplikadong dependency hierarchies tungod kay ang among imprastraktura adunay kanunay nga rate sa padayon nga refactoring.

Ang pipila sa mga ideya nga gihulagway niini nga kapitulo may kalabutan gihapon: adunay kanunay nga oportunidad sa paglihok nga mas paspas gikan sa sintomas ngadto sa gamut nga hinungdan, ilabi na sa kanunay nga pagbag-o sa mga sistema. Busa, samtang kini nga kapitulo naglatid sa pipila ka mga tumong alang sa mga sistema sa pagmonitor ug unsaon pagkab-ot sa maong mga tumong, importante nga ang mga sistema sa pagmonitor kay yano ug masabtan sa tanan sa team.

Ingon usab, aron mapaminusan ang lebel sa kasaba ug taas ang lebel sa signal, ang mga pamaagi sa pag-monitor sa mga nakaalerto nga mga kabtangan kinahanglan nga yano ug kasaligan. Ang mga lagda nga nagpatunghag mga pasidaan alang sa mga tawo kinahanglan nga dali masabtan ug magpakita sa usa ka tin-aw nga problema.

Sintomas batok sa mga hinungdan

Kinahanglang tubagon sa imong monitoring system ang duha ka pangutana: "unsay nabuak" ug "ngano kini nabuak."
Ang "Unsa ang nabuak" naghisgot bahin sa simtomas, ug ang "ngano nga nabuak" naghisgot bahin sa hinungdan. Ang lamesa sa ubos nagpakita sa mga pananglitan sa maong mga koneksyon.

Sintomas
Pangatarungan

Pagkuha sa HTTP Error 500 o 404
Gisalikway sa mga server sa database ang mga koneksyon

Hinay nga mga tubag sa server
Taas nga paggamit sa CPU o nadaot nga Ethernet cable

Ang mga tiggamit sa Antarctica wala makadawat mga GIF sa iring
Ang imong CDN nagdumot sa mga siyentista ug mga iring, mao nga ang pipila ka mga IP address nahimo nga blacklist

Ang pribado nga sulud nahimong magamit gikan sa bisan diin
Ang paglusad sa usa ka bag-ong pagpagawas sa software naghimo sa firewall nga makalimtan ang tanan nga mga ACL ug gipasulod ang tanan

Ang "Unsa" ug "ngano" mao ang pipila sa labing importante nga mga bloke sa pagtukod alang sa paghimo sa usa ka maayo nga sistema sa pag-monitor nga adunay labing taas nga signal ug minimum nga kasaba.

Black-box vs White-box

Among gikombinar ang halapad nga White-box monitoring uban ang kasarangan nga Black-box monitoring para sa mga kritikal nga sukatan. Ang pinakasayon ​​​​nga paagi sa pagtandi sa Black-box ngadto sa White-box mao nga ang Black-box kay symptom-focused ug reaktibo kay sa proactive monitoring: "ang sistema wala na nagtrabaho sa husto karon." Ang White-box nagdepende sa internal nga mga kapabilidad sa pag-verify sa mga sistema: mga log sa panghitabo o mga web server. Sa ingon, gitugotan ka sa White-box nga makit-an ang umaabot nga mga problema, mga sayup nga ingon usa ka pagbalhin sa usa ka hangyo, ug uban pa.

Timan-i nga sa usa ka multi-layer nga sistema, ang usa ka simtomas sa usa ka bahin sa responsibilidad sa usa ka engineer usa ka simtomas sa usa ka lugar sa responsibilidad sa usa ka engineer. Pananglitan, ang pasundayag sa database mikunhod. Ang hinay nga pagbasa sa database usa ka simtomas sa database nga SRE nga nakamatikod niini. Bisan pa, alang sa usa ka front-end nga SRE nga nag-obserbar sa usa ka hinay nga website, ang hinungdan sa parehas nga hinay nga pagbasa sa database usa ka hinay nga database. Busa, ang pag-monitor sa puti nga kahon usahay nakapunting sa simtomas ug usahay nakapunting sa hinungdan, depende kung unsa kini ka lapad.

Kung nagkolekta sa telemetry alang sa pag-debug, gikinahanglan ang pag-monitor sa White-box. Kung ang mga web server hinay nga motubag sa mga pangutana sa database, kinahanglan nimo mahibal-an kung unsa kadali ang pagpakigsulti sa web server sa database ug kung unsa ka dali kini pagtubag. Kung dili, dili ka makahimo sa paglainlain tali sa usa ka hinay nga database server ug usa ka problema sa network tali sa web server ug database.

Ang pag-monitor sa black-box adunay hinungdanon nga bentaha kung magpadala mga alerto: imong gi-trigger ang pahibalo sa nakadawat kung ang problema miresulta na sa tinuod nga mga sintomas. Sa laing bahin, walay kapuslanan ang pagmonitor alang sa problema sa Black-box nga wala pa motumaw apan hapit na.

Upat ka bulawan nga signal

Ang upat ka bulawan nga signal sa pag-monitor mao ang latency, trapiko, mga sayup, ug saturation. Kung mahimo ra nimo masukod ang upat nga sukatan sa sistema sa gumagamit, ipunting ang upat.

Paglangay

Ang oras nga gikinahanglan sa pagproseso sa hangyo. Importante ang pag-ila tali sa latency sa malampuson ug dili malampuson nga mga hangyo. Pananglitan, ang usa ka HTTP 500 nga sayup nga gipahinabo sa pagkawala sa koneksyon sa usa ka database o uban pang backend mahimong dali nga madayagnos, bisan pa, ang usa ka sayup nga HTTP 500 mahimong magpakita sa usa ka napakyas nga hangyo. Ang pagtino sa epekto sa usa ka 500 nga sayop sa kinatibuk-ang latency mahimong mosangpot sa sayop nga mga konklusyon. Sa laing bahin, ang hinay nga kasaypanan kay paspas nga sayop! Busa, importante nga bantayan ang error latency kay sa pagsala lang sa mga sayop.

sa trapiko

Ang gidaghanon sa mga hangyo sa imong sistema gisukod sa taas nga lebel nga mga sukatan sa sistema. Alang sa usa ka serbisyo sa web, kini nga pagsukod kasagarang nagrepresentar sa gidaghanon sa HTTP nga mga hangyo matag segundo, gibahin sa kinaiya sa mga hangyo (pananglitan, static o dinamikong sulod). Alang sa usa ka audio streaming system, kini nga pagsukod mahimong magpunting sa katulin sa I/O sa network o sa gidaghanon sa dungan nga mga sesyon. Alang sa usa ka key-value storage system, kini nga sukod mahimong mga transaksyon o mga resulta sa pagpangita kada segundo.

Mga sayup

Kini ang rate sa mga pakyas nga hangyo nga klaro (eg HTTP 500), implicit (eg HTTP 200 apan giubanan sa dili balido nga sulud) o palisiya (eg "Kung nakakuha ka usa ka tubag sa usa ka segundo, bisan unsang segundo usa ka sayup"). Kung dili igo ang mga kodigo sa pagtubag sa HTTP aron ipahayag ang tanan nga mga kondisyon sa kapakyasan, ang mga sekondarya (internal) nga mga protocol mahimong kinahanglan aron mahibal-an ang partial nga kapakyasan. Ang pagmonitor sa tanan nga napakyas nga mga hangyo mahimong dili impormatibo, samtang ang end-to-end nga mga pagsulay sa sistema makatabang nga mahibal-an nga imong giproseso ang dili husto nga sulud.

Saturation

Gipakita sa metric kung unsa ka kusog ang paggamit sa imong serbisyo. Kini usa ka sukod sa pagmonitor sa sistema nga nagpaila sa mga kahinguhaan nga labing gipugngan (pananglitan, sa usa ka sistema nga gipugngan sa memorya, nagpakita sa memorya, sa usa ka sistema nga gipugngan sa I/O, nagpakita sa gidaghanon sa mga I/Os). Timan-i nga daghang mga sistema ang nagdaot sa pasundayag sa wala pa sila makaabot sa 100% nga paggamit, busa ang pagbaton sa usa ka katuyoan sa paggamit hinungdanon.

Sa mga komplikadong sistema, ang saturation mahimong madugangan sa mas taas nga lebel sa pagsukod sa load: ang imong serbisyo ba makahimo sa hustong pagdumala sa doble nga trapiko, pagdumala lamang sa 10% nga mas daghang trapiko, o pagdumala sa mas gamay nga trapiko kay sa karon? Alang sa yano nga mga serbisyo nga walay mga parameter nga nagbag-o sa pagkakomplikado sa hangyo (pananglitan, "Walay ihatag kanako" o "Kinahanglan ko ang usa ka talagsaon nga usa ka monotonic integer"), nga panagsa ra magbag-o sa pag-configure, ang usa ka static nga kantidad sa pagsulay sa pagkarga mahimong igo. Bisan pa, sama sa gihisgutan sa miaging parapo, kadaghanan sa mga serbisyo kinahanglan mogamit dili direkta nga mga signal, sama sa paggamit sa CPU o bandwidth sa network, nga adunay nahibal-an nga taas nga utlanan. Ang pagdugang sa latency kasagaran usa ka nag-unang timailhan sa saturation. Ang pagsukod sa ika-99 nga porsyento nga oras sa pagtubag sa usa ka gamay nga bintana (pananglitan, usa ka minuto) makahatag usa ka sayo kaayo nga signal sa saturation.

Sa katapusan, ang saturation nalangkit usab sa mga panagna mahitungod sa umaabot nga saturation, pananglitan: "Morag mapuno sa imong database ang imong hard drive sa 4 ka oras."

Kung imong sukdon ang tanan nga upat ka bulawan nga signal ug kung adunay problema sa usa sa mga sukatan (o, sa kaso sa saturation, usa ka duol nga problema), imong gialerto ang usa ka tawo, ang imong serbisyo labi pa o dili kaayo masakop sa pag-monitor.

Mga kabalaka bahin sa "ikog" (o instrumentasyon ug pasundayag)

Sa paghimo sa usa ka sistema sa pagmonitor gikan sa wala, adunay usa ka tentasyon sa paghimo sa usa ka sistema base sa kasagaran nga mga kantidad: kasagaran nga latency, kasagaran nga paggamit sa CPU sa mga node, o kasagaran nga pagkapuno sa database. Ang kapeligrohan sa katapusang duha ka mga pananglitan klaro: ang mga processor ug mga database gilabay sa usa ka dili matag-an nga paagi. Ang sama nga magamit sa paglangan. Kung nagpadagan ka usa ka serbisyo sa web nga adunay average nga latency nga 100ms nga adunay 1000 nga mga hangyo matag segundo, ang 1% sa mga hangyo mahimong molungtad og 5 segundos. Kung ang mga tiggamit nagsalig sa daghang mga serbisyo sa web, ang ika-99 nga porsyento sa usa ka backend dali nga mahimong median nga oras sa pagtubag sa frontend.

Ang pinakasimple nga paagi sa paglainlain tali sa hinay nga kasagaran ug sa hinay kaayo nga ikog sa mga hangyo mao ang pagkolekta sa mga pagsukod sa mga hangyo nga gipahayag sa mga estadistika (usa ka maayong himan nga ipakita mao ang mga histograms) kay sa aktuwal nga mga latency: pila ka mga hangyo ang giserbisyohan sa serbisyo nga milungtad tali sa 0 ms ug 10 ms, tali sa 10 ms ug 30 ms, tali sa 30 ms ug 100 ms, tali sa 100 ms ug 300 ms, ug uban pa. Ang pagpalapad sa mga utlanan sa histogram nga gibana-bana nga exponentially (pinaagi sa gibanabana nga hinungdan sa 3) kasagaran usa ka yano nga paagi sa paghanduraw sa pag-apod-apod sa mga hangyo.

Pagpili sa angay nga lebel sa detalye alang sa mga pagsukod

Ang lainlaing mga elemento sa sistema kinahanglan nga sukdon sa lainlaing lebel sa detalye. Pananglitan:

  • Ang pag-monitor sa paggamit sa CPU sulod sa usa ka yugto sa panahon dili magpakita sa mga long-term spike nga mosangpot sa taas nga mga latency.
  • Sa laing bahin, alang sa usa ka serbisyo sa web nga nagpunting sa dili molapas sa 9 ka oras nga downtime kada tuig (99,9% nga tinuig nga uptime), ang pagsusi alang sa usa ka HTTP 200 nga tubag labaw sa kausa o kaduha sa usa ka minuto lagmit nga dili kinahanglan kanunay.
  • Ingon usab, ang pagsusi sa lugar sa hard drive alang sa 99,9% nga magamit labaw pa sa kausa sa matag 1-2 minuto tingali dili kinahanglan.

Pag-amping kung giunsa nimo paghimo ang granularity sa imong mga sukod. Ang pagkolekta sa load sa CPU kausa kada segundo makahatag ug makaiikag nga datos, apan ang ingon nga kanunay nga pagsukod mahimong mahal kaayo sa pagkolekta, pagtipig, ug pag-analisar. Kung ang imong katuyoan sa pag-monitor nanginahanglan taas nga granularity ug wala magkinahanglan og taas nga pagtubag, mahimo nimong pakunhuran kini nga mga gasto pinaagi sa pag-set up sa pagkolekta sa mga sukatan sa server ug dayon pag-set up sa usa ka eksternal nga sistema aron makolekta ug matipon ang mga sukatan. Mahimo ba nimo:

  1. Sukda ang pagkarga sa CPU matag segundo.
  2. Bawasan ang detalye sa 5%.
  3. Aggregate metrics kada minuto.

Kini nga estratehiya magtugot kanimo sa pagkolekta sa datos sa usa ka taas nga granularity nga wala magkinahanglan og taas nga pag-analisar ug overhead sa pagtipig.

Ingon ka yano kutob sa mahimo, apan dili mas simple

Ang overlay sa lain-laing mga kinahanglanon sa ibabaw sa usag usa mahimong moresulta sa usa ka komplikado kaayo nga monitoring system. Pananglitan, ang imong sistema mahimong adunay mga mosunod nga komplikado nga mga elemento:

  • Alerto sumala sa lain-laing mga thresholds alang sa hangyo pagproseso latency, sa lain-laing mga porsyento, alang sa tanan nga mga matang sa lain-laing mga indicators.
  • Pagsulat og dugang nga kodigo aron mahibal-an ug mahibal-an ang posible nga mga hinungdan.
  • Paghimo og may kalabutan nga mga dashboard alang sa matag usa sa posibleng hinungdan sa mga problema.

Ang mga tinubdan sa posibleng komplikasyon walay katapusan. Sama sa tanan nga mga sistema sa software, ang pag-monitor mahimong labi ka komplikado nga kini mahimong huyang ug lisud nga usbon ug mapadayon.

Busa, pagdesinyo sa imong sistema sa pagmonitor aron pasimplehon kini kutob sa mahimo. Kung nagpili kung unsa ang sundan, hinumdomi ang mosunod:

  • Ang mga lagda nga kasagarang makadakop sa tinuod nga mga insidente kinahanglan nga yano, matag-an ug kasaligan kutob sa mahimo.
  • Ang pag-configure alang sa pagkolekta sa datos, paghugpong, ug pag-alerto nga panagsa ra nga gihimo (pananglitan, ubos sa quarterly alang sa pipila ka mga team sa SRE) kinahanglan nga tangtangon.
  • Ang mga sukatan nga gikolekta apan wala gipakita sa bisan unsang preview dashboard o gigamit sa bisan unsang alerto mga kandidato alang sa pagtangtang.

Sa Google, ang mga batakang metrics collection ug aggregation, inubanan sa mga alert ug dashboard, maayo nga nagtrabaho isip usa ka medyo stand-alone nga sistema (ang sistema sa pagmonitor sa Google sa tinuod gibahin ngadto sa pipila ka mga subsystem, apan ang mga tawo kasagaran nahibalo sa tanan nga mga aspeto niini nga mga subsystem). Mahimong makatintal ang pagkombinar sa pagmonitor sa ubang mga teknik sa pagsusi sa mga komplikadong sistema: detalyado nga profile sa sistema, pag-debug sa proseso, pagsubay sa mga detalye bahin sa mga eksepsiyon o kapakyasan, pagsulay sa pagkarga, pagkolekta ug pagtuki sa log, o pagsusi sa trapiko. Samtang ang kadaghanan niini nga mga butang adunay mga pagkaparehas sa sukaranan nga pag-monitor, ang pagsagol niini magresulta sa daghang mga resulta ug maghimo usa ka komplikado ug mahuyang nga sistema. Sama sa daghang uban pang mga aspeto sa pagpalambo sa software, ang pagsuporta sa lain-laing mga sistema nga adunay tin-aw, yano, luag nga gidugtong nga mga punto sa panagsama mao ang labing maayo nga estratehiya (pananglitan, ang paggamit sa usa ka web API aron makuha ang aggregated data sa usa ka format nga mahimong magpabilin nga makanunayon sa taas nga yugto sa panahon. ).

Paghiusa sa mga Prinsipyo

Ang mga prinsipyo nga gihisgutan niini nga kapitulo mahimong ikombinar ngadto sa usa ka pagmonitor ug pagpaalerto nga pilosopiya nga gi-endorso ug gisundan sa Google SRE teams. Ang pagsunod sa kini nga pilosopiya sa pagmonitor mao ang gitinguha, usa ka maayo nga punto sa pagsugod sa paghimo o pagbag-o sa imong pamaagi sa pag-alerto, ug makatabang kanimo sa pagpangutana sa husto nga mga pangutana sa imong function sa operasyon, bisan unsa pa ang gidak-on sa imong organisasyon o ang pagkakomplikado sa serbisyo o sistema.

Sa paghimo og mga lagda sa pagmonitor ug pag-alerto, ang pagpangutana sa mosunod nga mga pangutana makatabang kanimo sa paglikay sa mga bakak nga positibo ug dili kinahanglan nga mga alerto:

  • Namatikdan ba niini nga lagda ang usa ka dili mamatikdan nga kahimtang sa sistema nga dinalian, nagtawag sa paglihok, ug dili kalikayan nga makaapekto sa tiggamit?
  • Mahimo ba nako ibaliwala kini nga pasidaan nga nahibal-an nga kini dili maayo? Kanus-a ug ngano nga dili nako ibaliwala kini nga pasidaan ug unsaon nako paglikay niini nga senaryo?
  • Nagpasabot ba kini nga alerto nga ang mga tiggamit negatibo nga naapektuhan? Adunay ba mga sitwasyon diin ang mga tiggamit dili negatibo nga naapektuhan, sama sa pinaagi sa pagsala sa trapiko o kung gigamit ang mga sistema sa pagsulay diin ang mga alerto kinahanglan nga masala?
  • Mahimo ba akong molihok agig tubag niini nga alerto? Dinalian ba kini nga mga lakang o mahimo ba silang maghulat hangtod sa buntag? Mahimo ba nga luwas nga awtomatiko ang usa ka aksyon? Kini ba nga aksyon usa ka dugay nga solusyon o usa ka mubo nga panahon nga solusyon?
  • Ang ubang mga tawo nakadawat daghang mga alerto alang sa kini nga isyu, busa adunay usa ka paagi aron makunhuran ang gidaghanon sa mga alerto?

Kini nga mga pangutana nagpakita sa sukaranang pilosopiya sa mga alerto ug mga sistema sa pasidaan:

  • Sa matag higayon nga moabut ang usa ka alerto, kinahanglan kong mo-react dayon. Maka-react dayon ko pila ka beses sa usa ka adlaw sa dili pa ko kapuyon.
  • Ang matag alerto kinahanglan nga may kalabutan.
  • Ang matag tubag sa usa ka alerto kinahanglan nga nanginahanglan interbensyon sa tawo. Kung ang pahibalo mahimong awtomatiko nga maproseso, kinahanglan nga dili kini moabut.
  • Ang mga alerto kinahanglan bahin sa usa ka bag-ong problema o panghitabo nga wala pa kaniadto.

Kini nga pamaagi nagpaburot sa pipila ka mga kalainan: kung ang alerto makatagbaw sa miaging upat ka mga kondisyon, dili igsapayan kung ang alerto gipadala gikan sa usa ka sistema sa pagmonitor sa White-box o Black-Box. Kini nga pamaagi nagpalig-on usab sa pipila ka mga kalainan: mas maayo nga mogahin og mas daghang paningkamot sa pag-ila sa mga sintomas kaysa sa mga hinungdan; kung bahin sa mga hinungdan, kinahanglan ra nimo nga mabalaka bahin sa dili malikayan nga mga hinungdan.

Dugay nga pagmonitor

Sa karon nga mga palibot sa produktibo, ang mga sistema sa pag-monitor nag-monitor sa usa ka kanunay nga nag-uswag nga sistema sa produksiyon nga adunay pagbag-o sa arkitektura sa software, mga kinaiya sa workload, ug mga target sa pasundayag. Ang mga alerto nga sa pagkakaron lisud i-automate mahimo nga kasagaran, tingali angayan nga sulbaron. Niini nga punto, kinahanglan nga adunay mangita ug magwagtang sa mga hinungdan sa problema; kung dili mahimo ang ingon nga resolusyon, ang tubag sa alerto nanginahanglan hingpit nga automation.

Importante nga ang mga desisyon sa pagmonitor gihimo uban ang mga long-term nga tumong sa hunahuna. Ang matag alerto nga nagpadagan karon makabalda sa usa ka tawo gikan sa pagpauswag sa sistema ugma, mao nga kanunay adunay pagkunhod sa pagkaanaa o paghimo sa usa ka produktibo nga sistema alang sa oras nga gikinahanglan aron mapaayo ang sistema sa pag-monitor sa taas nga termino. Atong tan-awon ang duha ka pananglitan sa pag-ilustrar niini nga panghitabo.

Bigtable SRE: Usa ka Sugilanon sa Sobra nga Alerto

Ang internal nga imprastraktura sa Google kasagarang gihatag ug gisukod batok sa usa ka lebel sa serbisyo (SLO). Daghang tuig na ang milabay, ang serbisyo sa Bigtable nga SLO gibase sa kasagaran nga pasundayag sa usa ka sintetikong transaksyon nga nagsundog sa usa ka buhi nga kliyente. Tungod sa mga isyu sa Bigtable ug mas ubos nga lebel sa storage stack, ang kasagaran nga performance gimaneho sa usa ka "dako" nga ikog: ang pinakagrabe nga 5% sa mga pangutana kasagaran mas hinay kay sa uban.

Gipadala ang mga pahibalo sa email samtang nagkaduol na ang threshold sa SLO, ug ang mga alerto sa mensahero gipadala sa dihang nalapas na ang SLO. Ang duha ka mga matang sa mga alerto kanunay nga gipadala, nga nag-usik sa dili madawat nga kantidad sa oras sa engineering: ang team migahin ug daghang oras sa paghan-ay sa mga alerto aron makit-an ang pipila nga tinuod nga may kalabotan. Kanunay namong gimingaw ang usa ka isyu nga aktuwal nga nakaapekto sa mga tiggamit tungod kay pipila ra sa mga alerto ang alang sa piho nga isyu. Daghan sa mga alerto dili dinalian tungod sa masabtan nga mga problema sa imprastraktura ug giproseso sa standard nga paagi, o wala giproseso.

Aron masulbad ang sitwasyon, ang team mihimo ug tulo ka pronged approach: Samtang naningkamot pag-ayo aron mapausbaw ang performance sa Bigtable, temporaryo ming nagtakda sa among tumong sa SLO nga mahimong ika-75 nga percentile para sa query response latency. Gipatay usab namo ang mga alerto sa email tungod kay daghan kaayo niini nga imposible nga mogahin og panahon sa pag-diagnose niini.

Kini nga estratehiya nagtugot kanamo sa pagginhawa nga lawak aron magsugod sa pag-ayo sa mga long-term nga isyu sa Bigtable ug ubos nga lebel sa storage stack, kay sa kanunay nga pag-ayo sa mga taktikal nga isyu. Ang mga inhenyero makahimo gayod sa trabaho nga dili mabombahan ug mga alerto sa tanang panahon. Sa katapusan, ang temporaryo nga paglangan sa pagproseso sa alerto nagtugot kanamo sa pagpauswag sa kalidad sa among serbisyo.

Gmail: Matagnaon, Algorithmic Human Responses

Sa pagsugod niini, ang Gmail gitukod sa usa ka giusab nga sistema sa pagdumala sa proseso sa Workqueue nga gidesinyo sa pag-batch sa mga tipik sa proseso sa usa ka search index. Ang workqueue gipahiangay sa dugay na nga mga proseso ug pagkahuman gipadapat sa Gmail, apan pipila ka mga bug sa opaque scheduler code napamatud-an nga lisud kaayo ayohon.

Niadtong panahona, ang pag-monitor sa Gmail gi-istruktura aron ang mga alerto ma-trigger kung ang indibidwal nga mga buluhaton gikansela gamit ang Workqueue. Kini nga pamaagi dili maayo, tungod kay bisan niadtong panahona, ang Gmail naghimo sa daghang liboan nga mga buluhaton, nga ang matag usa gihatag ngadto sa usa ka tipik sa porsyento sa among mga tiggamit. Nabalaka kaayo kami bahin sa paghatag sa mga tiggamit sa Gmail og maayong kasinatian sa tiggamit, apan ang pagdumala sa daghang mga alerto dili maabot.

Aron matubag kini nga isyu, ang Gmail SRE naghimo ug himan aron makatabang sa pag-debug sa scheduler kutob sa mahimo aron mamenosan ang epekto sa mga tiggamit. Ang team adunay pipila ka mga diskusyon bahin sa kung i-automate lang ang tibuuk nga siklo gikan sa pagdiskobre sa problema pinaagi sa pag-ayo hangtod nakit-an ang usa ka dugay nga solusyon, apan ang uban nabalaka nga ang ingon nga solusyon malangan ang tinuud nga pag-ayo sa problema.

Kini nga tensyon komon sa team ug kasagaran nagpakita sa kakulang sa pagsalig sa disiplina sa kaugalingon: samtang ang ubang mga sakop sa team gusto nga mohatag og panahon alang sa husto nga pag-ayo, ang uban nabalaka nga ang katapusan nga pag-ayo makalimtan ug ang temporaryo nga pag-ayo molungtad sa kahangturan. Kini nga isyu angay nga hatagan pagtagad tungod kay dali ra kaayo ang temporaryo nga pag-ayo sa mga problema imbes nga himuon nga permanente ang kahimtang. Ang mga manedyer ug mga kawani sa teknikal adunay hinungdanon nga papel sa pagpatuman sa mga dugay nga pag-ayo, pagsuporta ug pag-una sa mga potensyal nga dugay nga mga pag-ayo bisan kung nahubsan ang una nga "sakit".

Ang regular, balik-balik nga mga alert ug algorithmic nga mga tubag kinahanglan usa ka pula nga bandila. Ang pagpanuko sa imong team sa pag-automate niini nga mga alerto nagpasabot nga ang team walay pagsalig nga sila makasalig sa mga algorithm. Kini usa ka seryoso nga problema nga kinahanglan nga sulbaron.

Dugay nga termino

Usa ka komon nga tema nagsumpay sa mga pananglitan sa Bigtable ug Gmail: ang kompetisyon tali sa hamubo ug long-term nga pagkaanaa. Kasagaran, ang usa ka kusog nga paningkamot makatabang sa usa ka mahuyang nga sistema nga makab-ot ang taas nga pagkaanaa, apan kini nga agianan kasagarang wala magdugay, puno sa pagkasunog sa team ug pagsalig sa gamay nga gidaghanon sa mga miyembro sa parehas nga bayani nga grupo.

Ang kontrolado, hamubo nga pagkunhod sa pagkaanaa kasagaran masakit, apan estratehikong importante alang sa dugay nga kalig-on sa sistema. Importante nga dili tan-awon ang matag alert nga bulag, apan hunahunaon kung ang kinatibuk-ang lebel sa gidaghanon sa alerto modala ngadto sa usa ka himsog, tukma nga ma-access nga sistema nga adunay usa ka mabuhi nga team ug usa ka paborable nga prognosis. Among analisa ang alert frequency statistics (kasagaran gipahayag ingon nga mga insidente kada pagbalhin, diin ang usa ka insidente mahimong naglangkob sa daghang may kalabutan nga mga insidente) sa quarterly nga mga taho ngadto sa management, nga nagtugot sa mga tighimog desisyon nga adunay padayon nga panglantaw sa load sa sistema sa alerto ug sa kinatibuk-ang panglawas sa team.

konklusyon

Ang dalan sa himsog nga pagmonitor ug pag-alerto kay yano ug klaro. Gipunting niini ang mga sintomas sa problema nga nagpahinabog mga alerto, ug ang pag-monitor sa hinungdan nagsilbing tabang sa mga problema sa pag-debug. Ang pag-monitor sa mga sintomas mas sayon ​​kon mas taas ka sa stack nga imong kontrolon, bisan pa ang pagmonitor sa load ug performance sa database kinahanglan nga buhaton direkta sa database mismo. Ang mga pahibalo sa email adunay limitado nga kapuslanan ug dali nga mahimong kasaba; sa baylo, kinahanglan nga mogamit ka usa ka dashboard nga nag-monitor sa tanan nga karon nga mga isyu nga nag-aghat sa mga alerto sa email. Ang dashboard mahimo usab nga ipares sa usa ka log sa panghitabo aron pag-analisar sa mga correlasyon sa kasaysayan.

Sa taas nga termino, gikinahanglan nga makab-ot ang usa ka malampuson nga pagtuyok sa mga alerto bahin sa mga sintomas ug nagsingabot nga tinuod nga mga problema, pagpahiangay sa mga katuyoan aron masiguro nga ang pag-monitor nagsuporta sa paspas nga pagdayagnos.

Salamat sa pagbasa sa hubad hangtod sa katapusan. Mag-subscribe sa akong telegram channel bahin sa pagmonitor @monitorim_it ΠΈ blog sa Medium.

Source: www.habr.com

Idugang sa usa ka comment