Njẹ ibojuwo ti ku? - Long ifiwe monitoring

Njẹ ibojuwo ti ku? - Long ifiwe monitoring

Lati ọdun 2008, ile-iṣẹ wa ni akọkọ ti n ṣiṣẹ ni iṣakoso amayederun ati atilẹyin imọ-ẹrọ yika-akoko fun awọn iṣẹ wẹẹbu: a ni diẹ sii ju awọn alabara 400, eyiti o jẹ nipa 15% ti e-commerce Russia. Nitorinaa, faaji oniruuru pupọ ni atilẹyin. Ti nkan ba ṣubu, a jẹ dandan lati ṣatunṣe laarin iṣẹju 15. Ṣugbọn lati ni oye pe ijamba kan ti ṣẹlẹ, o nilo lati ṣe atẹle iṣẹ naa ki o dahun si awọn iṣẹlẹ. Bawo ni lati ṣe eyi?

Mo gbagbọ pe iṣoro kan wa ni siseto eto ibojuwo to dara. Ti ko ba si wahala, lẹhinna ọrọ mi yoo ni iwe-akọọlẹ kan: “Jọwọ fi Prometheus + Grafana sori ẹrọ ati awọn afikun 1, 2, 3.” Laanu, ko ṣiṣẹ ni ọna yẹn mọ. Ati iṣoro akọkọ ni pe gbogbo eniyan tẹsiwaju lati gbagbọ ninu nkan ti o wa ni 2008, ni awọn ofin ti awọn paati sọfitiwia.

Nipa iṣeto ti eto ibojuwo, Emi yoo ṣe idaniloju lati sọ pe ... awọn iṣẹ akanṣe pẹlu ibojuwo to pe ko si. Ati pe ipo naa buru pupọ pe ti nkan ba ṣubu, eewu wa pe yoo ma ṣe akiyesi - lẹhinna gbogbo eniyan ni idaniloju pe “ohun gbogbo ni abojuto.”
Boya ohun gbogbo ti wa ni abojuto. Sugbon bawo?

Gbogbo wa ti pade itan kan bii atẹle: awọn olufọkansin kan, alabojuto kan n ṣiṣẹ, ẹgbẹ idagbasoke kan wa sọdọ wọn o sọ pe - “a ti tu wa silẹ, ni bayi ṣe atẹle.” Atẹle kini? Bawo ni o ṣe n ṣiṣẹ?

O DARA. A ṣe atẹle ọna aṣa atijọ. Ati pe o ti yipada tẹlẹ, ati pe o ṣe abojuto iṣẹ A, eyiti o di iṣẹ B, eyiti o ṣe ajọṣepọ pẹlu iṣẹ C. Ṣugbọn ẹgbẹ idagbasoke sọ fun ọ pe: “Fi sọfitiwia sori ẹrọ, o yẹ ki o ṣe atẹle ohun gbogbo!”

Nitorina kini o ti yipada? - Gbogbo nkan ti yato!

Ọdun 2008 Ohun gbogbo dara

Awọn olupilẹṣẹ tọkọtaya kan wa, olupin kan, olupin data data kan. Gbogbo rẹ lọ lati ibi. A ni diẹ ninu alaye, a fi sori ẹrọ zabbix, Nagios, cacti. Ati lẹhinna a ṣeto awọn titaniji ko o lori Sipiyu, lori iṣẹ disiki, ati lori aaye disk. A tun ṣe awọn sọwedowo afọwọṣe meji lati rii daju pe aaye naa dahun ati pe awọn aṣẹ n de ibi ipamọ data. Ati pe iyẹn - a ni aabo diẹ sii tabi kere si.

Ti a ba ṣe afiwe iye iṣẹ ti olutọju naa ṣe lẹhinna lati pese ibojuwo, lẹhinna 98% rẹ jẹ adaṣe: eniyan ti o ṣe ibojuwo gbọdọ loye bi o ṣe le fi sori ẹrọ Zabbix, bii o ṣe le tunto rẹ ati tunto awọn itaniji. Ati 2% - fun awọn sọwedowo itagbangba: pe aaye naa dahun ati ṣe ibeere si ibi ipamọ data, pe awọn aṣẹ tuntun ti de.

Njẹ ibojuwo ti ku? - Long ifiwe monitoring

Ọdun 2010 Awọn fifuye ti wa ni dagba

A n bẹrẹ lati ṣe iwọn wẹẹbu, fifi ẹrọ wiwa kun. A fẹ lati rii daju pe katalogi ọja ni gbogbo awọn ọja ninu. Ati pe wiwa ọja naa ṣiṣẹ. Wipe data data n ṣiṣẹ, pe awọn aṣẹ n ṣe, pe aaye naa dahun ni ita ati dahun lati ọdọ awọn olupin meji ati pe olumulo ko le jade kuro ni aaye naa lakoko ti o tun ṣe atunṣe si olupin miiran, ati bẹbẹ lọ. Awọn nkan diẹ sii wa.

Pẹlupẹlu, nkan ti o ni nkan ṣe pẹlu awọn amayederun ṣi wa ti o tobi julọ ni ori oluṣakoso. Imọran tun wa ni ori mi pe eniyan ti n ṣe ibojuwo ni eniyan ti yoo fi sori ẹrọ zabbix ati pe o le tunto rẹ.

