Èske siveyans mouri? — Viv siveyans

Èske siveyans mouri? — Viv siveyans

Depi 2008, konpayi nou an te angaje prensipalman nan jesyon enfrastrikti ak sipò teknik round-the-clock pou pwojè entènèt: nou gen plis pase 400 kliyan, ki se apeprè 15% Ris e-commerce. An konsekans, yon achitekti trè divès sipòte. Si yon bagay tonbe, nou oblije ranje li nan 15 minit. Men, pou w konprann ke yon aksidan te fèt, ou bezwen kontwole pwojè a epi reponn a ensidan yo. Ki jan fè sa?

Mon krwar i annan en problenm pou organiz en bon sistenm monitoring. Si pa t 'gen pwoblèm, Lè sa a, diskou mwen an ta konpoze de yon tèz: "Tanpri enstale Prometheus + Grafana ak grefon 1, 2, 3." Malerezman, li pa travay konsa ankò. Ak pwoblèm prensipal la se ke tout moun kontinye kwè nan yon bagay ki te egziste an 2008, an tèm de eleman lojisyèl.

Konsènan òganizasyon sistèm siveyans la, mwen ta riske di ke... pwojè ki gen siveyans konpetan pa egziste. Ak sitiyasyon an tèlman mal ke si yon bagay tonbe, gen yon risk ke li pral pase inapèsi - apre yo tout, tout moun sèten ke "tout se kontwole."
Petèt tout bagay ap kontwole. Men kouman?

Nou tout te rankontre yon istwa tankou sa ki annapre yo: yon sèten devops, yon sèten admin ap travay, yon ekip devlopman vin jwenn yo epi li di - "nou lage, kounye a kontwole." Siveye kisa? Ki jan li fonksyone?

OK. Nou kontwole fason ansyen alamòd la. Epi li deja chanje, epi li sanble ke ou kontwole sèvis A, ki te vin sèvis B, ki reyaji ak sèvis C. Men, ekip devlopman an di ou: "Enstale lojisyèl an, li ta dwe kontwole tout bagay!"

Se konsa, sa ki te chanje? - Tout bagay chanje!

2008 Tout bagay anfòm

Gen yon koup nan devlopè, yon sèl sèvè, yon sèl sèvè baz done. Li tout ale soti isit la. Nou gen kèk enfòmasyon, nou enstale zabbix, Nagios, cacti. Apre sa, nou mete alèt klè sou CPU a, sou operasyon ki gen kapasite, ak sou espas ki gen kapasite. Nou menm tou nou fè yon koup nan chèk manyèl pou asire ke sit la reponn e ke lòd yo ap rive nan baz done a. Epi se li - nou plis oswa mwens pwoteje.

Si nou konpare kantite travay ke administratè a te fè lè sa a pou bay siveyans, Lè sa a, 98% nan li te otomatik: moun ki fè siveyans la dwe konprann ki jan yo enstale Zabbix, ki jan yo configured li ak konfigirasyon alèt. Ak 2% - pou chèk ekstèn: ke sit la reponn ak fè yon demann nan baz done a, ke nouvo lòd yo te rive.

Èske siveyans mouri? — Viv siveyans

2010 Chaj la ap grandi

Nou ap kòmanse echèl entènèt la, ajoute yon motè rechèch. Nou vle asire w ke katalòg pwodwi a gen tout pwodwi yo. Epi rechèch pwodwi sa a ap travay. Ke baz done a ap travay, ke lòd yo te fè, ke sit la reponn deyò epi li reponn soti nan de serveurs ak itilizatè a pa mete deyò nan sit la pandan y ap re-balanse nan yon lòt sèvè, elatriye. Gen plis antite.

Anplis, antite ki asosye ak enfrastrikti toujou rete pi gwo nan tèt manadjè a. Gen yon lide toujou nan tèt mwen ke moun ki fè siveyans lan se moun ki pral enstale zabbix epi ki ka configure li.

