Mar a thog sinn sgrùdadh air Prometheus, Clickhouse agus ELK

'S e Anton Baderin an t-ainm a th' orm. Bidh mi ag obair aig an Ionad Àrd-Teicneòlais agus a’ dèanamh rianachd siostam. O chionn mìos, thàinig a’ cho-labhairt chorporra againn gu crìch, far an do roinn sinn ar n-eòlas cruinnichte le coimhearsnachd IT a’ bhaile-mhòir againn. Bhruidhinn mi mu bhith a’ cumail sùil air tagraidhean lìn. Bha an stuth airson ìre òigridh no meadhan-ìre, nach do thog am pròiseas seo bhon fhìor thoiseach.

Mar a thog sinn sgrùdadh air Prometheus, Clickhouse agus ELK

Is e a’ chlach-oisinn a tha mar bhunait air siostam sgrùdaidh sam bith fuasgladh fhaighinn air duilgheadasan gnìomhachais. Chan eil sgrùdadh air sgàth sgrùdadh inntinneach do dhuine sam bith. Dè tha gnìomhachas ag iarraidh? Gus am bi a h-uile càil ag obair gu sgiobalta agus gun mhearachdan. Tha gnìomhachasan airson a bhith for-ghnìomhach, gus am bi sinn fhìn a’ comharrachadh dhuilgheadasan san t-seirbheis agus gan càradh cho luath ‘s a ghabhas. Is iad sin, gu dearbh, na duilgheadasan a dh’ fhuasgail mi an-uiridh air pròiseact airson aon den luchd-ceannach againn.

Mun phròiseact

Tha am pròiseact mar aon de na prògraman dìlseachd as motha san dùthaich. Bidh sinn a’ cuideachadh slabhraidhean reic àrdachadh tricead reic tro dhiofar innealan margaidheachd leithid cairtean bonus. Gu h-iomlan, tha am pròiseact a’ toirt a-steach 14 tagraidhean a bhios a’ ruith air deich frithealaichean.

Rè pròiseas an agallaimh, mhothaich mi a-rithist nach eil luchd-rianachd an-còmhnaidh a’ coimhead gu ceart ri bhith a’ cumail sùil air tagraidhean lìn: tha mòran fhathast ag amas air meatrach siostam-obrachaidh agus uaireannan a’ cumail sùil air seirbheisean.

Anns a ’chùis agam, bha siostam sgrùdaidh an neach-ceannach stèidhichte roimhe air Icinga. Cha do dh'fhuasgail e na duilgheadasan gu h-àrd ann an dòigh sam bith. Gu math tric dh'innis an neach-dèiligidh fhèin dhuinn mu dhuilgheadasan, agus nas trice na chan e, cha robh againn ach dàta gu leòr gus faighinn gu bonn an adhbhair.

A bharrachd air an sin, bha tuigse shoilleir ann mu na bha an dàn don tuilleadh leasachaidh. Tha mi a’ smaoineachadh gun tuig iadsan a tha eòlach air Icinga mi. Mar sin, chuir sinn romhainn an siostam sgrùdaidh tagradh lìn ath-dhealbhadh gu tur airson a’ phròiseict.

Prometheus

Thagh sinn Prometheus stèidhichte air trì prìomh chomharran:

  1. Àireamh mhòr de mheatairean rim faighinn. Anns a 'chùis againn tha 60 mìle dhiubh. Gu dearbh, is fhiach a bhith mothachail nach eil sinn a 'cleachdadh a' mhòr-chuid dhiubh (is dòcha mu 95%). Air an làimh eile, tha iad uile gu math saor. Dhuinne, is e seo an fhìor cheann eile an taca ris an Icinga a chaidh a chleachdadh roimhe. Ann, bha e na phian sònraichte a bhith a ’cur meatrach: bha an fheadhainn a th’ ann mar-thà daor (dìreach thoir sùil air còd stòr plugan sam bith). B’ e sgriobt ann am Bash no Python a bh’ ann am plugan sam bith, agus tha an cur air bhog daor a thaobh goireasan a thèid a chaitheamh.
  2. Bidh an siostam seo a’ caitheamh àireamh bheag de ghoireasan. Tha 600 MB de RAM, 15% de aon chridhe agus dusan IOPS gu leòr airson a h-uile meatrach againn. Gu dearbh, feumaidh tu às-mhalairt metrics a ruith, ach tha iad uile sgrìobhte ann an Go agus cuideachd chan eil acras mòr orra. Chan eil mi a’ smaoineachadh gur e duilgheadas a tha seo ann am fìrinnean an latha an-diugh.
  3. A’ toirt seachad comas imrich gu Kubernetes. A’ beachdachadh air planaichean an neach-ceannach, tha an roghainn follaiseach.