Ṣugbọn ni akoko kanna, iṣẹ han lori ṣiṣe awọn sọwedowo itagbangba, lori ṣiṣẹda akojọpọ awọn iwe afọwọkọ ibeere atọka wiwa, eto awọn iwe afọwọkọ lati ṣayẹwo pe wiwa n yipada lakoko ilana itọka, ṣeto awọn iwe afọwọkọ ti o ṣayẹwo pe a gbe awọn ọja lọ si ifijiṣẹ iṣẹ, ati be be lo. ati bẹbẹ lọ.

Njẹ ibojuwo ti ku? - Long ifiwe monitoring

Akiyesi: Mo kowe “awọn iwe afọwọkọ kan” ni igba mẹta. Iyẹn ni, ẹni ti o ni iduro fun ibojuwo kii ṣe ẹni ti o kan fi sori ẹrọ zabbix nikan. Eyi jẹ eniyan ti o bẹrẹ ifaminsi. Ṣugbọn ko si ohun ti yipada ninu awọn ọkan ẹgbẹ sibẹsibẹ.

Ṣugbọn agbaye n yipada, n di pupọ ati siwaju sii. Layer ti agbara ipa ati ọpọlọpọ awọn ọna ṣiṣe tuntun ti wa ni afikun. Wọn bẹrẹ lati ṣe ajọṣepọ pẹlu ara wọn. Tani o sọ pe "òórùn bi awọn iṣẹ microservices?" Ṣugbọn iṣẹ kọọkan tun dabi oju opo wẹẹbu ni ẹyọkan. A le yipada si rẹ ki o loye pe o pese alaye pataki ati ṣiṣẹ lori tirẹ. Ati pe ti o ba jẹ oluṣakoso nigbagbogbo ni ipa ninu iṣẹ akanṣe kan ti o ti dagbasoke fun ọdun 5-7-10, imọ yii ṣajọpọ: ipele tuntun kan han - o rii, ipele miiran han - o rii…

Njẹ ibojuwo ti ku? - Long ifiwe monitoring

Ṣugbọn ṣọwọn ni ẹnikẹni yoo tẹle iṣẹ akanṣe kan fun ọdun 10.

Monitoringman ká bere

Sawon o wá si titun kan ikinni ti o lẹsẹkẹsẹ yá 20 kóòdù, kowe 15 microservices, ati awọn ti o ba wa ni ohun admin ti o ti wa ni so fun: “Kọ CI/CD. Jowo." O ti kọ CI / CD ati lojiji o gbọ: "O ṣoro fun wa lati ṣiṣẹ pẹlu iṣelọpọ ni "cube", laisi agbọye bi ohun elo yoo ṣe ṣiṣẹ ninu rẹ. Ṣe apoti iyanrin fun wa ni “cube” kanna.
O ṣe apoti iyanrin ni cube yii. Wọn sọ fun ọ lẹsẹkẹsẹ: “A fẹ data data ipele kan ti o ni imudojuiwọn lojoojumọ lati iṣelọpọ, nitorinaa a loye pe o ṣiṣẹ lori ibi ipamọ data, ṣugbọn ni akoko kanna ko ba data data iṣelọpọ jẹ.”

O n gbe ni gbogbo eyi. O ku ọsẹ 2 ṣaaju idasilẹ, wọn sọ fun ọ: “Nisisiyi jẹ ki a ṣe atẹle gbogbo eyi…” Iyẹn ni. ṣe atẹle awọn amayederun iṣupọ, ṣe atẹle faaji microservice, ṣe atẹle iṣẹ pẹlu awọn iṣẹ ita…

Ati awọn ẹlẹgbẹ mi mu ero deede kuro ni ori wọn ki wọn sọ pe: “Daradara, ohun gbogbo han gbangba nibi! Fi eto kan sori ẹrọ ti yoo ṣe atẹle gbogbo eyi. ” Bẹẹni, bẹẹni: Prometheus + Grafana + awọn afikun.
Ati pe wọn ṣafikun: “O ni ọsẹ meji, rii daju pe ohun gbogbo wa ni aabo.”

Ni ọpọlọpọ awọn iṣẹ akanṣe ti a rii, eniyan kan ni ipin fun ibojuwo. Fojuinu pe a fẹ bẹwẹ eniyan lati ṣe ibojuwo fun ọsẹ 2, ati pe a kọ iwe-aṣẹ kan fun u. Awọn ọgbọn wo ni o yẹ ki eniyan yii ni, fun ohun gbogbo ti a ti sọ titi di isisiyi?

  • O gbọdọ ni oye ibojuwo ati awọn pato ti iṣẹ ti awọn ohun elo irin.
  • O gbọdọ loye awọn pato ti ibojuwo Kubernetes (ati pe gbogbo eniyan fẹ lati lọ si "cube", nitori o le ṣe aibikita lati ohun gbogbo, tọju, nitori abojuto yoo ṣe pẹlu awọn iyokù) - funrararẹ, awọn amayederun rẹ, ati loye bi o ṣe le ṣe atẹle awọn ohun elo. inu.
  • O gbọdọ loye pe awọn iṣẹ ṣe ibasọrọ pẹlu ara wọn ni awọn ọna pataki, ati mọ awọn pato ti bii awọn iṣẹ ṣe nlo pẹlu ara wọn. O ṣee ṣe pupọ lati rii iṣẹ akanṣe nibiti diẹ ninu awọn iṣẹ ṣe ibasọrọ ni iṣọpọ, nitori ko si ọna miiran. Fun apẹẹrẹ, ẹhin ẹhin lọ nipasẹ REST, nipasẹ gRPC si iṣẹ katalogi, gba atokọ ti awọn ọja ati da pada pada. O ko le duro nibi. Ati pẹlu awọn iṣẹ miiran o ṣiṣẹ asynchronously. Gbe aṣẹ lọ si iṣẹ ifijiṣẹ, fi lẹta ranṣẹ, ati bẹbẹ lọ.
    Ṣe o ti sọ tẹlẹ lati gbogbo eyi? Ati abojuto, ti o nilo lati ṣe atẹle eyi, paapaa ni idamu diẹ sii.
  • O gbọdọ ni anfani lati gbero ati gbero bi o ti tọ - bi iṣẹ naa ṣe n pọ si ati siwaju sii.
  • Nitorina o gbọdọ ṣẹda ilana kan lati inu iṣẹ ti a ṣẹda lati le ni oye bi o ṣe le ṣe abojuto pataki. O nilo oye ti faaji ti iṣẹ akanṣe ati idagbasoke rẹ + oye ti awọn imọ-ẹrọ ti a lo ninu idagbasoke.

