Headset kĂ”igile! SĂ”brad, tĂ€na jĂ€tkame koolituskursusele pĂŒhendatud postituste seeriat , sest uue grupi tunnid algavad juba jĂ€rgmise nĂ€dala lĂ”pus. Nii et alustame!

JĂ€lgimine on lihtsalt. See on tuntud fakt. KĂ€ivitage Nagios, seadistage NRPE kaugsĂŒsteemis, seadistage Nagios NRPE TCP pordile 5666 ja te ei ole enam jĂ€lgimata.
See on nii lihtne, et pole isegi huvitav. NĂŒĂŒd on teil pĂ”hilised mÔÔdikud protsessori ajast, kettaalaste, mĂ€lust, mis tulevad vaikimisi Nagiosesse ja NRPEsse. Kuid tegelikult ei ole see âjĂ€lgimineâ sellisel kujul. See on vaid algus.
(Tavaliselt installitakse PNP4Nagios, RRDtool ja Thruk, seadistatakse teavitused Slackis ja minnakse otse nagiosexchange'i, kuid jÀtame selle praegu kÔrvale).
Hea jĂ€lgimine on tegelikult ĂŒsna keeruline, peate tĂ”esti teadma rakenduse sisemust, mille ĂŒle te jĂ€lgite.
Kas jÀlgimine on keeruline?
Iga server, olgu see Linux vĂ”i Windows, teenib definitsioonilt mingit eesmĂ€rki. Apache, Samba, Tomcat, failiserver, LDAP â kĂ”ik need teenused on millegipĂ€rast ainulaadsed ĂŒhes vĂ”i mitmes aspektis. Igal teenusel on oma funktsioon ja omadused. On erinevaid viise mÔÔdikute, KPI-de (vĂ”tme efektiivsuse nĂ€itajate) hankimiseks, mis teile huvi pakuvad, kui server on koormuse all.

Pilt autor . Tundub, et
(tahaks, et mu armatuurlaud oleks vĂ€rvitud neoon-sinisele â unistavalt sigh⊠hmmmâŠ)
Igal teenusepakkujal, mis teenuseid pakub, peab olema mehanism mÔÔdikute kogumiseks. Apache'il on moodul mod-status, mis nĂ€itab serveri oleku lehte. Nginx'il on stub_status. Tomcat'il on JMX vĂ”i spetsiaalsed veebirakendused, mis nĂ€itavad vĂ”tme mÔÔdikuid. MySQL'is on kĂ€sk âshow global statusâ jne.
Aga miks arendajad ei integreeri selliseid mehhanisme rakendustesse, mida nad loovad?
Kas ainult arendajad teevad seda?
Teatud mÀÀral ĂŒkskĂ”iksus mÔÔdikute integreerimise osas ei piirdu ainult arendajatega. Olen töötanud ettevĂ”tetes, kus arendati rakendusi Tomcat'i kasutades ja ei antud vĂ€lja mingeid mÔÔdikuid, mingit teenuse tegevuse logi, vĂ€lja arvatud Tomcat'i ĂŒldised tĂ”rke logid. Teatud arendajad genereerivad kĂŒlluslikult logisid, mis ei tĂ€henda sĂŒsteemi administreerijale, kes peab neid kell 3:15 hommikul lugema, midagi.

Pilt autor . Tundub, et
SĂŒsteemi insenerid, kes vĂ”imaldavad sellistel toodetel turule tulla, peavad samuti kandma teatud vastutust olukorra eest. VĂ€hemalt mĂ”ned sĂŒsteemi insenerid ei leia aega ega tunne huvi tĂ€henduslike mÔÔdikute saamiseks logidest, ilma konteksti ja vĂ”imaluseta neid tĂ”lgendada rakenduse aktiivsuse valguses. MĂ”ned ei saa aru, millist kasu nad sellest saavad, vĂ€lja arvatud nĂ€itajad, mis nĂ€itavad, et "midagi on praegu (vĂ”i peagi) valesti".
MĂ”tlemise muutmine mÔÔdikute vajalikkuse osas peaks toimuma mitte ainult arendajate, vaid ka sĂŒsteemi inseneride seas.
Iga sĂŒsteemi inseneri jaoks, kellele on vajalik mitte ainult reageerida kriitilistele sĂŒndmustele, vaid ka tagada nende puudumine, on mÔÔdikute puudumine tavaliselt tĂ”kkeks.
Kuid sĂŒsteemi insenerid ei kaeva tavaliselt koodi, teenides oma ettevĂ”ttele raha. Neil on vaja juhtivaid arendajaid, kes mĂ”istavad sĂŒsteemi inseneride vastutuse tĂ€htsust probleemide avastamisel, probleemide teadlikkuse tĂ”stmisel ja sarnastel teemadel.
See devops asi
Devops mentaliteet kirjeldab arendajate (dev) ja opereerimise (ops) mĂ”tlemise sĂŒnergiat. Iga ettevĂ”te, kes vĂ€idab, et nad "teevad devopsi", peaks:
- ĂŒtlema seda, mida nad tĂ”enĂ€oliselt ei tee (viide filmi "Printsess-pruut" meemile - "Ma ei arva, et see tĂ€hendab seda, mida sa arvad, et see tĂ€hendab!")
- soodustama pideva tÀiustamise positsiooni.
Te ei saa toodet tÀiustada ja teada, et see on paranenud, kui te ei tea, kuidas see praegu töötab. Te ei saa teada, kuidas toode töötab, kui te ei mÔista, kuidas toimivad tema komponendid, teenused, millest ta sÔltub, tema peamised probleemid ja kitsaskohad.
Kui te ei jĂ€lgi potentsiaalselt kitsaskohti, ei saa te jĂ€rgida "Viie miks" tehnikat postmortemi kirjutamisel. Te ei saa koguda kĂ”ike ĂŒhele ekraanile, et nĂ€ha, kuidas toode töötab vĂ”i teada, kuidas see nĂ€eb vĂ€lja "normaalselt ja Ă”nnelikult".
Kallutamine vasakule, VASAKULE, MA KĂSIN, VAALEEEEEEâ
Minu jaoks on ĂŒks Devopsi vĂ”tmeprintsiipidest "Kallutamine vasakule" (shift left). Kallutamine vasakule selles kontekstis tĂ€hendab vĂ”imaluse nihkumist (mitte vastutust, vaid mitte ainult vĂ”imaluste) teha seda, millest tavaliselt hoolivad sĂŒsteemiinsenerid, nĂ€iteks luua jĂ”udluse mÔÔdikuid, kasutada logisid tĂ”husamalt jms, tarkvaraprogrammide kohaletoimetamise elutsĂŒkli (Software Delivery Life Cycle) alguses.

Pilt autor . Tundub, et
Tarkvaraarendajad peavad saama kasutada ja tundma ettevÔtte jÀlgimise tööriistu, et realiseerida jÀlgimist kÔikides selle vormides, mÔÔdikutena, logimisena, jÀlgimisliidestena ja, mis kÔige tÀhtsam, vaatama, kuidas nende toode tootmises töötab. Te ei saa sundida arendajaid panustama aega ja energiat jÀlgimisse, kui nad ei nÀe mÔÔdikuid ja ei saa mÔjutada, kuidas need vÀlja nÀevad, kuidas toote omanik tutvustab neid jÀrgmises infokogumisel CTO-le jms.
LĂŒhidalt öeldes
- Tooge hobune vette. NÀidake arendajatele, kui palju probleeme nad saavad enda jaoks vÀltida, aidake neil tuvastada Ôiged KPI-d ja mÔÔdikud oma rakenduste jaoks, et vÀhendada toote omanikult tulevat karjumist, millele reageerib tehniline direktor (CTO). Tooge need valgusesse, Ôrnalt ja rahulikult. Kui see ei Ônnestu, siis korruptseerige, Àhvardage ja veenke kas neid vÔi toote omaniku, et vÔimalikult kiiresti rakendada nende mÔÔdikute hankimist rakendustest, ja siis joonistage diagrammid. See on keeruline, kuna seda ei peeta prioriteetseks ning toote arengukaardil on palju ootel projekte, mis toovad tulu. SeetÔttu vajate majandusuuringut, et Ôigustada aega ja vahendeid, mis kulutatakse jÀlgimise rakendamiseks tootes.
- AitĂ€h sĂŒsteemiinseneritele korraliku une nimel. NĂ€idake neile, et "vĂ€ljalaskmis-checklisti" rakendamine igasuguste vĂ€ljaantavate toodete puhul on hea. Ja see, et kĂ”ik tootmises olevad rakendused on mÔÔdikute kattega, aitab saavutada Ă”iget und öösel, vĂ”imaldades arendajatel nĂ€ha, mis ja kus ei tööta. Siiski on Ă”ige viis Ă€rritada ja hĂ€irida iga arendajat, tooteomanikku ja tehnilist direktorit see, et takistada ja vastu seista. Selline kĂ€itumine mĂ”jutab iga toote vĂ€ljalaskekuupĂ€eva, kui oodata jĂ€lle viimase minutini, seega viige jĂ€lle vasakule ja kaasake need kĂŒsimused projekti plaani niipea kui vĂ”imalik. Kui vaja, siseneda tooteĂŒritustele. Kandke vale vuntse ja fetr vĂ”i midagi sarnast, see ei petta kunagi. Teatage oma probleemidest, nĂ€idake ilmseid eeliseid ja propageerige.
- Veenduge, et nii arendajad (dev) kui ka operatsioon (ops) mĂ”istavad toote mÔÔdikute ĂŒlemineku "punasesse tsooni" tĂ€hendust ja tagajĂ€rgi. Ărge jĂ€tke operatsiooni ainukeseks toote töövĂ”imekuse valvseks, veenduge, et arendajad osaleksid ka selles (#productsquads).
- Logid on suurepĂ€rane asi, kuid mÔÔdikud ka. Koondage need ja Ă€rge laske oma logidel muutuda prĂŒgi tohutuks, leegitsevaks kasutu palliks. Selgitage ja nĂ€idake arendajatele, miks keegi peale nende ei saa aru nende logidest, nĂ€idake neile, kuidas on nĂ€ha kasutu logisid kella 3:15 hommikul.

Pilt autor . Tundub, et
Selleks on kÔik. Uus materjal ilmub jÀrgmisel nÀdalal. Kui soovite kursuse kohta rohkem teada, ootame teid , mis toimub juba esmaspÀeval. Ja praegu ootame traditsiooniliselt teie kommentaare.
Allikas: habr.com
