Mar a chuireamar le monatóireacht ar Prometheus, Clickhouse agus ELK

Anton Baderin is ainm dom. Oibrím san Ionad Ardteicneolaíochta agus déanaim riarachán córais. Mí ó shin, tháinig deireadh lenár gcomhdháil chorparáideach, áit ar roinneamar ár dtaithí carntha le pobal TF na cathrach. Labhair mé faoi mhonatóireacht a dhéanamh ar fheidhmchláir ghréasáin. Bhí an t-ábhar beartaithe don leibhéal sóisearach nó don mheánleibhéal, nár thóg an próiseas seo ón tús.

Mar a chuireamar le monatóireacht ar Prometheus, Clickhouse agus ELK

Is é an bhunchloch is bun le haon chóras monatóireachta ná fadhbanna gnó a réiteach. Ní spéis le haon duine monatóireacht ar mhaithe le monatóireacht. Cad a theastaíonn ó ghnó? Ionas go n-oibríonn gach rud go tapa agus gan earráidí. Is mian le gnólachtaí a bheith réamhghníomhach, ionas go n-aithneoimid féin fadhbanna sa tseirbhís agus go socróimid iad chomh tapa agus is féidir. Is iad seo, i ndáiríre, na fadhbanna a réitigh mé go léir anuraidh ar thionscadal do dhuine dár gcustaiméirí.

Maidir leis an tionscadal

Tá an tionscadal ar cheann de na cláir dílseachta is mó sa tír. Cabhraímid le slabhraí miondíola minicíocht na ndíolachán a mhéadú trí uirlisí margaíochta éagsúla cosúil le cártaí bónais. San iomlán, cuimsíonn an tionscadal 14 feidhmchlár a ritheann ar dheich bhfreastalaí.

Le linn an phróisis agallaimh, thug mé faoi deara arís agus arís eile nach mbíonn riarthóirí i gcónaí ag tabhairt faoi mhonatóireacht a dhéanamh ar fheidhmchláir ghréasáin i gceart: díríonn go leor acu fós ar mhéadracht an chórais oibriúcháin agus ó am go chéile déanann siad monatóireacht ar sheirbhísí.

I mo chás, bhí córas monatóireachta an chustaiméara bunaithe ar Icinga roimhe seo. Níor réitigh sé na fadhbanna thuas ar bhealach ar bith. Go minic chuir an cliant é féin in iúl dúinn faoi fhadhbanna, agus níos minice ná a mhalairt, ní raibh go leor sonraí againn chun bun an chúis a fháil.

Ina theannta sin, bhí tuiscint shoiléir ar a theachtaireacht a bhaineann lena fhorbairt bhreise. Sílim go dtuigfidh siad siúd atá eolach ar Icinga mé. Mar sin, chinneamar an córas monatóireachta feidhmchlár gréasáin don tionscadal a athdhearadh go hiomlán.

Prometheus

Roghnaigh muid Prometheus bunaithe ar thrí phríomhtháscairí:

  1. Líon mór méadracht atá ar fáil. Inár gcás tá 60 míle acu. Ar ndóigh, is fiú a thabhairt faoi deara nach n-úsáideann muid an chuid is mó díobh (is dócha thart ar 95%). Ar an láimh eile, tá siad go léir sách saor. Maidir linne, is é seo an foircneach eile i gcomparáid leis an Icinga a úsáideadh roimhe seo. I sé, ba phian ar leith é méadracht a chur leis: bhí na cinn a bhí ann cheana féin costasach (ach breathnú ar chód foinse aon bhreiseáin). Ba script i Bash nó Python a bhí i mbreiseán ar bith, a bhfuil a sheoladh costasach ó thaobh acmhainní a chaitear.
  2. Ídíonn an córas seo méid measartha beag acmhainní. Is leor 600 MB RAM, 15% de chroí amháin agus cúpla dosaen IOPS dár méadracht go léir. Ar ndóigh, caithfidh tú onnmhaireoirí méadrachta a reáchtáil, ach tá siad go léir scríofa i Téigh agus níl an-chumhacht ocras orthu freisin. Ní dóigh liom gur fadhb é seo i réaltachtaí nua-aimseartha.
  3. Soláthraíonn sé an cumas dul ar imirce go Kubernetes. Ag cur san áireamh pleananna an chustaiméara, tá an rogha soiléir.