Jẹ ki a ranti ọran deede deede: diẹ ninu awọn iṣẹ wa ni PHP, diẹ ninu awọn iṣẹ wa ni Go, diẹ ninu awọn iṣẹ wa ni JS. Wọn bakan ṣiṣẹ pẹlu ara wọn. Eyi ni ibiti ọrọ naa “microservice” ti wa: ọpọlọpọ awọn ọna ṣiṣe ti ara ẹni lo wa ti awọn olupilẹṣẹ ko le loye iṣẹ akanṣe lapapọ. Apa kan ti ẹgbẹ naa kọ awọn iṣẹ ni JS ti o ṣiṣẹ lori ara wọn ati pe ko mọ bi iyoku eto naa ṣe n ṣiṣẹ. Apa miiran kọ awọn iṣẹ ni Python ati pe ko dabaru pẹlu bii awọn iṣẹ miiran ṣe n ṣiṣẹ; wọn ya sọtọ ni agbegbe tiwọn. Ẹkẹta jẹ awọn iṣẹ kikọ ni PHP tabi nkan miiran.
Gbogbo awọn eniyan 20 wọnyi pin si awọn iṣẹ 15, ati pe abojuto kan ṣoṣo ni o gbọdọ loye gbogbo eyi. Duro! a kan pin eto si awọn iṣẹ microservices 15 nitori eniyan 20 ko le loye gbogbo eto naa.

Ṣugbọn o nilo lati ṣe abojuto ni ọna kan…

Kí ni àbájáde rẹ̀? Bi abajade, eniyan kan wa ti o wa pẹlu ohun gbogbo ti gbogbo ẹgbẹ ti awọn olupilẹṣẹ ko le loye, ati ni akoko kanna o gbọdọ tun mọ ati ni anfani lati ṣe ohun ti a tọka si loke - awọn amayederun ohun elo, awọn amayederun Kubernetes, ati bẹbẹ lọ.

Kini MO le sọ ... Houston, a ni awọn iṣoro.

Abojuto iṣẹ akanṣe sọfitiwia igbalode jẹ iṣẹ akanṣe sọfitiwia ninu funrararẹ

Lati igbagbọ eke pe ibojuwo jẹ sọfitiwia, a dagbasoke igbagbọ ninu awọn iṣẹ iyanu. Ṣugbọn awọn iṣẹ iyanu, alas, ko ṣẹlẹ. O ko le fi zabbix sori ẹrọ ati nireti ohun gbogbo lati ṣiṣẹ. Ko si aaye ni fifi sori Grafana ati nireti pe ohun gbogbo yoo dara. Pupọ julọ akoko yoo lo lori siseto awọn sọwedowo ti iṣẹ ti awọn iṣẹ ati ibaraenisepo wọn pẹlu ara wọn, ṣayẹwo bi awọn eto ita ṣe n ṣiṣẹ. Ni otitọ, 90% ti akoko yoo lo kii ṣe lori kikọ awọn iwe afọwọkọ, ṣugbọn lori idagbasoke sọfitiwia. Ati pe o yẹ ki o ṣe itọju nipasẹ ẹgbẹ kan ti o loye iṣẹ ti iṣẹ naa.
Ti o ba wa ni ipo yii a sọ eniyan kan sinu ibojuwo, lẹhinna ajalu yoo ṣẹlẹ. Ti o jẹ ohun ti o ṣẹlẹ nibi gbogbo.

Fun apẹẹrẹ, awọn iṣẹ pupọ wa ti o ba ara wọn sọrọ nipasẹ Kafka. Ibere ​​ti de, a fi ifiranṣẹ kan ranṣẹ nipa aṣẹ si Kafka. Iṣẹ kan wa ti o tẹtisi alaye nipa aṣẹ ati gbigbe awọn ẹru naa. Iṣẹ kan wa ti o tẹtisi alaye nipa aṣẹ ati fi lẹta ranṣẹ si olumulo. Ati lẹhinna awọn iṣẹ diẹ sii han, ati pe a bẹrẹ lati ni idamu.