Men, an menm tan an, travay parèt sou fè chèk ekstèn, sou kreye yon seri scripts rechèch indexer rechèch, yon seri scripts pou tcheke rechèch la chanje pandan pwosesis Indexing la, yon seri scripts ki tcheke ke machandiz yo transfere nan la. sèvis livrezon, elatriye. ak sou sa.

Èske siveyans mouri? — Viv siveyans

Remak: Mwen te ekri "yon seri scripts" 3 fwa. Sa vle di, moun ki responsab siveyans la se pa moun ki tou senpleman enstale zabbix ankò. Sa a se yon moun ki kòmanse kodaj. Men, pa gen anyen ki chanje nan lide ekip la ankò.

Men, mond lan ap chanje, vin pi plis ak plis konplèks. Yon kouch Virtualization ak plizyè nouvo sistèm yo ajoute. Yo kòmanse kominike youn ak lòt. Ki moun ki di "sant tankou mikwosèvis?" Men, chak sèvis toujou sanble ak yon sit entènèt endividyèlman. Nou ka ale nan li epi konprann ke li bay enfòmasyon ki nesesè yo epi li travay poukont li. Men, si ou se yon administratè toujou ap patisipe nan yon pwojè ki ap devlope depi 5-7-10 ane, konesans sa a akimile: yon nouvo nivo parèt - ou reyalize li, yon lòt nivo parèt - ou reyalize li...

Èske siveyans mouri? — Viv siveyans

Men, raman nenpòt moun akonpaye yon pwojè pou 10 ane.

Monitoringman rezime

Sipoze ou te vin nan yon nouvo demaraj ki imedyatman anboche 20 devlopè, te ekri 15 mikwosèvis, epi ou se yon admin ki te di: "Build CI/CD. Tanpri." Ou te bati CI/CD epi toudenkou ou tande: "Li difisil pou nou travay ak pwodiksyon nan yon "kib", san yo pa konprann ki jan aplikasyon an pral travay nan li. Fè nou yon bwat sab nan menm "kib la".
Ou fè yon bwat sab nan kib sa a. Yo imedyatman di ou: "Nou vle yon baz done etap ki mete ajou chak jou soti nan pwodiksyon, pou nou konprann ke li travay sou baz done a, men an menm tan an pa gate baz done pwodiksyon an."

Ou ap viv nan tout bagay sa yo. Gen 2 semèn ki rete anvan liberasyon an, yo di ou: "Kounye a ann kontwole tout sa..." Sa vle di. kontwole enfrastrikti gwoup la, kontwole achitekti mikwosèvis la, kontwole travay ak sèvis ekstèn...

E kòlèg mwen yo retire konplo abityèl la nan tèt yo epi yo di: “Oke, tout bagay klè isit la! Enstale yon pwogram ki pral kontwole tout bagay sa yo." Wi, wi: Prometheus + Grafana + grefon.
Epi yo ajoute: "Ou gen de semèn, asire w ke tout bagay an sekirite."

I annan bann proze ki nou vwar, en dimoun i ganny allocate pou monitoring. Imajine ke nou vle anboche yon moun pou fè siveyans pou 2 semèn, epi nou ekri yon rezime pou li. Ki konpetans moun sa a ta dwe genyen, dapre tout sa nou te di jiskaprezan?

  • Li dwe konprann siveyans ak spesifik nan operasyon an nan enfrastrikti fè a.
  • Li dwe konprann spesifik yo nan siveyans Kubernetes (ak tout moun vle ale nan "kib la", paske ou ka abstrè nan tout bagay, kache, paske administratè a pral fè fas ak rès la) - tèt li, enfrastrikti li yo, ak konprann ki jan yo kontwole aplikasyon yo. anndan.
  • Li dwe konprann ke sèvis yo kominike youn ak lòt nan fason espesyal, epi konnen spesifik yo nan fason sèvis yo kominike youn ak lòt. Li se byen posib yo wè yon pwojè kote kèk sèvis kominike synchrone, paske pa gen okenn lòt fason. Pou egzanp, backend la ale atravè REST, atravè gRPC nan sèvis la katalòg, resevwa yon lis pwodwi epi retounen li tounen. Ou pa ka tann isit la. Ak ak lòt sèvis li travay asynchrone. Transfere lòd la nan sèvis livrezon an, voye yon lèt, elatriye.
    Ou te pwobableman deja naje nan tout sa a? Ak admin la, ki moun ki bezwen kontwole sa a, te vin menm plis konfonn.
  • Li dwe kapab planifye ak planifye kòrèkteman - kòm travay la vin pi plis ak plis.
  • Se poutèt sa, li dwe kreye yon estrateji soti nan sèvis la kreye yo nan lòd yo konprann ki jan yo espesyalman kontwole li. Li bezwen yon konpreyansyon sou achitekti pwojè a ak devlopman li + yon konpreyansyon sou teknoloji yo itilize nan devlopman.

