Bii a ṣe kọ ibojuwo lori Prometheus, Clickhouse ati ELK

Orukọ mi ni Anton Baderin. Mo ṣiṣẹ ni Ile-iṣẹ Imọ-ẹrọ giga ati ṣe iṣakoso eto. Ni oṣu kan sẹhin, apejọ ajọ wa pari, nibiti a ti pin iriri ikojọpọ wa pẹlu agbegbe IT ti ilu wa. Mo ti sọrọ nipa mimojuto awọn ohun elo ayelujara. Awọn ohun elo ti a ti pinnu fun junior tabi arin ipele, ti o ko kọ ilana yi lati ibere.

Bii a ṣe kọ ibojuwo lori Prometheus, Clickhouse ati ELK

Okuta igun ti o wa labẹ eyikeyi eto ibojuwo n yanju awọn iṣoro iṣowo. Abojuto fun nitori ibojuwo kii ṣe anfani si ẹnikẹni. Kini iṣowo nfẹ? Ki ohun gbogbo ṣiṣẹ ni kiakia ati laisi awọn aṣiṣe. Awọn iṣowo fẹ lati jẹ adaṣe, nitorinaa awa tikararẹ ṣe idanimọ awọn iṣoro ninu iṣẹ ati ṣatunṣe wọn ni yarayara bi o ti ṣee. Iwọnyi, ni otitọ, ni awọn iṣoro ti Mo yanju gbogbo ni ọdun to kọja lori iṣẹ akanṣe kan fun ọkan ninu awọn alabara wa.

nipa ise agbese

Ise agbese na jẹ ọkan ninu awọn eto iṣootọ ti o tobi julọ ni orilẹ-ede naa. A ṣe iranlọwọ fun awọn ẹwọn soobu pọ si igbohunsafẹfẹ ti awọn tita nipasẹ ọpọlọpọ awọn irinṣẹ titaja bii awọn kaadi ajeseku. Ni apapọ, iṣẹ akanṣe pẹlu awọn ohun elo 14 ti o ṣiṣẹ lori olupin mẹwa.

Lakoko ilana ifọrọwanilẹnuwo, Mo ṣe akiyesi leralera pe awọn alabojuto ko nigbagbogbo sunmọ abojuto awọn ohun elo wẹẹbu ni deede: ọpọlọpọ tun dojukọ awọn metiriki ẹrọ ṣiṣe ati ṣe atẹle awọn iṣẹ lẹẹkọọkan.

Ninu ọran mi, eto ibojuwo alabara ni iṣaaju da lori Icinga. Ko yanju awọn iṣoro ti o wa loke ni eyikeyi ọna. Nigbagbogbo alabara tikararẹ sọ fun wa nipa awọn iṣoro, ati nigbagbogbo ju bẹẹkọ, a ko ni data ti o to lati de isalẹ idi naa.

Ni afikun, oye ti o han gbangba wa ti asan ti idagbasoke rẹ siwaju sii. Mo ro pe awọn ti o faramọ pẹlu Icinga yoo ye mi. Nitorinaa, a pinnu lati tun ṣe eto ibojuwo ohun elo wẹẹbu patapata fun iṣẹ akanṣe naa.

Ipolowo

A yan Prometheus da lori awọn itọkasi akọkọ mẹta:

  1. Nọmba nla ti awọn metiriki ti o wa. Ninu ọran wa o jẹ 60 ẹgbẹrun ninu wọn. Nitoribẹẹ, o tọ lati ṣe akiyesi pe a ko lo ọpọlọpọ ninu wọn (o ṣee ṣe nipa 95%). Ni ida keji, gbogbo wọn jẹ olowo poku. Fun wa, eyi ni iwọn miiran ni akawe si Icinga ti a lo tẹlẹ. Ninu rẹ, fifi awọn metiriki jẹ irora kan pato: awọn ti o wa tẹlẹ jẹ gbowolori (kan wo koodu orisun ti eyikeyi ohun itanna). Eyikeyi ohun itanna jẹ iwe afọwọkọ ni Bash tabi Python, ifilọlẹ eyiti o jẹ gbowolori ni awọn ofin ti awọn orisun ti o jẹ.
  2. Yi eto agbara kan jo mo kekere iye ti oro. 600 MB ti Ramu, 15% ti ọkan mojuto ati mejila mejila IOPS to fun gbogbo awọn metiriki wa. Nitoribẹẹ, o ni lati ṣiṣẹ awọn olutaja metiriki, ṣugbọn gbogbo wọn ni a kọ sinu Go ati pe ebi ko ni agbara pupọ. Emi ko ro pe ni awọn otitọ ode oni eyi jẹ iṣoro kan.
  3. Pese agbara lati jade lọ si Kubernetes. Ṣiyesi awọn ero alabara, yiyan jẹ kedere.