Ati pe ti o ba tun fun eyi si abojuto ati awọn olupilẹṣẹ ni ipele nigbati akoko kukuru kan wa ṣaaju idasilẹ, eniyan yoo nilo lati loye gbogbo ilana yii. Awon. Ise agbese kan ti iwọn yii gba iye pataki ti akoko, ati pe eyi yẹ ki o jẹ ifosiwewe sinu idagbasoke eto naa.
Ṣugbọn nigbagbogbo pupọ, paapaa ni awọn ibẹrẹ, a rii bi a ṣe sun ibojuwo siwaju titi di igba miiran. “Bayi a yoo ṣe Ẹri ti Agbekale, a yoo ṣe ifilọlẹ pẹlu rẹ, jẹ ki o ṣubu - a ti ṣetan lati rubọ. Ati lẹhinna a yoo ṣe atẹle gbogbo rẹ. ” Nigbati (tabi ti o ba) ise agbese na bẹrẹ lati ṣe owo, iṣowo naa fẹ lati ṣafikun awọn ẹya diẹ sii paapaa - nitori o ti bẹrẹ iṣẹ, nitorinaa o nilo lati yiyi siwaju! Ati pe o wa ni aaye nibiti o nilo akọkọ lati ṣe atẹle ohun gbogbo ti tẹlẹ, eyiti ko gba 1% ti akoko, ṣugbọn pupọ diẹ sii. Ati nipasẹ ọna, awọn olupilẹṣẹ yoo nilo fun ibojuwo, ati pe o rọrun lati jẹ ki wọn ṣiṣẹ lori awọn ẹya tuntun. Bi abajade, awọn ẹya tuntun ti kọ, ohun gbogbo ni o bajẹ, ati pe o wa ni titiipa ailopin.

Nitorinaa bii o ṣe le ṣe atẹle iṣẹ akanṣe kan ti o bẹrẹ lati ibẹrẹ, ati kini lati ṣe ti o ba gba iṣẹ akanṣe kan ti o nilo lati ṣe abojuto, ṣugbọn iwọ ko mọ ibiti o bẹrẹ?

Ni akọkọ, o nilo lati gbero.

Digression Lyrical: nigbagbogbo wọn bẹrẹ pẹlu ibojuwo amayederun. Fun apẹẹrẹ, a ni Kubernetes. Jẹ ká bẹrẹ nipa fifi Prometheus pẹlu Grafana, fifi awọn afikun fun mimojuto "cube". Kii ṣe awọn olupilẹṣẹ nikan, ṣugbọn awọn oludari tun ni iṣe lailoriire ti: “A yoo fi ohun itanna yii sori ẹrọ, ṣugbọn ohun itanna naa le mọ bi o ṣe le ṣe.” Awọn eniyan fẹran lati bẹrẹ pẹlu irọrun ati taara, dipo pẹlu awọn iṣe pataki. Ati ibojuwo amayederun jẹ rọrun.

Ni akọkọ, pinnu kini ati bii o ṣe fẹ lati ṣe atẹle, lẹhinna yan ohun elo kan, nitori awọn eniyan miiran ko le ronu fun ọ. Ati pe o yẹ ki wọn? Miiran eniyan ro si ara wọn, nipa kan fun gbogbo eto - tabi ko ro ni gbogbo nigbati yi ohun itanna a ti kọ. Ati pe nitori pe ohun itanna yii ni awọn olumulo 5 ẹgbẹrun ko tumọ si pe o jẹ lilo eyikeyi. Boya o yoo di 5001st larọwọto nitori pe eniyan 5000 ti wa nibẹ tẹlẹ.

Ti o ba bẹrẹ mimojuto awọn amayederun ati ẹhin ohun elo rẹ duro idahun, gbogbo awọn olumulo yoo padanu asopọ pẹlu ohun elo alagbeka naa. Aṣiṣe yoo han. Wọn yoo wa sọdọ rẹ pe “Ohun elo naa ko ṣiṣẹ, kini o nṣe nibi?” - "A n ṣe abojuto." - "Bawo ni o ṣe ṣe atẹle ti o ko ba rii pe ohun elo naa ko ṣiṣẹ?!"

  1. Mo gbagbọ pe o nilo lati bẹrẹ ibojuwo ni deede lati aaye titẹsi olumulo. Ti olumulo ko ba rii pe ohun elo naa n ṣiṣẹ, iyẹn ni, o jẹ ikuna. Ati eto ibojuwo yẹ ki o kilo nipa eyi ni akọkọ.
  2. Ati pe lẹhinna nikan ni a le ṣe atẹle awọn amayederun. Tabi ṣe ni afiwe. O rọrun pẹlu awọn amayederun - nibi a le nipari kan fi sori ẹrọ zabbix.
  3. Ati ni bayi o nilo lati lọ si awọn gbongbo ohun elo lati loye ibiti awọn nkan ko ṣiṣẹ.

Ero akọkọ mi ni pe ibojuwo yẹ ki o lọ ni afiwe pẹlu ilana idagbasoke. Ti o ba ṣe idiwọ ẹgbẹ ibojuwo fun awọn iṣẹ-ṣiṣe miiran (ṣiṣẹda CI / CD, sandboxing, isọdọtun amayederun), ibojuwo yoo bẹrẹ si aisun ati pe o le ma ṣe pẹlu idagbasoke (tabi pẹ tabi ya o yoo ni lati da duro).

Ohun gbogbo nipasẹ awọn ipele