Ann sonje yon ka absoliman nòmal: kèk sèvis yo nan PHP, kèk sèvis yo nan Go, kèk sèvis yo nan JS. Yo yon jan kanmenm travay youn ak lòt. Sa a se kote tèm "mikwosèvis la" soti: gen anpil sistèm endividyèl ke devlopè pa ka konprann pwojè a kòm yon antye. Yon pati nan ekip la ekri sèvis nan JS ki travay poukont yo epi yo pa konnen ki jan rès sistèm nan fonksyone. Lòt pati a ekri sèvis nan Python epi yo pa entèfere ak fason lòt sèvis travay; yo izole nan pwòp zòn pa yo. Twazyèm lan se ekri sèvis nan PHP oswa yon lòt bagay.
Tout 20 moun sa yo divize an 15 sèvis, e gen yon sèl admin ki dwe konprann tout bagay sa yo. Sispann! nou jis divize sistèm nan an 15 mikwosèvis paske 20 moun pa ka konprann tout sistèm nan.

Men, li bezwen kontwole yon jan kanmenm ...

Ki rezilta a? Kòm yon rezilta, gen yon sèl moun ki vini ak tout bagay ke tout ekip la nan devlopè pa ka konprann, epi an menm tan li dwe konnen tou epi yo dwe kapab fè sa nou endike pi wo a - enfrastrikti pyès ki nan konpitè, enfrastrikti Kubernetes, elatriye.

Kisa mwen ka di... Houston, nou gen pwoblèm.

Siveyans yon pwojè lojisyèl modèn se yon pwojè lojisyèl nan tèt li

Soti nan fo kwayans ke siveyans se lojisyèl, nou devlope yon kwayans nan mirak. Men, mirak, Ay, pa rive. Ou pa ka enstale zabbix epi atann tout bagay ap travay. Pa gen okenn pwen nan enstale Grafana ak espere ke tout bagay pral ok. Pifò nan tan an pral pase nan òganize chèk nan operasyon an nan sèvis yo ak entèraksyon yo youn ak lòt, tcheke ki jan sistèm ekstèn travay. An reyalite, 90% nan tan an pral pase pa sou ekri scripts, men sou devlope lojisyèl. Epi li ta dwe okipe pa yon ekip ki konprann travay la nan pwojè a.
Si nan sitiyasyon sa a yon moun jete nan siveyans, Lè sa a, dezas pral rive. Ki sa k ap pase tout kote.

Pou egzanp, gen plizyè sèvis ki kominike youn ak lòt atravè Kafka. Lòd la te rive, nou te voye yon mesaj sou lòd la bay Kafka. Gen yon sèvis ki koute enfòmasyon sou lòd la ak bato machandiz yo. Gen yon sèvis ki koute enfòmasyon sou lòd la epi voye yon lèt bay itilizatè a. Lè sa a, yon pakèt lòt sèvis parèt, epi nou kòmanse jwenn konfonn.