Elk

Ni iṣaaju, a ko gba tabi ṣe ilana awọn igbasilẹ. Awọn aito jẹ kedere si gbogbo eniyan. A yan ELK nitori a ti ni iriri tẹlẹ pẹlu eto yii. A tọju awọn iwe ohun elo nikan nibẹ. Awọn ibeere yiyan akọkọ jẹ wiwa ọrọ ni kikun ati iyara rẹ.

Ile-iyẹwu

Ni ibẹrẹ, yiyan ṣubu lori InfluxDB. A mọ iwulo lati gba awọn iforukọsilẹ Nginx, awọn iṣiro lati awọn pg_stat_statements, ati tọju data itan Prometheus. A ko fẹ Influx nitori ti o lorekore bẹrẹ lati je kan ti o tobi iye ti iranti ati kọlu. Ni afikun, Mo fẹ lati ṣe akojọpọ awọn ibeere nipasẹ remote_addr, ṣugbọn ṣiṣe akojọpọ ni DBMS yii jẹ nipasẹ awọn afi nikan. Awọn afi jẹ gbowolori (iranti), nọmba wọn jẹ opin ni majemu.

A tun bẹrẹ wiwa wa lẹẹkansi. Ohun ti o nilo jẹ aaye data atupale pẹlu lilo awọn orisun to kere, ni pataki pẹlu funmorawon data lori disiki.

Clickhouse pàdé gbogbo awọn wọnyi àwárí mu, ati awọn ti a ti ko kedun wa wun. A ko kọ eyikeyi awọn oye iyalẹnu ti data sinu rẹ (nọmba awọn ifibọ jẹ bii ẹgbẹrun marun nikan ni iṣẹju kan).

NewRelic

NewRelic ti wa ni itan-akọọlẹ pẹlu wa nitori o jẹ yiyan alabara. A lo bi APM.

Zabbix

A lo Zabbix ni iyasọtọ lati ṣe atẹle Apoti Dudu ti ọpọlọpọ awọn API.

Asọye a Abojuto ona

A fẹ lati decompose awọn iṣẹ-ṣiṣe ki o si nitorina systematize awọn ona si mimojuto.

Lati ṣe eyi, Mo pin eto wa si awọn ipele wọnyi:

  • hardware ati VMS;
  • eto isesise;
  • awọn iṣẹ eto, akopọ software;
  • ohun elo;
  • owo kannaa.

Kini idi ti ọna yii rọrun:

  • a mọ ẹniti o jẹ iduro fun iṣẹ ti ipele kọọkan ati, da lori eyi, a le firanṣẹ awọn itaniji;
  • a le lo eto naa nigba titẹkuro awọn itaniji - yoo jẹ ajeji lati fi itaniji ranṣẹ nipa wiwa data data nigbati ẹrọ foju lapapọ ko si.

Niwọn igba ti iṣẹ-ṣiṣe wa ni lati ṣe idanimọ awọn irufin ninu iṣẹ ti eto naa, a gbọdọ ni ipele kọọkan ṣe afihan ṣeto awọn metiriki kan ti o tọ lati san ifojusi si nigba kikọ awọn ofin itaniji. Nigbamii, jẹ ki a lọ nipasẹ awọn ipele “VMS”, “Eto iṣẹ” ati “Awọn iṣẹ eto, akopọ sọfitiwia”.

Awọn ẹrọ foju

Alejo allocates wa a isise, disk, iranti ati nẹtiwọki. Ati pe a ni awọn iṣoro pẹlu awọn meji akọkọ. Nitorina, awọn metiriki:

Sipiyu ji akoko - nigbati o ra a foju ẹrọ lori Amazon (t2.micro, fun apẹẹrẹ), o yẹ ki o ye wipe o ti wa ni ko soto ohun gbogbo mojuto ero isise, sugbon nikan kan ipin ti awọn oniwe-akoko. Ati pe nigbati o ba rẹwẹsi, ero isise naa yoo gba lọwọ rẹ.

Metiriki yii gba ọ laaye lati tọpa iru awọn akoko bẹ ati ṣe awọn ipinnu. Fun apẹẹrẹ, ṣe o jẹ dandan lati mu owo idiyele ti o sanra tabi kaakiri sisẹ awọn iṣẹ-ṣiṣe lẹhin ati awọn ibeere API si awọn olupin oriṣiriṣi?