Eyi ni bii MO ṣe rii iṣeto ti eto ibojuwo kan.

1) Ipele ohun elo:

  • iṣaroye iṣowo ohun elo;
  • mimojuto ilera metiriki ti awọn iṣẹ;
  • monitoring Integration.

2) Ipele amayederun:

  • ibojuwo ipele orchestration;
  • eto software ibojuwo;
  • irin ipele monitoring.

3) Lẹẹkansi ipele ohun elo - ṣugbọn bi ọja imọ-ẹrọ:

  • gbigba ati abojuto awọn akọọlẹ ohun elo;
  • APM;
  • wiwa kakiri.

4) Gbigbọn:

  • eto eto ikilọ;
  • iṣeto ti eto iṣẹ;
  • agbari ti “ipilẹ imọ” ati ṣiṣan iṣẹ fun sisẹ iṣẹlẹ.

pataki: a gba si gbigbọn kii ṣe lẹhin, ṣugbọn lẹsẹkẹsẹ! Ko si iwulo lati ṣe ifilọlẹ ibojuwo ati “bakan nigbamii” ṣayẹwo tani yoo gba awọn itaniji. Lẹhinna, kini iṣẹ-ṣiṣe ti ibojuwo: lati ni oye ibi ti o wa ninu eto ohun kan n ṣiṣẹ aṣiṣe, ati lati jẹ ki awọn eniyan ti o tọ mọ nipa rẹ. Ti o ba fi eyi silẹ titi di opin, lẹhinna awọn eniyan ti o tọ yoo mọ pe ohun kan n lọ aṣiṣe nikan nipa pipe "ko si ohun ti o ṣiṣẹ fun wa."

Ohun elo Layer - Business Logic Monitoring

Nibi a n sọrọ nipa ṣayẹwo otitọ pe ohun elo naa ṣiṣẹ fun olumulo.

Ipele yii yẹ ki o ṣee ṣe lakoko ipele idagbasoke. Fun apẹẹrẹ, a ni Prometheus ti o ni majemu: o lọ si olupin ti o ṣe awọn sọwedowo, fa aaye ipari, ati aaye ipari lọ ati ṣayẹwo API.

Nigba ti o ba beere nigbagbogbo lati ṣe atẹle oju-iwe ile lati rii daju pe aaye naa n ṣiṣẹ, awọn olutọpa n fun ọwọ ti o le fa ni gbogbo igba ti wọn nilo lati rii daju pe API n ṣiṣẹ. Ati awọn pirogirama ni akoko yii tun gba ati kọ /api/test/helloworld
Ọna kan ṣoṣo lati rii daju pe ohun gbogbo ṣiṣẹ? - Bẹẹkọ!

  • Ṣiṣẹda iru sọwedowo jẹ pataki awọn iṣẹ-ṣiṣe ti Difelopa. Awọn idanwo apakan yẹ ki o kọ nipasẹ awọn pirogirama ti o kọ koodu naa. Nitoripe ti o ba jo si alabojuto, “Arakunrin, eyi ni atokọ ti awọn ilana API fun gbogbo awọn iṣẹ 25, jọwọ ṣe atẹle ohun gbogbo!” - ko si ohun ti yoo ṣiṣẹ jade.
  • Ti o ba tẹ sita “aye hello”, ko si ẹnikan ti yoo mọ pe API yẹ ki o ṣiṣẹ. Gbogbo iyipada API gbọdọ ja si iyipada ninu awọn sọwedowo.
  • Ti o ba ti ni iru iṣoro bẹ tẹlẹ, da awọn ẹya duro ki o pin awọn olupilẹṣẹ ti yoo kọ awọn sọwedowo wọnyi, tabi gba awọn adanu, gba pe ko si ohun ti a ṣayẹwo ati pe yoo kuna.

Awọn imọran imọ-ẹrọ:

  • Rii daju lati ṣeto olupin ita lati ṣeto awọn sọwedowo - o gbọdọ rii daju pe iṣẹ akanṣe rẹ wa si agbaye ita.
  • Ṣeto awọn sọwedowo kọja gbogbo ilana API, kii ṣe awọn aaye ipari kọọkan nikan.
  • Ṣẹda aaye ipari-prometheus pẹlu awọn abajade idanwo.

Layer elo - ibojuwo awọn metiriki ilera

Bayi a n sọrọ nipa awọn metiriki ilera ita ti awọn iṣẹ.

A pinnu pe a ṣe atẹle gbogbo awọn “awọn ọwọ” ti ohun elo nipa lilo awọn sọwedowo ita, eyiti a pe lati eto ibojuwo ita. Ṣugbọn awọn wọnyi ni "awọn ọwọ" ti olumulo "ri". A fẹ lati rii daju pe awọn iṣẹ wa funrararẹ ṣiṣẹ. Itan ti o dara julọ wa nibi: K8s ni awọn sọwedowo ilera, ki o kere ju “cube” funrararẹ le ni idaniloju pe iṣẹ naa n ṣiṣẹ. Ṣugbọn idaji awọn sọwedowo ti Mo ti rii jẹ titẹ kanna “hello aye”. Awon. Nitorinaa o fa lẹẹkan lẹhin imuṣiṣẹ, o dahun pe ohun gbogbo dara - iyẹn ni gbogbo. Ati pe iṣẹ naa, ti o ba pese API tirẹ, ni nọmba nla ti awọn aaye titẹsi fun API kanna, eyiti o tun nilo lati ṣe abojuto, nitori a fẹ lati mọ pe o ṣiṣẹ. Ati pe a ti ṣe abojuto rẹ tẹlẹ ninu.