Men, si ou tou bay administratè a ak devlopè yo nan etap la lè gen yon ti tan ki rete anvan liberasyon an, moun nan ap bezwen konprann tout pwotokòl sa a. Moun sa yo. Yon pwojè nan echèl sa a pran yon kantite tan enpòtan, epi sa a ta dwe faktè nan devlopman sistèm nan.
Men, trè souvan, espesyalman nan demaraj, nou wè ki jan siveyans yo ranvwaye jiska pita. “Kounye a, nou pral fè yon Prèv Konsèp, nou pral lanse avèk li, kite l tonbe - nou pare pou nou fè sakrifis. Apre sa, nou pral kontwole tout bagay." Lè (oswa si) pwojè a kòmanse fè lajan, biznis la vle ajoute menm plis karakteristik - paske li te kòmanse travay, kidonk li bezwen yo dwe woule plis! Epi ou se nan pwen kote ou premye bezwen kontwole tout bagay anvan, ki pran pa 1% nan tan an, men pi plis. Ak nan chemen an, devlopè yo pral bezwen pou siveyans, epi li pi fasil kite yo travay sou nouvo karakteristik. Kòm yon rezilta, nouvo karakteristik yo ekri, tout bagay vin vise moute, epi ou nan yon enpas kontinuèl.

Se konsa, ki jan yo kontwole yon pwojè kòmanse depi nan konmansman an, ak sa yo dwe fè si ou jwenn yon pwojè ki bezwen kontwole, men ou pa konnen ki kote yo kòmanse?

Premyèman, ou bezwen planifye.

Lirik digresyon: trè souvan yo kòmanse ak siveyans enfrastrikti. Pou egzanp, nou gen Kubernetes. Ann kòmanse enstale Prometheus ak Grafana, enstale grefon pou kontwole "kib la". Se pa sèlman devlopè yo, men tou administratè yo gen pratik malere nan: "Nou pral enstale Plugin sa a, men Plugin la pwobableman konnen ki jan fè li." Moun renmen kòmanse ak senp ak dwat, olye ke ak aksyon enpòtan yo. Ak siveyans enfrastrikti fasil.

Premyèman, deside ki sa ak ki jan ou vle kontwole, ak Lè sa a, chwazi yon zouti, paske lòt moun pa ka panse pou ou. E yo ta dwe? Lòt moun te panse nan tèt yo, sou yon sistèm inivèsèl - oswa pa t 'panse ditou lè plugin sa a te ekri. Epi jis paske Plugin sa a gen 5 mil itilizatè pa vle di ke li se nan nenpòt ki itil. Petèt ou pral vin 5001st la tou senpleman paske te deja 5000 moun la anvan.

Si w kòmanse kontwole enfrastrikti a epi backend aplikasyon w lan sispann reponn, tout itilizatè yo pral pèdi koneksyon ak aplikasyon mobil lan. Yon erè ap parèt. Yo pral vin jwenn ou epi yo di "Aplikasyon an pa mache, kisa w ap fè la a?" - "Nou ap kontwole." — "Ki jan ou kontwole si ou pa wè ke aplikasyon an pa travay?!"

  1. Mwen kwè ke ou bezwen kòmanse kontwole egzakteman soti nan pwen antre itilizatè a. Si itilizatè a pa wè ke aplikasyon an ap travay, se li, li se yon echèk. Ak sistèm siveyans lan ta dwe avèti sou sa a an premye.
  2. Epi se sèlman lè sa nou ka kontwole enfrastrikti a. Oswa fè li an paralèl. Li pi fasil ak enfrastrikti - isit la nou ka finalman jis enstale zabbix.
  3. Epi, koulye a ou bezwen ale nan rasin aplikasyon an pou w konprann kote bagay yo pa travay.

Lide prensipal mwen se ke siveyans ta dwe ale nan paralèl ak pwosesis devlopman an. Si ou distrè ekip siveyans la pou lòt travay (kreye CI/CD, sandboxing, reòganizasyon enfrastrikti), siveyans ap kòmanse lag epi ou ka pa janm ratrape devlopman (oswa pi bonè oswa pita w ap oblije sispann li).

Tout pa nivo

Men ki jan mwen wè òganizasyon an nan yon sistèm siveyans.