IOPS + CPU iowait akoko - fun idi kan, ọpọlọpọ awọn alejo gbigba awọsanma ẹṣẹ nipa a ko pese IOPS to. Pẹlupẹlu, iṣeto pẹlu IOPS kekere kii ṣe ariyanjiyan fun wọn. Nitorinaa, o tọ lati gba CPU iowait. Pẹlu bata ti awọn aworan - pẹlu IOPS kekere ati iduro I/O giga - o le sọrọ tẹlẹ si alejo gbigba ati yanju iṣoro naa.

ẹrọ

Awọn metiriki eto iṣẹ:

  • iye iranti to wa ninu%;
  • swap iṣẹ ṣiṣe: vmstat swapin, swapout;
  • nọmba awọn inodes ti o wa ati aaye ọfẹ lori eto faili ni%
  • fifuye apapọ;
  • nọmba ti awọn isopọ ni tw ipinle;
  • contrack tabili kikun;
  • Didara nẹtiwọọki naa le ṣe abojuto nipa lilo ohun elo ss, package iproute2 - gba itọkasi awọn asopọ RTT lati iṣelọpọ rẹ ki o ṣe akojọpọ nipasẹ ibudo dest.

Paapaa ni ipele eto iṣẹ a ni iru nkan bi awọn ilana. O ṣe pataki lati ṣe idanimọ ninu eto eto awọn ilana ti o ṣe ipa pataki ninu iṣẹ rẹ. Ti, fun apẹẹrẹ, o ni ọpọlọpọ awọn pgpools, lẹhinna o nilo lati gba alaye fun ọkọọkan wọn.

Eto ti awọn metiriki jẹ bi atẹle:

  • Sipiyu;
  • iranti ni akọkọ olugbe;
  • IO - ni pataki ni IOPS;
  • FileFd - ṣii ati opin;
  • awọn ikuna oju-iwe pataki - ni ọna yii o le loye kini ilana ti n paarọ.

A ran gbogbo ibojuwo ni Docker, ati pe a lo Oludamoran lati gba data metiriki. Lori awọn ẹrọ miiran a lo ilana-olutaja.

Awọn iṣẹ eto, akopọ software

Ohun elo kọọkan ni awọn pato ti tirẹ, ati pe o nira lati ṣe ẹyọkan ṣeto awọn metiriki kan pato.

Eto gbogbo agbaye ni:

  • oṣuwọn ìbéèrè;
  • nọmba ti awọn aṣiṣe;
  • lairi;
  • ekunrere.

Awọn apẹẹrẹ idaṣẹ julọ ti ibojuwo ni ipele yii jẹ Nginx ati PostgreSQL.

Iṣẹ ti kojọpọ julọ ninu eto wa ni ibi ipamọ data. Ni iṣaaju, a nigbagbogbo ni wahala lati mọ ohun ti data data n ṣe.

A rii ẹru giga lori awọn disiki, ṣugbọn awọn akọọlẹ ti o lọra ko han ohunkohun. A yanju iṣoro yii nipa lilo pg_stat_statements, wiwo ti o gba awọn iṣiro ibeere.

Iyẹn ni gbogbo abojuto nilo.

A kọ awọn aworan ti iṣẹ ṣiṣe ti kika ati kikọ awọn ibeere:

Bii a ṣe kọ ibojuwo lori Prometheus, Clickhouse ati ELK
Bii a ṣe kọ ibojuwo lori Prometheus, Clickhouse ati ELK

Ohun gbogbo rọrun ati kedere, ibeere kọọkan ni awọ tirẹ.

Apẹẹrẹ idaṣẹ dọgbadọgba jẹ awọn akọọlẹ Nginx. Kò yani lẹ́nu pé ọ̀pọ̀ èèyàn ló sọ wọ́n tàbí kí wọ́n dárúkọ wọn nínú àtòkọ àwọn ohun tó yẹ kí wọ́n ní. Ọna kika boṣewa kii ṣe alaye pupọ ati pe o nilo lati faagun.

Tikalararẹ, Mo ṣafikun request_time, upstream_response_time, body_bytes_sent, request_length, request_id. A ṣe ipinnu akoko idahun ati nọmba awọn aṣiṣe:

Bii a ṣe kọ ibojuwo lori Prometheus, Clickhouse ati ELK
Bii a ṣe kọ ibojuwo lori Prometheus, Clickhouse ati ELK