ELK

Roimhe seo, níor bhailigh nó níor phróiseálamar logaí. Tá na heasnaimh soiléir do gach duine. Roghnaigh muid ELK toisc go raibh taithí againn leis an gcóras seo cheana féin. Ní stórálaimid ach logaí feidhmchlár ansin. Ba iad na príomhchritéir roghnúcháin ná cuardach téacs iomlán agus a luas.

Teach na gCloch

Ar dtús, thit an rogha ar InfluxDB. Thuigeamar an gá atá le logaí Nginx, staitisticí ó pg_stat_statements, agus sonraí stairiúla Prometheus a stóráil. Níor thaitin Insreabh linn mar gheall ar thosaigh sé go tréimhsiúil ag ithe méid mór cuimhne agus crashed. Ina theannta sin, bhí mé ag iarraidh ceisteanna a ghrúpáil de réir remote_addr, ach ní dhéantar grúpáil sa DBMS seo ach de réir clibeanna. Tá clibeanna costasach (cuimhne), tá a n-uimhir teoranta go coinníollach.

Chuireamar tús lenár gcuardach arís. Ba é an rud a bhí ag teastáil ná bunachar sonraí anailíse le híosmhéid acmhainní a úsáid, agus b'fhearr le comhbhrú sonraí ar diosca.

Comhlíonann Clickhouse na critéir seo go léir, agus ní raibh aiféala orainn riamh faoinár rogha. Ní scríobhaimid aon mhéideanna neamhghnácha sonraí isteach ann (níl líon na n-iontrálacha ach timpeall cúig mhíle in aghaidh an nóiméid).

NuaRelic

Bhí NewRelic linn go stairiúil mar gurbh é rogha an chustaiméara é. Bainimid úsáid as mar APM.

Zabbix

Bainimid úsáid as Zabbix go heisiach chun monatóireacht a dhéanamh ar Bosca Dubh APIanna éagsúla.

Cur Chuige Monatóireachta a Shainmhíniú

Theastaigh uainn an tasc a dhianscaoileadh agus mar sin an cur chuige faireacháin a chórasú.

Chun seo a dhéanamh, roinn mé ár gcóras sna leibhéil seo a leanas:

  • crua-earraí agus VMS;
  • córas oibriucháin;
  • seirbhísí córais, stack bogearraí;
  • iarratas ;
  • loighic gnó.

Cén fáth go bhfuil an cur chuige seo áisiúil:

  • tá a fhios againn cé atá freagrach as obair gach leibhéal agus, bunaithe air seo, is féidir linn foláirimh a sheoladh;
  • is féidir linn an struchtúr a úsáid agus foláirimh á gcur faoi chois - bheadh ​​sé aisteach foláireamh a sheoladh faoi neamh-infhaighteacht bunachar sonraí nuair nach bhfuil an meaisín fíorúil ina iomláine ar fáil.

Ós rud é gurb é an tasc atá againn ná sáruithe ar fheidhmiú an chórais a aithint, ní mór dúinn ag gach leibhéal sraith áirithe méadrachta a thabhairt chun suntais ar fiú aird a thabhairt orthu agus rialacha foláirimh á scríobh. Ansin, déanaimis dul tríd na leibhéil “VMS”, “Córas oibriúcháin” agus “Seirbhísí córais, stack bogearraí”.

Meaisíní fíorúil

Leithdháileann óstáil próiseálaí, diosca, cuimhne agus líonra dúinn. Agus bhí fadhbanna againn leis an gcéad dá cheann. Mar sin, na méadrachtaí:

Am goidte LAP - nuair a cheannaíonn tú meaisín fíorúil ar Amazon (t2.micro, mar shampla), ba cheart duit a thuiscint nach bhfuil croí próiseálaí iomlán leithdháilte duit, ach cuóta dá chuid ama. Agus nuair a sceite tú é, bainfear an próiseálaí uait.