1) Nivo aplikasyon:

  • siveyans aplikasyon lojik biznis;
  • kontwole mezi sante sèvis yo;
  • siveyans entegrasyon.

2) Nivo enfrastrikti:

  • siveyans nivo orchestrasyon;
  • siveyans lojisyèl sistèm;
  • siveyans nivo fè.

3) Ankò nivo aplikasyon an - men kòm yon pwodwi jeni:

  • kolekte ak kontwole mòso bwa aplikasyon yo;
  • APM;
  • trase.

4) Alèt:

  • òganizasyon yon sistèm avètisman;
  • òganizasyon yon sistèm devwa;
  • òganizasyon nan yon "baz konesans" ak workflow pou pwosesis ensidan.

Li enpòtan: nou rive nan alèt la pa apre, men touswit! Pa gen okenn nesesite pou lanse siveyans ak "yon jan kanmenm pita" konnen ki moun ki pral resevwa alèt. Apre yo tout, ki sa ki travay la nan siveyans: yo konprann ki kote nan sistèm nan yon bagay ap travay mal, epi kite moun yo dwa konnen sou li. Si ou kite sa a jouk nan fen, lè sa a bon moun yo pral konnen ke yon bagay ap mal pase sèlman lè yo rele "pa gen anyen ki ap travay pou nou."

Kouch Aplikasyon - Siveyans Lojik Biznis

Isit la nou ap pale sou tcheke lefèt ke aplikasyon an ap travay pou itilizatè a.

Nivo sa a ta dwe fè pandan faz devlopman an. Pou egzanp, nou gen yon Prometheus kondisyonèl: li ale nan sèvè a ki fè chèk yo, rale pwen final la, ak pwen final la ale ak tcheke API a.

Lè yo souvan mande pou kontwole paj kay la pou asire ke sit la ap travay, pwogramè yo bay yon manch ki ka rale chak fwa yo bezwen asire w ke API a ap travay. Ak pwogramè yo nan moman sa a toujou pran ak ekri /api/test/helloworld
Sèl fason pou asire ke tout bagay mache? - Non!

  • Kreye chèk sa yo se esansyèlman travay devlopè yo. Tès inite yo ta dwe ekri pa pwogramè yo ki ekri kòd la. Paske si ou koule li bay administratè a, "Mezi, isit la nan yon lis pwotokòl API pou tout 25 fonksyon, tanpri kontwole tout bagay!" - pa gen anyen ki pral travay deyò.
  • Si ou enprime "bonjou lemonn", pèsonn p'ap janm konnen ke API a ta dwe e li travay. Chak chanjman API dwe mennen nan yon chanjman nan chèk yo.
  • Si ou deja gen yon pwoblèm konsa, sispann karakteristik yo ak asiyen devlopè ki pral ekri chèk sa yo, oswa aksepte pèt yo, aksepte ke pa gen anyen yo tcheke epi yo pral echwe.

Konsèy teknik:

  • Asire ou ke ou òganize yon sèvè ekstèn pou òganize chèk - ou dwe asire w ke pwojè ou a aksesib a mond lan deyò.
  • Òganize chèk atravè tout pwotokòl API a, pa sèlman pwen final endividyèl yo.
  • Kreye yon pwen final prometheus ak rezilta tès yo.

Kouch aplikasyon - siveyans mezi sante

Koulye a, nou ap pale sou mezi sante ekstèn nan sèvis yo.

Nou deside ke nou kontwole tout "manch yo" nan aplikasyon an lè l sèvi avèk chèk ekstèn, ke nou rele nan yon sistèm siveyans ekstèn. Men, sa yo se "manch yo" ke itilizatè a "wè". Nou vle asire w ke sèvis nou yo tèt yo travay. Gen yon pi bon istwa isit la: K8s gen chèk sante, pou omwen "kib la" tèt li ka konvenki ke sèvis la ap travay. Men, mwatye nan chèk mwen te wè yo se menm enprime "bonjou mond lan". Moun sa yo. Se konsa, li rale yon fwa apre deplwaman, li reponn ke tout bagay anfòm - sa a tout. Ak sèvis la, si li bay pwòp API li, gen yon gwo kantite pwen antre pou sa a menm API, ki tou bezwen kontwole, paske nou vle konnen ke li fonksyone. E nou deja siveye li anndan an.