Bii o ṣe le ṣe eyi ni ọna ti o tọ: iṣẹ kọọkan ṣafihan ipari ipari nipa iṣẹ ṣiṣe lọwọlọwọ rẹ, ati ninu awọn aworan ti Grafana (tabi ohun elo miiran) a rii ipo ti gbogbo awọn iṣẹ.

  • Gbogbo iyipada API gbọdọ ja si iyipada ninu awọn sọwedowo.
  • Ṣẹda iṣẹ tuntun lẹsẹkẹsẹ pẹlu awọn metiriki ilera.
  • Alabojuto kan le wa si awọn olupilẹṣẹ ki o beere “fi mi kun awọn ẹya meji ki MO le loye ohun gbogbo ki n ṣafikun alaye nipa eyi si eto ibojuwo mi.” Ṣugbọn awọn olupilẹṣẹ nigbagbogbo dahun, “A kii yoo ṣafikun ohunkohun ni ọsẹ meji ṣaaju idasilẹ.”
    Jẹ ki awọn alakoso idagbasoke mọ pe iru awọn adanu yoo wa, jẹ ki iṣakoso ti awọn alakoso idagbasoke tun mọ. Nitori nigbati ohun gbogbo ba ṣubu, ẹnikan yoo tun pe ati beere lati ṣe atẹle “iṣẹ ja bo nigbagbogbo” (c)
  • Nipa ọna, pin awọn olupilẹṣẹ lati kọ awọn afikun fun Grafana - eyi yoo jẹ iranlọwọ ti o dara fun awọn admins.

Ohun elo Layer - Integration Abojuto

Abojuto Integration fojusi lori ibojuwo awọn ibaraẹnisọrọ laarin awọn ọna ṣiṣe pataki-owo.

Fun apẹẹrẹ, awọn iṣẹ 15 wa ti o ba ara wọn sọrọ. Iwọnyi kii ṣe awọn aaye ọtọtọ mọ. Awon. a ko le fa iṣẹ naa funrararẹ, gba / helloworld ki o loye pe iṣẹ naa nṣiṣẹ. Nitoripe iṣẹ wẹẹbu ti n paṣẹ gbọdọ fi alaye ranṣẹ nipa aṣẹ si ọkọ akero - lati inu ọkọ akero, iṣẹ ile itaja gbọdọ gba ifiranṣẹ yii ki o ṣiṣẹ pẹlu rẹ siwaju. Ati pe iṣẹ pinpin imeeli gbọdọ ṣe ilana yii bakan siwaju, ati bẹbẹ lọ.

Nitorinaa, a ko le loye, gbigbe ni iṣẹ kọọkan kọọkan, pe gbogbo rẹ ṣiṣẹ. Nitoripe a ni ọkọ akero kan nipasẹ eyiti ohun gbogbo n sọrọ ati ibaraenisepo.
Nitorinaa, ipele yii yẹ ki o samisi ipele ti awọn iṣẹ idanwo fun ibaraenisepo pẹlu awọn iṣẹ miiran. Ko ṣee ṣe lati ṣeto ibojuwo ibaraẹnisọrọ nipasẹ mimojuto alagbata ifiranṣẹ naa. Ti iṣẹ kan ba wa ti o fun data ati iṣẹ kan ti o gba, nigbati o ba n ṣe abojuto alagbata a yoo rii data nikan ti o fo lati ẹgbẹ si ẹgbẹ. Paapaa ti a ba ṣakoso bakan lati ṣe atẹle ibaraenisepo data yii ni inu - pe olupilẹṣẹ kan firanṣẹ data naa, ẹnikan ka rẹ, ṣiṣan yii tẹsiwaju lati lọ si Kafka - eyi kii yoo fun wa ni alaye ti iṣẹ kan ba fi ifiranṣẹ ranṣẹ ni ẹya kan. , ṣugbọn iṣẹ miiran ko nireti ẹya yii o si fo. A kii yoo mọ nipa eyi, nitori awọn iṣẹ yoo sọ fun wa pe ohun gbogbo n ṣiṣẹ.

Ohun ti Mo ṣeduro ṣe:

  • Fun ibaraẹnisọrọ amuṣiṣẹpọ: aaye ipari n ṣe awọn ibeere si awọn iṣẹ ti o jọmọ. Awon. a gba aaye ipari yii, fa iwe afọwọkọ kan ninu iṣẹ naa, eyiti o lọ si gbogbo awọn aaye ati sọ pe “Mo le fa sibẹ, ki o fa sibẹ, Mo le fa nibẹ…”
  • Fun ibaraẹnisọrọ asynchronous: awọn ifiranṣẹ ti nwọle - aaye ipari ṣayẹwo ọkọ akero fun awọn ifiranṣẹ idanwo ati ṣafihan ipo sisẹ.
  • Fun ibaraẹnisọrọ asynchronous: awọn ifiranṣẹ ti njade - aaye ipari fi awọn ifiranṣẹ idanwo ranṣẹ si ọkọ akero.