ELK:

Roimhe sin, cha do chruinnich sinn no pròiseas sinn logaichean. Tha na h-easbhaidhean soilleir don h-uile duine. Thagh sinn ELK oir bha eòlas againn air an t-siostam seo mu thràth. Cha bhith sinn a’ stòradh ach clàran tagraidh an sin. B’ e na prìomh shlatan-tomhais taghaidh sgrùdadh làn-theacsa agus an astar aige.

Taigh-cloiche

An toiseach, thuit an roghainn air InfluxDB. Thuig sinn gu robh feum air logaichean Nginx a chruinneachadh, staitistig bho pg_stat_statements, agus dàta eachdraidheil Prometheus a stòradh. Cha bu toil leinn Influx oir thòisich e bho àm gu àm air tòrr cuimhne ithe agus thuit e. A bharrachd air an sin, bha mi airson ceistean a chuir còmhla le remote_addr, ach chan eil cruinneachadh san DBMS seo ach le tagaichean. Tha tagaichean daor (cuimhne), tha an àireamh aca cuingealaichte le cumhachan.

Thòisich sinn ar rannsachadh a-rithist. B’ e an rud a bha a dhìth stòr-dàta mion-sgrùdaidh le glè bheag de chaitheamh ghoireasan, agus b’ fheàrr le teannachadh dàta air diosc.

Tha Clickhouse a’ coinneachadh ris na slatan-tomhais sin uile, agus cha do ghabh sinn aithreachas a-riamh mun roghainn againn. Cha bhith sinn a’ sgrìobhadh suimean iongantach de dhàta a-steach ann (chan eil an àireamh de chuir a-steach ach mu chòig mìle sa mhionaid).

NewRelic

Tha NewRelic air a bhith còmhla rinn gu h-eachdraidheil oir b’ e roghainn an neach-ceannach a bh ’ann. Bidh sinn ga chleachdadh mar APM.

Zabbix

Bidh sinn a’ cleachdadh Zabbix a-mhàin gus sùil a chumail air Bogsa Dubh diofar APIan.

A 'mìneachadh dòigh sgrùdaidh

Bha sinn airson an obair a bhriseadh sìos agus mar sin an dòigh sgrùdaidh a chuir air dòigh.

Gus seo a dhèanamh, roinn mi an siostam againn gu na h-ìrean a leanas:

  • bathar-cruaidh agus VMS;
  • siostam-obrachaidh;
  • seirbheisean siostam, stac bathar-bog;
  • tagradh;
  • loidsig gnìomhachais.

Carson a tha an dòigh seo freagarrach:

  • tha fios againn cò a tha cunntachail airson obair gach ìre agus, stèidhichte air seo, is urrainn dhuinn rabhaidhean a chuir;
  • faodaidh sinn an structar a chleachdadh nuair a bhios sinn a’ cuir stad air rabhaidhean - bhiodh e neònach rabhadh a chuir a-mach mu neo-ruigsinneachd stòr-dàta nuair nach eil an inneal brìgheil gu h-iomlan ri fhaighinn.

Leis gur e an obair againn brisidhean ann an obrachadh an t-siostam a chomharrachadh, feumaidh sinn aig gach ìre seata sònraichte de mheatairean a chomharrachadh as fhiach aire a thoirt dhaibh nuair a bhios tu a’ sgrìobhadh riaghailtean rabhaidh. An ath rud, rachamaid tro na h-ìrean “VMS”, “Siostam-obrachaidh” agus “Seirbheisean siostam, stac bathar-bog”.

Innealan mas-fhìor

Bidh aoigheachd a’ toirt dhuinn pròiseasar, diosc, cuimhne agus lìonra. Agus bha trioblaidean againn leis a’ chiad dhà. Mar sin, na slatan-tomhais:

Ùine air a ghoid le CPU - nuair a cheannaicheas tu inneal brìgheil air Amazon (t2.micro, mar eisimpleir), bu chòir dhut tuigsinn nach eil cridhe pròiseasar iomlan air a thoirt dhut, ach dìreach cuota den ùine aige. Agus nuair a chuireas tu a-mach e, thèid am pròiseasar a thoirt air falbh bhuat.

Leigidh an meatrach seo leat sùil a chumail air amannan mar sin agus co-dhùnaidhean a dhèanamh. Mar eisimpleir, a bheil e riatanach cìs nas reamhar a ghabhail no làimhseachadh gnìomhan cùl-fhiosrachaidh agus iarrtasan API a sgaoileadh gu diofar luchd-frithealaidh?