Ki jan yo aplike sa a kòrèkteman teknikman: chak sèvis ekspoze yon pwen final sou pèfòmans aktyèl li yo, ak nan graf Grafana yo (oswa nenpòt lòt aplikasyon) nou wè estati a nan tout sèvis yo.

  • Chak chanjman API dwe mennen nan yon chanjman nan chèk yo.
  • Kreye yon nouvo sèvis touswit ak mezi sante.
  • Yon administratè ka vin jwenn devlopè yo epi mande "ajoute m 'yon koup nan karakteristik pou mwen konprann tout bagay epi ajoute enfòmasyon sou sa a nan sistèm siveyans mwen an." Men, devlopè anjeneral reponn, "Nou pa pral ajoute anyen de semèn anvan liberasyon an."
    Fè manadjè devlopman yo konnen ke pral gen pèt sa yo, se pou jesyon administratè devlopman yo konnen tou. Paske lè tout bagay tonbe, yon moun ap toujou rele epi mande pou kontwole "sèvis ki toujou ap tonbe" (c)
  • By wout la, asiyen devlopè yo ekri grefon pou Grafana - sa a pral yon bon èd pou admin.

Kouch Aplikasyon - Siveyans Entegrasyon

Siveyans entegrasyon konsantre sou siveyans kominikasyon ant sistèm biznis kritik yo.

Pa egzanp, gen 15 sèvis ki kominike youn ak lòt. Sa yo pa sit separe ankò. Moun sa yo. nou pa ka rale sèvis la poukont li, jwenn /helloworld epi konprann ke sèvis la ap kouri. Paske sèvis entènèt kòmande a dwe voye enfòmasyon sou lòd la nan otobis la - soti nan bis la, sèvis depo a dwe resevwa mesaj sa a epi travay avèk li pi lwen. Ak sèvis distribisyon imel la dwe trete sa yon jan kanmenm pi lwen, elatriye.

An konsekans, nou pa ka konprann, pike nan chak sèvis endividyèl, ke li tout travay. Paske nou gen yon otobis sèten nan ki tout bagay kominike ak entèraksyon.
Se poutèt sa, etap sa a ta dwe make etap nan sèvis tès pou entèraksyon ak lòt sèvis. Li enposib pou òganize siveyans kominikasyon pa kontwole koutye mesaj la. Si gen yon sèvis ki bay done ak yon sèvis ki resevwa li, lè w ap siveye koutye a nou pral sèlman wè done ki vole bò kote. Menm si nou yon jan kanmenm jere kontwole entèraksyon an nan done sa yo entèn - ke yon pwodiktè sèten poste done yo, yon moun li li yo, koule sa a kontinye ale nan Kafka - sa a toujou pa pral ban nou enfòmasyon si yon sèvis voye mesaj la nan yon vèsyon. , men lòt sèvis la pa t 'atann vèsyon sa a ak sote li. Nou pa pral konnen sou sa a, depi sèvis yo pral di nou ke tout bagay ap travay.

Ki sa mwen rekòmande pou fè:

  • Pou kominikasyon synchrone: pwen final la fè demann nan sèvis ki gen rapò. Moun sa yo. nou pran pwen final sa a, rale yon script andedan sèvis la, ki ale nan tout pwen yo epi li di "Mwen ka rale la, epi rale la, mwen ka rale la..."
  • Pou kominikasyon asynchrone: mesaj fèk ap rantre - pwen final la tcheke bis la pou mesaj tès yo epi montre estati pwosesis la.
  • Pou kominikasyon asynchrone: mesaj sortan - pwen final la voye mesaj tès nan bis la.