Bi o ṣe n ṣẹlẹ nigbagbogbo: a ni iṣẹ ti o sọ data sinu ọkọ akero. A wa si iṣẹ yii a beere lọwọ rẹ lati sọ fun wa nipa ilera iṣọpọ rẹ. Ati pe ti iṣẹ naa ba nilo lati gbejade ifiranṣẹ kan si ibikan siwaju (WebApp), lẹhinna yoo gbejade ifiranṣẹ idanwo yii. Ati pe ti a ba ṣiṣẹ iṣẹ kan ni ẹgbẹ Processing, o kọkọ firanṣẹ ohun ti o le firanṣẹ ni ominira, ati pe ti awọn nkan ti o gbẹkẹle ba wa, lẹhinna o ka eto awọn ifiranṣẹ idanwo lati inu ọkọ akero, loye pe o le ṣe ilana wọn, jabo ati , ti o ba jẹ dandan, firanṣẹ wọn siwaju sii, ati nipa eyi o sọ - ohun gbogbo dara, Mo wa laaye.

Nigbagbogbo a gbọ ibeere naa “bawo ni a ṣe le ṣe idanwo eyi lori data ija?” Fun apẹẹrẹ, a n sọrọ nipa iṣẹ ibere kanna. Aṣẹ naa fi awọn ifiranṣẹ ranṣẹ si ile-itaja nibiti a ti kọ awọn ẹru naa: a ko le ṣe idanwo eyi lori data ija, nitori “awọn ẹru mi yoo kọ!” Solusan: Gbero gbogbo idanwo yii ni ibẹrẹ. O tun ni awọn idanwo ẹyọkan ti o ṣe ẹlẹgàn. Nitorinaa, ṣe ni ipele ti o jinlẹ nibiti o ni ikanni ibaraẹnisọrọ ti ko ṣe ipalara iṣẹ ti iṣowo naa.

Amayederun ipele

Abojuto awọn amayederun jẹ nkan ti o ti pẹ ni a ti gbero mimojuto ararẹ.

  • Abojuto amayederun le ati pe o yẹ ki o ṣe ifilọlẹ bi ilana lọtọ.
  • O yẹ ki o ko bẹrẹ pẹlu ibojuwo amayederun lori iṣẹ akanṣe kan, paapaa ti o ba fẹ gaan. Eyi jẹ irora fun gbogbo awọn devops. "Ni akọkọ Emi yoo ṣe atẹle iṣupọ, Emi yoo ṣe atẹle awọn amayederun" - i.e. Ni akọkọ, yoo ṣe atẹle ohun ti o wa ni isalẹ, ṣugbọn kii yoo lọ sinu ohun elo naa. Nitoripe ohun elo naa jẹ ohun ti ko ni oye fun awọn devops. O ti jo fun u, ati pe ko loye bi o ṣe n ṣiṣẹ. Ati pe o loye awọn amayederun ati bẹrẹ pẹlu rẹ. Ṣugbọn rara - o nilo nigbagbogbo lati ṣe atẹle ohun elo ni akọkọ.
  • Maṣe lọ sinu omi pẹlu nọmba awọn itaniji. Ṣiyesi idiju ti awọn eto ode oni, awọn itaniji n fò nigbagbogbo, ati pe o ni lati bakan gbe pẹlu opo awọn titaniji yii. Ati pe eniyan ti n pe, ti wo ọgọọgọrun ti awọn itaniji atẹle, yoo pinnu “Emi ko fẹ lati ronu nipa rẹ.” Awọn itaniji yẹ ki o sọ nipa awọn nkan pataki nikan.

Ohun elo ipele bi a owo kuro

Awọn ojuami pataki:

  • ELK. Eyi ni boṣewa ile-iṣẹ. Ti o ba jẹ fun idi kan ti o ko ba ṣajọpọ awọn akọọlẹ, bẹrẹ ṣiṣe bẹ lẹsẹkẹsẹ.
  • APM. Awọn APM ita bi ọna lati pa ibojuwo ohun elo ni kiakia (NewRelic, BlackFire, Datadog). O le fi nkan yii sori ẹrọ fun igba diẹ si o kere ju ni oye ohun ti n ṣẹlẹ pẹlu rẹ.
  • Itọpa. Ni awọn dosinni ti awọn iṣẹ microservices, o ni lati wa kakiri ohun gbogbo, nitori ibeere naa ko gbe laaye funrararẹ. O nira pupọ lati ṣafikun nigbamii, nitorinaa o dara lati ṣeto wiwa kakiri lẹsẹkẹsẹ ni idagbasoke - eyi ni iṣẹ ati iwulo ti awọn olupilẹṣẹ. Ti o ko ba ti ṣe imuse rẹ sibẹsibẹ, ṣe imuse rẹ! Wo Jaeger/Zipkin