Ceadaíonn an méadrach seo duit chuimhneacháin den sórt sin a rianú agus cinntí a dhéanamh. Mar shampla, an bhfuil sé riachtanach taraif níos déine a ghlacadh nó próiseáil tascanna cúlra agus iarratais API a dháileadh ar fhreastalaithe éagsúla?

IOPS + CPU iowait time - ar chúis éigin, peacaíonn go leor óstáil scamall trí gan dóthain IOPS a sholáthar. Ina theannta sin, ní argóint ar a son é sceideal le IOPS íseal. Dá bhrí sin, is fiú a bhailiú iowait CPU. Leis an bpéire graif seo - le IOPS íseal agus fanacht ard I/O - is féidir leat labhairt leis an óstáil cheana féin agus an fhadhb a réiteach.

Córas oibriúcháin

Méadracht an chórais oibriúcháin:

  • méid na cuimhne atá ar fáil i %;
  • gníomhaíocht úsáide babhtála: vmstat swapin, swapout;
  • líon na n-inóid atá ar fáil agus spás saor ar an gcóras comhad i %
  • meán-ualach;
  • líon na nasc i ndhá stát;
  • iomláine tábla contrack;
  • Is féidir monatóireacht a dhéanamh ar cháilíocht an líonra ag baint úsáide as an bhfóntas ss, an pacáiste iproute2 - faigh táscaire de naisc RTT óna aschur agus é a ghrúpáil de réir an chalafoirt.

Chomh maith leis sin ag leibhéal an chórais oibriúcháin tá eintiteas den sórt sin againn mar phróisis. Tá sé tábhachtach sraith próiseas a bhfuil ról tábhachtach acu ina fheidhmiú a aithint sa chóras. Más rud é, mar shampla, go bhfuil roinnt pgpools agat, ansin ní mór duit faisnéis a bhailiú le haghaidh gach ceann acu.

Seo a leanas an tacar méadrachta:

  • LAP;
  • tá cuimhne ina gcónaí go príomha;
  • IO - b'fhearr in IOPS;
  • FileFd - oscailte agus teorainn;
  • teipeanna suntasacha leathanach - ar an mbealach seo is féidir leat a thuiscint cén próiseas atá á mhalartú.

Déanaimid an monatóireacht ar fad a imscaradh in Docker, agus úsáidimid Comhairleoir chun sonraí méadrachta a bhailiú. Ar mheaisíní eile bainimid úsáid as próiseas-onnmhaireoir.

Seirbhísí córais, cruach bogearraí

Tá a shonraí féin ag gach feidhmchlár, agus tá sé deacair tacar sonrach méadrachta a shonrú.

Is é an tacar uilíoch:

  • ráta iarratais;
  • líon na botúin;
  • latency ;
  • saturation

Is iad na samplaí monatóireachta is suntasaí atá againn ag an leibhéal seo ná Nginx agus PostgreSQL.

Is é an tseirbhís is lódáilte inár gcóras ná an bunachar sonraí. San am a chuaigh thart, is minic a bhí deacracht againn a fháil amach cad a bhí ar siúl ag an mbunachar sonraí.

Chonaic muid ualach ard ar na dioscaí, ach níor léirigh na logaí mall rud ar bith i ndáiríre. Réitíomar an fhadhb seo le pg_stat_statements, radharc a bhailíonn staitisticí fiosrúcháin.

Sin iad na riachtanais riaracháin go léir.

Tógaimid graif den ghníomhaíocht iarrataí léamh agus scríobh:

Mar a chuireamar le monatóireacht ar Prometheus, Clickhouse agus ELK
Mar a chuireamar le monatóireacht ar Prometheus, Clickhouse agus ELK

Tá gach rud simplí agus soiléir, tá a dath féin ag gach iarratas.

Sampla chomh buailte céanna is ea logaí Nginx. Ní haon ionadh é gur beag duine a dhéanann iad a pharsáil nó a lua ar liosta na nithe is gá. Níl an fhormáid chaighdeánach an-fhaisnéiseach agus ní mór é a leathnú.

Go pearsanta, chuir mé iarratas_time, upstream_response_time, body_bytes_sent, request_length, request_id leis. Breacaimid am freagartha agus líon na n-earráidí:

Mar a chuireamar le monatóireacht ar Prometheus, Clickhouse agus ELK
Mar a chuireamar le monatóireacht ar Prometheus, Clickhouse agus ELK