Ùine IOPS + CPU iowait - airson adhbhar air choireigin, bidh mòran de luchd-aoigheachd sgòthan a ’peacachadh le bhith gun a bhith a’ toirt seachad IOPS gu leòr. A bharrachd air an sin, chan eil clàr le IOPS ìosal na argamaid dhaibh. Mar sin, is fhiach a bhith a 'cruinneachadh iowait CPU. Leis a’ phaidhir ghrafaichean seo - le IOPS ìosal agus feitheamh àrd I/O - faodaidh tu bruidhinn ris an aoigheachd mu thràth agus fuasgladh fhaighinn air an duilgheadas.

siostam-obrachaidh

Slatan-tomhais siostam-obrachaidh:

  • an ìre de chuimhne a tha ri fhaighinn ann an %;
  • gnìomhachd cleachdadh suaip: vmstat swapin, swapout;
  • àireamh nan inodan a tha rim faighinn agus àite saor air an t-siostam fhaidhlichean ann an %
  • luchd cuibheasach;
  • an àireamh de cheanglaichean ann an dà stàite;
  • lànachd clàr contrack;
  • Faodar sùil a chumail air càileachd an lìonraidh le bhith a’ cleachdadh an ss utility, am pasgan iproute2 - faigh comharradh air ceanglaichean RTT bhon toradh aige agus cuir còmhla e le port dest.

Cuideachd aig ìre an t-siostaim obrachaidh tha eintiteas againn mar phròiseasan. Tha e cudromach a bhith ag aithneachadh san t-siostam seata de phròiseasan aig a bheil pàirt chudromach ann an obrachadh. Ma tha, mar eisimpleir, tha grunn pgpools agad, feumaidh tu fiosrachadh a chruinneachadh airson gach aon dhiubh.

Tha an seata de shlatan-tomhais mar a leanas:

  • CPUs;
  • tha cuimhne sa mhòr-chuid a’ fuireach;
  • IO - mas fheàrr ann an IOPS;
  • FileFd - fosgailte agus cuingeachadh;
  • fàilligidhean duilleag cudromach - mar seo tuigidh tu dè am pròiseas a thathar ag atharrachadh.

Bidh sinn a’ cleachdadh a h-uile sgrùdadh ann an Docker, agus bidh sinn a’ cleachdadh Comhairliche gus dàta meatrach a chruinneachadh. Air innealan eile bidh sinn a’ cleachdadh pròiseas-às-mhalairt.

Seirbheisean siostam, stac bathar-bog

Tha a mhion-fhiosrachadh fhèin aig gach tagradh, agus tha e duilich seata sònraichte de mheatairean a shònrachadh.

Is e an seata uile-choitcheann:

  • ìre iarrtas;
  • àireamh de mhearachdan;
  • latency;
  • sùghaidh.

Is e na h-eisimpleirean as iongantaiche againn de sgrùdadh aig an ìre seo Nginx agus PostgreSQL.

Is e an stòr-dàta an t-seirbheis as luchdaichte san t-siostam againn. San àm a dh’ fhalbh, bha trioblaid againn gu tric a’ faighinn a-mach dè bha an stòr-dàta a’ dèanamh.

Chunnaic sinn luchd àrd air na diosgan, ach cha do sheall na logaichean slaodach dad. Dh’fhuasgail sinn an duilgheadas seo le bhith a’ cleachdadh pg_stat_statements, sealladh a bhios a’ cruinneachadh staitistig ceiste.

Sin na feumalachdan rianachd uile.

Bidh sinn a’ togail ghrafaichean de ghnìomhachd iarrtasan leughaidh is sgrìobhaidh:

Mar a thog sinn sgrùdadh air Prometheus, Clickhouse agus ELK
Mar a thog sinn sgrùdadh air Prometheus, Clickhouse agus ELK

Tha a h-uile dad sìmplidh agus soilleir, tha a dath fhèin aig gach iarrtas.

Is e eisimpleir a cheart cho iongantach na logaichean Nginx. Chan eil e na iongnadh gur e glè bheag de dhaoine a bhios gam parsadh no gan ainmeachadh anns an liosta de rudan riatanach. Chan eil an cruth àbhaisteach glè fhiosrachail agus feumar a leudachadh.

Gu pearsanta, chuir mi ris request_time, upstream_response_time, body_bytes_sent, request_length, request_id. Bidh sinn a’ dealbhadh ùine freagairt agus àireamh mhearachdan:

Mar a thog sinn sgrùdadh air Prometheus, Clickhouse agus ELK
Mar a thog sinn sgrùdadh air Prometheus, Clickhouse agus ELK