A kọ awọn aworan ti akoko idahun ati nọmba awọn aṣiṣe. Ranti? Ṣe Mo ti sọrọ nipa awọn iṣẹ-ṣiṣe iṣowo? Lati yarayara ati laisi awọn aṣiṣe? A ti bo awọn ọran wọnyi tẹlẹ pẹlu awọn shatti meji. Ati pe o le pe awọn alabojuto lori iṣẹ ni lilo wọn.

Ṣugbọn iṣoro kan diẹ si wa - lati rii daju imukuro iyara ti awọn idi ti iṣẹlẹ naa.

Ipinnu iṣẹlẹ

Gbogbo ilana lati idamo si ipinnu iṣoro kan le pin si awọn igbesẹ pupọ:

  • idamo isoro;
  • ifitonileti si olutọju iṣẹ;
  • idahun si iṣẹlẹ;
  • imukuro awọn okunfa.

O ṣe pataki pe a gbọdọ ṣe eyi ni yarayara bi o ti ṣee. Ati pe ti o ba wa ni awọn ipele ti idamo iṣoro kan ati fifiranṣẹ ifitonileti a ko le ni akoko pupọ - iṣẹju meji yoo lo lori wọn ni eyikeyi ọran, lẹhinna awọn atẹle jẹ aaye ṣiṣi silẹ fun awọn ilọsiwaju.

Jẹ ki a kan fojuinu pe foonu oṣiṣẹ oṣiṣẹ naa dun. Kí ló máa ṣe? Wa awọn idahun si awọn ibeere - kini o fọ, nibo ni o ti fọ, bawo ni lati ṣe? Eyi ni bi a ṣe dahun awọn ibeere wọnyi:

Bii a ṣe kọ ibojuwo lori Prometheus, Clickhouse ati ELK

A nìkan ni gbogbo alaye yi ninu awọn ọrọ ti awọn iwifunni, fun o ọna asopọ kan si a wiki iwe ti o se apejuwe bi o si fesi si isoro yi, bi o si yanjú o ati ki o gbooro sii.

Mo si tun ti ko so ohunkohun nipa awọn ohun elo Layer ati owo kannaa. Laanu, awọn ohun elo wa ko tii ṣe imuse gbigba awọn metiriki. Orisun alaye eyikeyi lati awọn ipele wọnyi jẹ awọn akọọlẹ.

A tọkọtaya ti ojuami.

Ni akọkọ, kọ awọn akọọlẹ ti a ṣeto. Ko si iwulo lati ṣafikun ọrọ-ọrọ ninu ọrọ ifiranṣẹ naa. Eyi jẹ ki wọn nira lati ṣe akojọpọ ati itupalẹ. Logstash gba akoko pipẹ lati ṣe deede gbogbo eyi.

Ni ẹẹkeji, lo awọn ipele iwuwo ni deede. Ede kọọkan ni boṣewa tirẹ. Tikalararẹ, Mo ṣe iyatọ awọn ipele mẹrin:

  1. ko si aṣiṣe;
  2. aṣiṣe ẹgbẹ onibara;
  3. aṣiṣe wa ni ẹgbẹ wa, a ko padanu owo, a ko ni awọn ewu;
  4. Aṣiṣe wa ni ẹgbẹ wa, a padanu owo.

Jẹ ki n ṣe akopọ. O nilo lati gbiyanju lati kọ ibojuwo da lori ọgbọn iṣowo. Gbiyanju lati ṣe atẹle ohun elo funrararẹ ati ṣiṣẹ pẹlu iru awọn metiriki bii nọmba awọn tita, nọmba awọn iforukọsilẹ olumulo tuntun, nọmba awọn olumulo lọwọlọwọ lọwọlọwọ, ati bẹbẹ lọ.

Ti gbogbo iṣowo rẹ ba jẹ bọtini kan ninu ẹrọ aṣawakiri, o nilo lati ṣe atẹle boya o tẹ ati ṣiṣẹ daradara. Gbogbo awọn iyokù ko ṣe pataki.

Ti o ko ba ni eyi, o le gbiyanju lati mu pẹlu rẹ ni awọn iwe ohun elo, awọn akọọlẹ Nginx, ati bẹbẹ lọ, bi a ti ṣe. O yẹ ki o sunmọ ohun elo bi o ti ṣee ṣe.

Awọn metiriki eto iṣẹ jẹ dajudaju pataki, ṣugbọn iṣowo ko nifẹ si wọn, a ko sanwo fun wọn.

orisun: www.habr.com

Fi ọrọìwòye kun