Tógaimid graif den am freagartha agus líon na n-earráidí. Cuimhnigh? Ar labhair mé faoi thascanna gnó? Chun go tapa agus gan earráidí? Tá na saincheisteanna seo clúdaithe againn cheana féin le dhá chairt. Agus is féidir leat glaoch ar na riarthóirí ar dualgas cheana féin agus iad á n-úsáid.

Ach tá fadhb amháin eile fós - chun a chinntiú go gcuirfí deireadh go tapa le cúiseanna an teagmhais.

Taifeach teagmhais

Is féidir an próiseas iomlán ó aithint go fadhb a réiteach a roinnt i roinnt céimeanna:

  • an fhadhb a aithint;
  • fógra a thabhairt don riarthóir dualgais;
  • freagairt ar eachtra;
  • deireadh a chur le cúiseanna.

Tá sé tábhachtach go gcaithfimid é seo a dhéanamh chomh tapa agus is féidir. Agus más rud é nach féidir linn mórán ama a fháil ag na céimeanna a bhaineann le fadhb a aithint agus fógra a sheoladh - déanfar dhá nóiméad a chaitheamh orthu ar aon nós, ansin níl na cinn ina dhiaidh sin ach gan treabhadh le haghaidh feabhsúcháin.

Samhlóimis gur ghlaoigh guthán an oifigigh ar dualgas. Cad a dhéanfaidh sé? Cuardaigh freagraí ar cheisteanna - cad a bhris, cén áit ar bhris sé, conas freagairt? Seo mar a fhreagraímid na ceisteanna seo:

Mar a chuireamar le monatóireacht ar Prometheus, Clickhouse agus ELK

Níl le déanamh againn ach an fhaisnéis seo go léir a áireamh i dtéacs an fhógra, nasc a thabhairt dó chuig leathanach vicí a chuireann síos ar conas freagairt don fhadhb seo, conas í a réiteach agus í a ardú.

Níl aon rud ráite agam fós faoin gciseal feidhmchlár agus faoi loighic an ghnó. Ar an drochuair, níl bailiú méadrachta i bhfeidhm ag ár bhfeidhmchláir fós. Is é an t-aon fhoinse faisnéise ó na leibhéil seo ná logaí.

Cúpla pointe.

Ar dtús, scríobh logaí struchtúrtha. Ní gá comhthéacs a chur san áireamh i dtéacs na teachtaireachta. Déanann sé seo deacair iad a ghrúpáil agus a anailísiú. Tógann Logstash tamall fada chun é seo go léir a ghnáthú.

Ar an dara dul síos, bain úsáid as leibhéil déine i gceart. Tá a caighdeán féin ag gach teanga. Go pearsanta, déanaim idirdhealú ar cheithre leibhéal:

  1. aon earráid;
  2. earráid taobh an chliaint;
  3. tá an botún ar ár taobh, ní chaillimid airgead, ní iompraíonn muid rioscaí;
  4. Tá an botún ar ár taobh, caillimid airgead.

Lig dom achoimre. Ní mór duit iarracht a dhéanamh monatóireacht a dhéanamh bunaithe ar loighic gnó. Déan iarracht monatóireacht a dhéanamh ar an bhfeidhmchlár féin agus oibriú le méadracht mar líon na ndíolachán, líon na gclárúchán úsáideoirí nua, líon na n-úsáideoirí atá gníomhach faoi láthair, agus mar sin de.

Má tá do ghnó ar fad ina chnaipe amháin sa bhrabhsálaí, ní mór duit monatóireacht a dhéanamh cibé an gcliceálann sé agus an n-oibríonn sé i gceart. Ní hionann an chuid eile go léir.

Mura bhfuil sé seo agat, is féidir leat iarracht a dhéanamh teacht suas leis i logaí feidhmchlár, logaí Nginx, agus mar sin de, mar a rinneamar. Ba cheart duit a bheith chomh gar agus is féidir don iarratas.

Tá méadracht an chórais oibriúcháin tábhachtach ar ndóigh, ach níl suim ag lucht gnó iontu, ní íoctar astu.

Foinse: will.com

Add a comment