Gbigbọn

  • Eto ti eto ifitonileti kan: ni awọn ipo ti ibojuwo ọpọlọpọ awọn nkan, eto iṣọkan yẹ ki o wa fun fifiranṣẹ awọn iwifunni. O le ni Grafana. Ni Oorun, gbogbo eniyan lo PagerDuty. Awọn titaniji yẹ ki o han gbangba (fun apẹẹrẹ ibi ti wọn ti wa…). Ati pe o ni imọran lati ṣakoso pe awọn iwifunni ti gba ni gbogbo
  • Eto ti eto iṣẹ: awọn titaniji ko yẹ ki o firanṣẹ si gbogbo eniyan (boya gbogbo eniyan yoo fesi ni awujọ, tabi ko si ẹnikan ti yoo fesi). Awọn olupilẹṣẹ tun nilo lati wa ni ipe: rii daju lati ṣalaye awọn agbegbe ti ojuse, ṣe awọn ilana ti o han gbangba ki o kọ sinu rẹ tani gangan lati pe ni Ọjọ Aarọ ati Ọjọbọ, ati tani lati pe ni ọjọ Tuesday ati Ọjọ Jimọ (bibẹẹkọ wọn kii yoo pe ẹnikẹni paapaa ninu iṣẹlẹ ti iṣoro nla - wọn yoo bẹru lati ji ọ tabi yọ lẹnu: awọn eniyan ni gbogbogbo ko nifẹ lati pe ati ji awọn eniyan miiran, paapaa ni alẹ). Ati ṣe alaye pe wiwa fun iranlọwọ kii ṣe afihan ailagbara (“Mo beere fun iranlọwọ, iyẹn tumọ si pe Mo jẹ oṣiṣẹ buburu”), ṣe iwuri fun awọn ibeere fun iranlọwọ.
  • Eto ti “ipilẹ imọ” ati ṣiṣan iṣẹ fun sisẹ iṣẹlẹ: fun iṣẹlẹ pataki kọọkan, o yẹ ki a gbero iku-iku kan, ati bi iwọn igba diẹ, awọn iṣe ti yoo yanju iṣẹlẹ naa yẹ ki o gbasilẹ. Ki o si ṣe awọn ti o kan asa ti leralera titaniji ni a ẹṣẹ; wọn nilo lati wa titi ni koodu tabi iṣẹ amayederun.

Technology akopọ

Jẹ ki a fojuinu pe akopọ wa bi atẹle:

  • gbigba data - Prometheus + Grafana;
  • iṣiro log - ELK;
  • fun APM tabi Itọpa - Jaeger (Zipkin).

Njẹ ibojuwo ti ku? - Long ifiwe monitoring

Yiyan awọn aṣayan kii ṣe pataki. Nitori ti o ba ni ibẹrẹ o loye bi o ṣe le ṣe atẹle eto naa ati kọ eto kan, lẹhinna o bẹrẹ lati yan awọn irinṣẹ lati baamu awọn ibeere rẹ. Ibeere naa ni kini o yan lati ṣe atẹle ni aye akọkọ. Nitori boya ọpa ti o yan ni ibẹrẹ ko baamu awọn ibeere rẹ rara.

Awọn aaye imọ-ẹrọ diẹ ti Mo rii nibi gbogbo laipẹ:

Prometheus ti wa ni titari si inu Kubernetes - tani wa pẹlu eyi ?! Ti iṣupọ rẹ ba ṣubu, kini iwọ yoo ṣe? Ti o ba ni iṣupọ eka inu, lẹhinna iru eto ibojuwo yẹ ki o wa ninu iṣupọ, ati diẹ ninu ita, eyiti yoo gba data lati inu iṣupọ naa.

Inu iṣupọ a gba awọn akọọlẹ ati ohun gbogbo miiran. Ṣugbọn eto ibojuwo gbọdọ wa ni ita. Nigbagbogbo, ninu iṣupọ nibiti Promtheus ti fi sori ẹrọ inu, awọn eto tun wa ti o ṣe awọn sọwedowo ita ti iṣẹ ti aaye naa. Kini ti awọn asopọ rẹ si agbaye ita ti lọ silẹ ati pe ohun elo naa ko ṣiṣẹ? O wa ni pe ohun gbogbo dara ni inu, ṣugbọn ko jẹ ki awọn nkan rọrun fun awọn olumulo.

awari

  • Idagbasoke ibojuwo kii ṣe fifi sori ẹrọ awọn ohun elo, ṣugbọn idagbasoke ọja sọfitiwia kan. 98% ti ibojuwo oni jẹ ifaminsi. Ifaminsi ni awọn iṣẹ, ifaminsi awọn sọwedowo ita, ṣayẹwo awọn iṣẹ ita, ati pe gbogbo rẹ ni.
  • Maṣe padanu akoko awọn olupilẹṣẹ rẹ lori ibojuwo: o le gba to 30% ti iṣẹ wọn, ṣugbọn o tọsi.
  • Devops, maṣe yọ ara rẹ lẹnu pe o ko le ṣe atẹle nkan kan, nitori diẹ ninu awọn nkan jẹ ọna ironu ti o yatọ patapata. Iwọ kii ṣe pirogirama, ati pe iṣẹ ibojuwo jẹ iṣẹ wọn gangan.
  • Ti iṣẹ akanṣe naa ba ti ṣiṣẹ tẹlẹ ati pe ko ṣe abojuto (ati pe o jẹ oluṣakoso), pin awọn orisun fun ibojuwo.
  • Ti ọja ba ti wa tẹlẹ ni iṣelọpọ, ati pe o jẹ olutayo kan ti a sọ fun lati “ṣeto ibojuwo” - gbiyanju lati ṣalaye si iṣakoso ohun ti Mo kọ gbogbo eyi nipa.

Eyi jẹ ẹya ti o gbooro sii ti ijabọ ni apejọ Saint Highload ++.

Ti o ba nifẹ si awọn imọran mi ati awọn ero lori rẹ ati awọn akọle ti o jọmọ, lẹhinna o le nibi ka ikanni 🙂

orisun: www.habr.com

Fi ọrọìwòye kun