Bidh sinn a’ togail ghrafaichean den ùine freagairt agus àireamh mhearachdan. Cuimhnich? An do bhruidhinn mi mu ghnìomhan gnìomhachais? Gu luath agus gun mhearachdan? Tha sinn mu thràth air na cùisean sin a chòmhdach le dà chlàr. Agus faodaidh tu mu thràth fios a chuir chun luchd-rianachd air dleasdanas gan cleachdadh.

Ach tha aon duilgheadas eile ann fhathast - gus dèanamh cinnteach gun tèid adhbharan an tachartais a chuir às gu sgiobalta.

Fuasgladh tachartas

Faodar am pròiseas gu lèir bho bhith a 'comharrachadh gu fuasgladh duilgheadas a roinn ann an grunn cheumannan:

  • comharrachadh na trioblaid;
  • fios don neach-rianachd dleastanais;
  • freagairt do thachartas;
  • toirt air falbh adhbharan.

Tha e cudromach gum feum sinn seo a dhèanamh cho luath sa ghabhas. Agus mura h-urrainn dhuinn mòran ùine a chosnadh aig na h-ìrean de bhith a’ comharrachadh duilgheadas agus a’ cur fios - thèid dà mhionaid a chaitheamh orra co-dhiù, is e dìreach an fheadhainn a leanas a th’ ann an raon leasachaidh airson leasachaidhean.

Smaoinichidh sinn gun do ghlaodh fòn an oifigeir dleastanais. Dè nì e? Coimhead airson freagairtean do cheistean - dè a bhris, càite an do bhris e, ciamar a dhèiligeas tu? Seo mar a fhreagras sinn na ceistean seo:

Mar a thog sinn sgrùdadh air Prometheus, Clickhouse agus ELK

Bidh sinn dìreach a’ toirt a-steach am fiosrachadh seo gu lèir ann an teacsa an fhios, thoir ceangal dha gu duilleag wiki a tha ag innse mar a dhèiligeas tu ris an duilgheadas seo, mar a dh’ fhuasglas tu e agus mar a dh’ àrdaicheas sinn e.

Chan eil mi fhathast air dad a ràdh mun ìre tagraidh agus loidsig gnìomhachais. Gu mì-fhortanach, chan eil na tagraidhean againn fhathast a’ cur an gnìomh cruinneachadh meatrach. Is e logaichean an aon thùs fiosrachaidh bho na h-ìrean sin.

Puing no dhà.

An toiseach, sgrìobh clàran structaraichte. Chan eil feum air co-theacsa a thoirt a-steach ann an teacsa na teachdaireachd. Tha seo gan dèanamh duilich a bhith gan cruinneachadh agus a’ sgrùdadh. Bheir Logstash ùine mhòr airson seo uile a dhèanamh àbhaisteach.

San dàrna àite, cleachd ìrean doimhneachd gu ceart. Tha a h-inbhe fhèin aig gach cànan. Gu pearsanta, bidh mi ag eadar-dhealachadh ceithir ìrean:

  1. gun mhearachd;
  2. mearachd taobh an neach-dèiligidh;
  3. tha am mearachd air ar taobh, cha chaill sinn airgead, chan eil sinn a’ giùlan chunnartan;
  4. Tha am mearachd air ar taobh, bidh sinn a’ call airgead.

Leig dhomh geàrr-chunntas. Feumaidh tu feuchainn ri sgrùdadh a thogail stèidhichte air loidsig gnìomhachais. Feuch ri sùil a chumail air an tagradh fhèin agus obrachadh le leithid de mheatairean mar an àireamh de reic, an àireamh de chlàraidhean luchd-cleachdaidh ùr, an àireamh de luchd-cleachdaidh gnìomhach an-dràsta, agus mar sin air adhart.

Ma tha an gnìomhachas gu lèir agad mar aon phutan sa bhrobhsair, feumaidh tu sùil a chumail a bheil e a’ cliogadh agus ag obair gu ceart. Chan eil an còrr gu diofar.

Mura h-eil seo agad, faodaidh tu feuchainn ri grèim fhaighinn air ann an logaichean tagraidh, logaichean Nginx, agus mar sin air adhart, mar a rinn sinn. Bu chòir dhut a bhith cho faisg air an tagradh sa ghabhas.

Tha tomhasan siostam obrachaidh cudromach gu dearbh, ach chan eil ùidh aig gnìomhachas annta, chan eil sinn a’ faighinn pàigheadh ​​​​air an son.

Source: www.habr.com

Cuir beachd ann