Kòm dabitid rive: nou gen yon sèvis ki voye done nan bis la. Nou vin nan sèvis sa a epi mande w pou w pale de sante entegrasyon li. Men, si sèvis la bezwen pwodwi yon mesaj yon kote pi lwen (WebApp), Lè sa a, li pral pwodwi mesaj tès sa a. Men, si nou kouri yon sèvis sou bò OrderProcessing, li premye poste sa li ka poste endepandan, epi si gen kèk bagay depandan, Lè sa a, li li yon seri mesaj tès ki soti nan bis la, konprann ke li ka trete yo, rapòte li ak , si sa nesesè, poste yo pi lwen, ak sou sa a li di - tout bagay se ok, mwen vivan.

Trè souvan nou tande kesyon an "ki jan nou ka teste sa a sou done konba?" Pou egzanp, nou ap pale de sèvis la kòmande menm. Lòd la voye mesaj nan depo kote machandiz yo retire: nou pa ka teste sa a sou done konba, paske "machandiz mwen yo pral retire!" Solisyon: Planifye tout tès sa a nan kòmansman an. Ou gen tou tès inite ki fè mok. Se konsa, fè li nan yon nivo pi fon kote ou gen yon kanal kominikasyon ki pa fè mal operasyon an nan biznis la.

Nivo enfrastrikti

Siveyans enfrastrikti se yon bagay ki depi lontan te konsidere kòm siveyans tèt li.

  • Siveyans enfrastrikti kapab e yo ta dwe lanse kòm yon pwosesis separe.
  • Ou pa ta dwe kòmanse ak siveyans enfrastrikti sou yon pwojè kouri, menm si ou reyèlman vle. Sa a se yon doulè pou tout devops. "Premyèman mwen pral kontwole gwoup la, mwen pral kontwole enfrastrikti a" - i.e. Premyèman, li pral kontwole sa ki anba a, men li pa pral antre nan aplikasyon an. Paske aplikasyon an se yon bagay enkonpreyansib pou devops. Li te koule ba li, epi li pa konprann ki jan li fonksyone. Men, li konprann enfrastrikti a epi li kòmanse ak li. Men, non - ou toujou bezwen kontwole aplikasyon an an premye.
  • Pa ale pi lwen ak kantite alèt yo. Lè ou konsidere konpleksite sistèm modèn yo, alèt yo toujou ap vole, epi ou dwe yon jan kanmenm viv ak sa a pakèt alèt. Epi moun ki sou apèl la, li te gade yon santèn nan pwochen alèt yo, pral deside "Mwen pa vle reflechi sou li." Alèt yo ta dwe sèlman notifye sou bagay kritik.

Nivo aplikasyon kòm yon inite biznis

Pwen kle:

  • ELK. Sa a se estanda endistri a. Si pou kèk rezon ou pa rasanble mòso bwa, kòmanse fè sa imedyatman.
  • APM. APM ekstèn kòm yon fason byen vit fèmen siveyans aplikasyon (NewRelic, BlackFire, Datadog). Ou ka enstale bagay sa a tanporèman pou omwen yon jan kanmenm konprann sa k ap pase avèk ou.
  • Trase. Nan plizyè douzèn mikwosèvis, ou dwe trase tout bagay, paske demann lan pa viv poukont li ankò. Li trè difisil pou ajoute pita, kidonk li se pi bon imedyatman pwograme trase nan devlopman - sa a se travay la ak sèvis piblik nan devlopè yo. Si ou poko aplike li, aplike li! Gade Jaeger/Zipkin

Alèt

  • Òganizasyon yon sistèm notifikasyon: nan kondisyon pou kontwole yon pakèt bagay, ta dwe gen yon sistèm inifye pou voye notifikasyon. Ou kapab nan Grafana. Nan Lwès la, tout moun sèvi ak PagerDuty. Alèt yo ta dwe klè (egzanp kote yo soti...). Epi li se konseye pou kontwole notifikasyon yo resevwa tout
  • Òganizasyon yon sistèm devwa: alèt pa ta dwe voye bay tout moun (swa tout moun pral reyaji nan yon foul moun, oswa pèsonn pa pral reyaji). Devlopè yo bezwen tou pou yo asiste: asire w ke w defini zòn responsablite yo, fè enstriksyon klè epi ekri ladan l ki moun ki pou rele egzakteman lendi ak mèkredi, ak ki moun ki dwe rele madi ak vandredi (otreman yo pa pral rele nenpòt moun menm nan evènman nan yon gwo pwoblèm - yo pral pè reveye ou oswa deranje: moun jeneralman pa renmen rele ak reveye lòt moun, espesyalman nan mitan lannwit). Epi eksplike ke mande èd se pa yon endikatè enkonpetans ("Mwen mande èd, sa vle di mwen se yon move travayè"), ankouraje demann èd.
  • Òganizasyon yon "baz konesans" ak workflow pou pwosesis ensidan an: pou chak ensidan grav, yo ta dwe planifye yon post-mortem, epi kòm yon mezi tanporè, aksyon ki pral rezoud ensidan an ta dwe anrejistre. Epi fè li yon pratik ke alèt repete se yon peche; yo bezwen fikse nan travay kòd oswa enfrastrikti.

Pile teknoloji

Ann imajine ke pil nou an se jan sa a:

  • koleksyon done - Prometheus + Grafana;
  • log analiz - ELK;
  • pou APM oswa Tracing - Jaeger (Zipkin).

Èske siveyans mouri? — Viv siveyans

Chwa a nan opsyon se pa kritik. Paske si nan kòmansman an ou te konprann ki jan yo kontwole sistèm nan epi ekri yon plan, Lè sa a, ou kòmanse chwazi zouti ki adapte kondisyon ou yo. Kesyon an se sa ou te chwazi pou kontwole an plas an premye. Paske petèt zouti ou te chwazi nan kòmansman an pa satisfè kondisyon ou yo ditou.

Kèk pwen teknik ke mwen wè toupatou dènyèman:

Prometheus ap pouse andedan Kubernetes - ki moun ki te vini ak sa a?! Si gwoup ou a tonbe, kisa w ap fè? Si ou gen yon gwoup konplèks andedan, Lè sa a, ta dwe gen kèk kalite sistèm siveyans andedan gwoup la, ak kèk deyò, ki pral kolekte done ki soti nan andedan gwoup la.

Anndan gwoup la nou kolekte mòso bwa ak tout lòt bagay. Men, sistèm siveyans la dwe deyò. Trè souvan, nan yon gwoup kote gen Promtheus enstale andedan, gen tou sistèm ki fè chèk ekstèn nan operasyon sit la. E si koneksyon ou ak mond deyò a te tonbe epi aplikasyon an pa mache? Li sanble ke tout bagay anfòm andedan, men li pa fè bagay sa yo pi fasil pou itilizatè yo.

Jwenn

  • Siveyans devlopman se pa enstalasyon sèvis piblik yo, men devlopman yon pwodwi lojisyèl. 98% nan siveyans jodi a se kodaj. Kodaj nan sèvis yo, kodaj chèk ekstèn, tcheke sèvis ekstèn, ak sa a tout.
  • Pa gaspiye tan devlopè w yo sou siveyans: sa ka pran jiska 30% nan travay yo, men li vo li.
  • Devops, pa enkyete ke ou pa ka kontwole yon bagay, paske kèk bagay se yon fason konplètman diferan nan panse. Ou pa t 'yon pwogramè, ak travay siveyans se egzakteman travay yo.
  • Si pwojè a deja kouri epi li pa kontwole (epi ou se yon manadjè), asiyen resous pou siveyans.
  • Si pwodwi a deja nan pwodiksyon, epi ou se yon devops ki te di yo "mete siveyans" - eseye eksplike jesyon sa mwen te ekri tout bagay sa yo sou.

Sa a se yon vèsyon pwolonje nan rapò a nan konferans Saint Highload++.

Si ou enterese nan lide mwen ak panse sou li ak sijè ki gen rapò, Lè sa a, isit la ou kapab li chanèl la 🙂

Sous: www.habr.com

Add nouvo kòmantè