Pirms diviem gadiem es jau izveidoju ierakstu
Kam tas varÄtu interesÄt
Tas var jÅ«s interesÄt, ja strÄdÄjat nelielÄ komandÄ vai vienatnÄ. Jums nav uzraudzÄ«bas, un jÅ«s neesat pÄrliecinÄts, vai jums tas tieÅ”Äm ir vajadzÄ«gs. Vai nu jÅ«s izmÄÄ£inÄjÄt kÄdu populÄru nopietnu uzraudzÄ«bu ālielajiem zÄniemā, bet tas jums kaut kÄ ānepacÄlÄsā, vai arÄ« tas darbojas gandrÄ«z noklusÄjuma konfigurÄcijÄ un daudz nemainÄ«ja jÅ«su dzÄ«vi. Un vÄl ā ja noteikti neplÄno atvÄlÄt veselu darbinieku (vai pat nodaļu) monitoringa paneļa uzraudzÄ«bai vismaz pÄris stundas dienÄ vai tÄ konfigurÄÅ”anai.
KÄpÄc okerr ir neparasts
TÄlÄk es parÄdÄ«Å”u interesantas okerras iezÄ«mes, kas to atŔķir no dažÄm citÄm uzraudzÄ«bas sistÄmÄm.
Okerr ir hibrīds monitorings
IekÅ”ÄjÄs uzraudzÄ«bas laikÄ uz uzraudzÄ«tajÄm iekÄrtÄm darbojas āaÄ£entsā, kas pÄrsÅ«ta datus uz uzraudzÄ«bas serveri (piemÄram, brÄ«va vieta diskÄ). Ja serveris ir ÄrÄjs, tas veic pÄrbaudes tÄ«klÄ (piemÄram, ping vai vietnes pieejamÄ«ba). Katrai pieejai ir savi ierobežojumi. Okers izmanto abas iespÄjas. PÄrbaudes serveros veic ļoti viegls (30 Kb) aÄ£ents vai jÅ«su paÅ”u skripti un lietojumprogrammas, un tÄ«kla pÄrbaudes tiek veiktas, izmantojot okerr sensorus dažÄdÄs valstÄ«s.
okerr ir ne tikai programmatūra, bet arī pakalpojums
Jebkuras uzraudzÄ«bas servera daļa ir liela un sarežģīta, to ir grÅ«ti instalÄt un konfigurÄt, un tai ir nepiecieÅ”ami resursi. Izmantojot okerr, jÅ«s varat instalÄt savu uzraudzÄ«bas serveri (tas ir bezmaksas un atvÄrtÄ koda), vai arÄ« varat vienkÄrÅ”i izmantot tikai klienta daļu un izmantot mÅ«su servera pakalpojumu. ArÄ« bezmaksas.
Ja monitorings ļauj kompensÄt un piesegt serveru un aplikÄciju uzticamÄ«bas trÅ«kumu, tad rodas filozofisks jautÄjums ā kas ir sargs? KÄ monitorings mums pastÄstÄ«s par problÄmu, ja tÄ pati kaut kÄdu iemeslu dÄļ atseviŔķi vai kopÄ ar citiem jÅ«su resursiem ānomiraā (piemÄram, nokrita kanÄls uz datu centru)? Lietojot ÄrÄjo servisu okerr - Ŕī problÄma ir atrisinÄta - JÅ«s saÅemsiet brÄ«dinÄjumu pat tad, ja viss datu centrs ar JÅ«su serveriem bÅ«s bez strÄvas vai tam uzbruks zombiji.
Protams, pastÄv risks, ka pats okerr serveris nebÅ«s pieejams, tÄ ir taisnÄ«ba (kÄ zinÄms, 90% uzticamÄ«bas vienmÄr tiek iegÅ«ti vienkÄrÅ”i un ābezmaksasā, 99% ar minimÄlu piepÅ«li, un katri nÄkamie deviÅi ir eksponenciÄli grÅ«tÄk). Bet, pirmkÄrt, iespÄja, ka tas notiks, ir mazÄka, un, otrkÄrt, problÄma var palikt nepamanÄ«ta tikai tad, ja tÄ sakrÄ«t ar problÄmÄm mÅ«su serveros. Ja mums ir 99.9% ticamÄ«ba, bet jums ir 99.9% (ne pÄrÄk lieli skaitļi), tad neatklÄtas kļūmes iespÄjamÄ«ba ir 0.1% no 0.1% = 0.0001%. Pievienot trÄ«s deviÅus savai uzticamÄ«bai gandrÄ«z bez piepÅ«les un bez izmaksÄm ir ļoti labi!
VÄl viena pÄrraudzÄ«bas kÄ pakalpojuma priekÅ”rocÄ«ba ir tÄ, ka mitinÄÅ”anas pakalpojumu sniedzÄjs vai tÄ«mekļa studija var instalÄt okerr serveri un nodroÅ”inÄt piekļuvi klientiem kÄ maksas vai bezmaksas papildu pakalpojumu. JÅ«su konkurentiem ir tikai mitinÄÅ”ana un vietnes, bet jums ir uzticams mitinÄÅ”ana ar uzraudzÄ«bu.
Okerr ir par rÄdÄ«tÄjiem
Indikators ir "spuldzÄ«te". Tam ir divi galvenie stÄvokļi - zaļŔ (OK) vai sarkans (ERR). ProjektÄ ir daudz grupÄtu (piemÄram, pÄc servera) indikatoru. Projekta galvenajÄ lapÄ jÅ«s uzreiz redzat, ka vai nu viss ir zaļŔ (un varat to aizvÄrt), vai arÄ« kaut kas deg sarkanÄ krÄsÄ un ir jÄlabo. PÄrejot starp Å”iem stÄvokļiem, tiek nosÅ«tÄ«ts brÄ«dinÄjums. Reizi dienÄ, kamÄr to iestatÄt, tiek nosÅ«tÄ«ts projekta kopsavilkums.
Katram okerr indikatoram ir iebÅ«vÄti nosacÄ«jumi, ar kuriem tas maina stÄvokli (Zabbix to sauc par trigeri). PiemÄram, vidÄjai slodzei nevajadzÄtu bÅ«t lielÄkai par 2 (protams, tas ir konfigurÄjams). Un katrai iekÅ”Äjai pÄrbaudei (vidÄja slodze, disks brÄ«vs, ...) ir sargsuns. Ja kÄda iemesla dÄļ mÄs nesaÅemam veiksmÄ«gu apstiprinÄjumu noteiktajÄ laikÄ, tiek reÄ£istrÄta kļūda un tiek nosÅ«tÄ«ts brÄ«dinÄjums.
MÅ«su parastais darba modelis ir pÄrbaudÄ«t e-pastus no rÄ«ta un apskatÄ«t kopsavilkumu starp citÄm vÄstulÄm (mÄs to plÄnojam darba sÄkumÄ). Ja tajÄ viss ir kÄrtÄ«bÄ, mÄs darÄm citas svarÄ«gas lietas (bet, lai bÅ«tu droÅ”i, varam Ätri apskatÄ«t okerra informÄcijas paneli un pÄrliecinÄties, ka Å”ajÄ brÄ«dÄ« viss ir zaļŔ). Ja pienÄk brÄ«dinÄjums, mÄs reaÄ£Äjam.
Protams, var vienkÄrÅ”i saglabÄt āinformatÄ«vosā rÄdÄ«tÄjus (lai redzÄtu tÄ«kla attÄlu no monitoringa), taÄu tiek darÄ«ts viss, lai vienkÄrÅ”i, Ärti un Ätri izveidotu indikatorus tieÅ”i automÄtiskai uzraudzÄ«bai un brÄ«dinÄjumu nosÅ«tÄ«Å”anai.
MÄrÄ·is, kuram tu iestati okerr, ir brÄ«dinÄjumos, lai minÅ«tÄ varÄtu izveidot indikatoru, tas varÄtu gadu āgulÄtā, tikai pieÅemt atjauninÄjumus un, kad pÄc gada kaut kas saplÄ«st, tas iedegas un sÅ«ta brÄ«dinÄjums. MinÅ«te, ko reiz pavadÄ«jÄt indikatora izveidei, atmaksÄjÄs; jÅ«s par problÄmu uzzinÄjÄt uzreiz, pirms neviens cits. IespÄjams, ka viÅi to salaboja, pirms kÄds to pamanÄ«ja. Kaut kas Ätri pacelts netiek uzskatÄ«ts par nokrituÅ”u!
DroŔība
BÅ«tu žÄl, ja jÅ«s iestatÄ«tu uzraudzÄ«bu, lai palielinÄtu uzticamÄ«bu, taÄu rezultÄtÄ jums tiek uzbrukts tÄ«klÄ, un dažÄdos uzraudzÄ«bas rÄ«kos ir diezgan daudz tÄ«kla ievainojamÄ«bu (
AÄ£ents (okerrmod no iepakojuma
Pilns uzraudzÄ«bas pÄrklÄjums
Tagad mÅ«su noteikums ir tÄds, ka par visÄm tehniskajÄm problÄmÄm mÄs uzzinÄm no okerr. Ja pÄkÅ”Åi noteikums tiek pÄrkÄpts (okerr nebrÄ«dinÄja par tÄ nenovÄrÅ”amo iestÄÅ”anos (ja tas ir iespÄjams) vai ka tas jau ir noticis) - mÄs pievienojam Äekus okerr.
ÄrÄjÄs pÄrbaudes
Diezgan tipisks komplekts:
- ping
- http statuss
- SSL sertifikÄta derÄ«guma un svaiguma pÄrbaude (brÄ«dinÄs, ja drÄ«z beigsies derÄ«guma termiÅÅ”)
- atveriet TCP portu un tajÄ esoÅ”o reklÄmkarogu
- http grep (lapa [nedrÄ«kst] saturÄt konkrÄtu tekstu)
- sha1 hash, lai uztvertu lapas izmaiÅas.
- DNS (DNS ierakstam ir jÄbÅ«t noteiktai vÄrtÄ«bai)
- WHOIS (brÄ«dinÄs, ja domÄns drÄ«z sabojÄsies)
- Antispam DNSBL (resursdatora pÄrbaude pret 50+ pretsurogÄtpasta melnajiem sarakstiem vienlaikus)
IekÅ”ÄjÄs pÄrbaudes
ArÄ« diezgan standarta komplekts (bet viegli paplaÅ”inÄms).
- df (brÄ«va vieta diskÄ)
- vidÄjÄ slodze
- opentcp (atvÄrt TCP klausÄ«Å”anÄs ligzdas ā paziÅos, ja kaut kas sÄkÄs vai avarÄja)
- uptime ā tikai darbspÄjas laiks serverÄ«. PaziÅos, ja tas ir mainÄ«jies (t.i., serveris ir pÄrslogots)
- klienta_ip
- dirsize ā mÄs to izmantojam, lai izsekotu, kad mÅ«su virtuÄlÄs maŔīnas rootfs pÄrsniedz atļauto lielumu, neievieÅ”ot stingrus ierobežojumus, un lietotÄju mÄjas direktoriju lielumu
- tukÅ”s un nonempty - pÄrrauga failus, kuriem jÄbÅ«t tukÅ”iem (vai netukÅ”iem). PiemÄram, paÅ”a okerr servera kļūdu žurnÄlam jÄbÅ«t tukÅ”am, un, ja tajÄ ir kaut kÄda rindiÅa, es saÅemÅ”u paziÅojumu un to pÄrbaudÄ«Å”u. Bet pasta serverÄ« mail.log NEDRÄŖKST bÅ«t tukÅ”s (N minÅ«tes pÄc rotÄcijas). Un dažreiz tas mums bija tukÅ”s pÄc sistÄmas atjauninÄÅ”anas, kad logrotate nevarÄja pareizi restartÄt rsyslog.
- rindu skaits ā rindiÅu skaits failÄ (piemÄram, wc -l). MÄs to izmantojam kÄ mÄ«kstÄku aizstÄjÄju tukÅ”Äm lapÄm, kad kļūdu žurnÄls joprojÄm var augt, bet tikai lÄni (piemÄram, Googlebot sasniedz dažas aizvÄrtas lapas). 2 minÅ«tÄs ir 20 rindiÅas. Ja tas ir augstÄks, bÅ«s brÄ«dinÄjums
Interesantas iekÅ”ÄjÄs pÄrbaudes
Ja lÄ«dz Å”im esi lasÄ«jis āpa diagonÄliā, tagad bÅ«s interesantÄk lasÄ«t uzmanÄ«gÄk.
dublÄjumkopijas
Uzrauga dublÄjumkopijas direktorijÄ. MÅ«su dublÄjuma failiem ir tÄdi nosaukumi kÄ āServerName-20200530.tar.gzā. Katram serverim okerr tiek izveidots indikators ServerName-DATE.tar.gz (faktiskais datums mainÄs uz rindu āDATEā). Tiek uzraudzÄ«ta arÄ« pati svaigas dublÄjuma klÄtbÅ«tne un tÄs lielums (piemÄram, tas nedrÄ«kst bÅ«t mazÄks par 90% no iepriekÅ”ÄjÄs dublÄjuma).
Kas jÄdara, lai pÄc tam, kad esam sÄkuÅ”i to izveidot un ievietot Å”ajÄ direktorijÄ, sÄktu izsekot jaunu dublÄjumu? Nekas! Å Ä« ir ļoti Ärta pieeja, ja jums nav jÄdara nekas, jo:
- NedarÄ«t neko ir diezgan Ätri, tas ietaupa laiku
- Ir grūti aizmirst nedarīt "neko"
- Ir grÅ«ti izdarÄ«t ānekoā nepareizi, ar kļūdu. Nekas nav visuzticamÄkÄ metode
Ja pÄkÅ”Åi pÄrstÄj parÄdÄ«ties jauni dublÄjuma faili, tiks parÄdÄ«ts brÄ«dinÄjums. Ja, piemÄram, esat atspÄjojis kÄdu no serveriem un vairs nevajadzÄtu izveidot dublÄjumu, indikators bÅ«s jÄizdzÄÅ” (izmantojot tÄ«mekļa saskarni vai no Äaulas, izmantojot API).
maxfilesz
Seko lÄ«dzi lielÄko failu lielumam (parasti: /var/log/*). Tas ļauj novÄrst neparedzamas problÄmas, piemÄram, brutÄlÄs spÄka paroles vai surogÄtpasta sÅ«tÄ«Å”anu caur serveri.
runstatus/runline
Å ie ir divi svarÄ«gi starpniekservera moduļi citu programmu darbinÄÅ”anai serverÄ«. Runstatus ziÅo indikatoram programmas izejas kodu. PiemÄram, okerr nav (nepieprasa) moduli, lai pÄrbaudÄ«tu, vai sistÄmas pakalpojumi darbojas. Tas tiek darÄ«ts, izmantojot Runstatus (skatiet tÄlÄk). Runline - ziÅo serverim par rindu, ko programma ražo. PiemÄram, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp"
mÅ«su servera Runline konfigurÄcijÄ izveido indikatoru servername:temp ar procesora temperatÅ«ru.
sql
Izpilda skaitlisku vaicÄjumu MySQL un ziÅo par rezultÄtu indikatoram. VienkÄrÅ”Ä gadÄ«jumÄ varat veikt, piemÄram, āSELECT 1ā - tas pÄrbaudÄ«s, vai DBVS kopumÄ darbojas.
TaÄu daudz interesantÄka aplikÄcija ir, piemÄram, pasÅ«tÄ«jumu skaita izsekoÅ”ana interneta veikalÄ. Ja zinÄt, ka jums ir 100 vai vairÄk pasÅ«tÄ«jumu stundÄ, varat iestatÄ«t minimÄlo limitu lÄ«dz 100 vai 80. Ja jÅ«su pÄrdoÅ”anas apjomi pÄkÅ”Åi samazinÄsies, jÅ«s saÅemsit brÄ«dinÄjumu un varÄsiet to izdomÄt.
Å emiet vÄrÄ, ka nav svarÄ«gi, kÄda neparedzama iemesla dÄļ tas notika:
- Serveris vienkÄrÅ”i nav pieejams (atslÄgts vai bez tÄ«kla), un brÄ«dinÄjums nÄca tÄpÄc, ka indikators bija āsapuvisā.
- Serveris ir ar kaut ko pÄrslogots, darbojas lÄni vai pazÅ«d paketes, lietotÄjiem tas ir neÄrti un viÅi aiziet, neveicot pirkumus
- Serveris ir iekļauts surogÄtpasta sarakstos un no tÄ netiek pieÅemts pasts, lietotÄji nevar reÄ£istrÄties
- ReklÄmas kampaÅas budžets ir beidzies, baneri negriežas.
Var bÅ«t dažÄdi iemesli, un tos visus nevar iepriekÅ” paredzÄt, un to ir tehniski grÅ«ti izsekot. Bet jÅ«s varat Ärti uzraudzÄ«t gala parametru (pasÅ«tÄ«jumus) un pÄc tiem noteikt, ka situÄcija ir aizdomÄ«ga un ir pelnÄ«jusi, lai ar to bÅ«tu jÄrÄ«kojas.
LoÄ£iskie rÄdÄ«tÄji
Ļauj izmantot Būla izteiksmes (Python sintakse), izmantojot moduli
Varat izveidot divus indikatorus, dienu un nakti. Padariet abus āklususā (tie nesÅ«tÄ«s brÄ«dinÄjumus). Un izveidot loÄ£isku indikatoru, kas prasa, lai dienas indikators bÅ«tu kÄrtÄ«bÄ pirms 20:00, un pÄc 20:00 pietiek, lai nakts rÄdÄ«tÄjs bÅ«tu kÄrtÄ«bÄ.
VÄl viens loÄ£iskÄ indikatora izmantoÅ”anas piemÄrs ir eskalÄcija. PiemÄram, projekta vadÄ«tÄjs atsakÄs no brÄ«dinÄjumiem (viÅam tas nav jÄdara, administratoriem jÄreaÄ£Ä uz normÄlÄm problÄmÄm), bet abonÄ loÄ£isko indikatoru, kas kļūst sarkans, ja projektÄ kÄds indikators netiek izlabots atvÄlÄtajÄ laikÄ.
TÄpat ir iespÄjams iestatÄ«t atļauto darba laiku, piemÄram, no pulksten 3 lÄ«dz 5. Mums ir vienalga, ja Å”ajÄ laikÄ avarÄ serveri un vietnes. Bet 5:00 viÅiem ir jÄstrÄdÄ. Ja tie nedarbojas jebkurÄ citÄ laikÄ - brÄ«dinÄjums. LoÄ£iskais indikators ļauj arÄ« Åemt vÄrÄ servera dublÄÅ”anu. Ja jums ir 5 tÄ«mekļa serveri, tad administratori var jebkurÄ laikÄ izslÄgt 1-2 serverus. Bet, ja kaujÄ ir mazÄk nekÄ 3 no 5 serveriem, bÅ«s brÄ«dinÄjums.
IepriekÅ” minÄtie piemÄri nav oker funkcijas, nevis daži lÄ«dzekļi, kas jÄaktivizÄ un jÄkonfigurÄ. Okerrai nav visu Å”o funkciju, bet ir loÄ£iskais modulis, kas ļauj ieviest Å”o funkcionalitÄti (apmÄram kÄ programmÄÅ”anas valodÄ - ja mums ir aritmÄtiskie operatori, tad mums nav nepiecieÅ”ama Ä«paÅ”a funkcija 20% PVN aprÄÄ·inÄÅ”anai no valodas, jÅ«s vienmÄr varat to izdarÄ«t pats, lai tas atbilstu savÄm vajadzÄ«bÄm).
Logic Indicator, iespÄjams, ir viena no nedaudzajÄm salÄ«dzinoÅ”i sarežģītajÄm tÄmÄm okerr, taÄu labÄ ziÅa ir tÄ, ka jums tas nav jÄapgÅ«st, kamÄr tas nav nepiecieÅ”ams. Bet tajÄ paÅ”Ä laikÄ tie ievÄrojami paplaÅ”ina iespÄjas, vienlaikus saglabÄjot paÅ”u sistÄmu diezgan vienkÄrÅ”u.
Savu Äeku pievienoÅ”ana
Es tieÅ”Äm vÄlÄtos nodot domu, ka okerr nav tÅ«kstoÅ”iem gatavu Äeku komplekts visiem gadÄ«jumiem, bet gan tieÅ”i pretÄji - pirmkÄrt - vienkÄrÅ”s dzinÄjs ar vienkÄrÅ”u iespÄju izveidot savus Äekus. Savu Äeku izveide programmÄ okerr nav hakeru, sistÄmu lÄ«dzizstrÄdÄtÄju vai vismaz pieredzÄjuÅ”u okerr lietotÄju uzdevums, bet gan izpildÄms uzdevums jebkuram administratoram, kurÅ” pirms mÄneÅ”a pirmo reizi instalÄja Linux.
MinimÄlÄs algas pÄrbaudes tiek veiktas, izmantojot moduli
Å Ä« rinda konfigurÄcijÄ
true_OK=/bin/true
Tikai viena rindiÅa - un te jau esam mazliet paplaÅ”inÄts funkcionalitÄte okerr.
Pat Å”Ädai pÄrbaudei jau ir sava vÄrtÄ«ba: ja pÄkÅ”Åi jÅ«su serveris avarÄ, atbilstoÅ”ais indikators okerr serverÄ« netiks savlaicÄ«gi atjauninÄts, un pÄc laika parÄdÄ«sies brÄ«dinÄjums.
Å Ä« pÄrbaude paziÅos, ka apache2 serveris ir avarÄjis (nu, jÅ«s nekad zinÄt...):
apache_OK="systemctl is-active --quiet apache2"
TÄtad, ja jÅ«s runÄjat jebkurÄ programmÄÅ”anas valodÄ un vismaz varat rakstÄ«t Äaulas skriptus, tad jau varat pievienot savus Äekus.
GrÅ«tÄk - jÅ«s varat uzrakstÄ«t (jebkurÄ valodÄ) savu okerrmod moduli. VienkÄrÅ”ÄkajÄ gadÄ«jumÄ tas izskatÄs Å”Ädi:
#!/usr/bin/python3
print("STATUS: OK")
Vai tas nav ļoti grÅ«ti? Modulim paÅ”am jÄveic pÄrbaude un jÄizvada rezultÄti uz STDOUT. SarežģītÄks modulis sniedz, piemÄram, Å”o:
$ okerrmod --dump df
NAME: pi:df-/
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 49.52%, 13.9G/28.2G used, 13.0G free
STATUS: 49.52
NAME: pi:df-/boot
TAGS: df
METHOD: numerical|maxlim=90
DETAILS: 84.32%, 53.1M/62.9M used, 9.9M free
STATUS: 84.32
Tas vienlaikus atjaunina vairÄkus indikatorus (atdala ar tukÅ”u rindiÅu), vajadzÄ«bas gadÄ«jumÄ tos izveido, norÄda verifikÄcijas informÄciju un tagu, pÄc kura informÄcijas panelÄ« ir viegli atrast nepiecieÅ”amos rÄdÄ«tÄjus.
Telegram
Ir Telegram robots
Statusa lapas
MÅ«sdienÄs statusa lapas ir gandrÄ«z obligÄtas jebkuram uzÅÄmumam, kuram ir IT, atbildÄ«ga attieksme pret uzticamÄ«bu un kas izturas ar cieÅu pret saviem klientiem/lietotÄjiem.
IedomÄjieties situÄciju ā lietotÄjs vÄlas kaut ko darÄ«t, apskatÄ«t informÄciju vai veikt pasÅ«tÄ«jumu, un kaut kas nedarbojas. ViÅÅ” nezina, kas notiek, kurÄ pusÄ ir problÄma un kad tÄ tiks atrisinÄta. VarbÅ«t jÅ«su uzÅÄmumam vienkÄrÅ”i ir nefunkcionÄjoÅ”a vietne? Vai arÄ« tas salÅ«za pirms seÅ”iem mÄneÅ”iem, un tas tiks salabots pÄc diviem gadiem? Bet tagad vajag nopirkt ledusskapi, tas jau ir ratos... Un pavisam cita lieta, kad cilvÄks redz, ka ar tevi kaut kas nav kÄrtÄ«bÄ (vismaz skaidrs, ka problÄma nav viÅa pusÄ), ka problÄma ir atklÄta, ka jÅ«s jau strÄdÄjat pie tÄs un varbÅ«t pat pierakstÄt aptuveno laboÅ”anas laiku. LietotÄjs var abonÄt un saÅemt e-pasta paziÅojumu, kad problÄma ir novÄrsta un viÅÅ” var darÄ«t to, ko vÄlas (nopirkt ledusskapi).
ProblÄmas un dÄ«kstÄves gadÄs ikvienam. TaÄu lietotÄji un partneri vairÄk uzticas tiem, kuri ir pÄrredzamÄki un atbildÄ«gÄki savÄ pieejÄ.
Ŕeit ir
KļūmjpÄrlÄce
Lai Å”is raksts nebÅ«tu vÄl garÄks, es vÄlreiz atsaukÅ”os uz savu iepriekÅ”Äjo rakstu -
Zemas sistÄmas prasÄ«bas
Okerr serveriem mÄs izmantojam maŔīnas ar RAM no 2Gb. TÄ«kla sensoriem pietiek pat ar 512Mb. Klienta daļa parasti ir gandrÄ«z nulle. (Plastmasas maisiÅÅ”
Å emot to vÄrÄ - okerr, iespÄjams visvairÄk bezmaksas monitoringa sistÄmu no pieejamajÄm, jo āāpat lai izmantotu kÄdu citu bezmaksas atvÄrtÄ pirmkoda sistÄmu kÄ Zabbix vai Nagios, tai ir jÄpieŔķir resursi (serveris), un tÄ jau ir nauda. TurklÄt joprojÄm ir nepiecieÅ”ama servera apkope. Ar okerr Å”o daļu var noÅemt. Vai arÄ« jums tas nav jÄnoÅem un jÄizmanto savs serveris atkarÄ«bÄ no tÄ, kas jums patÄ«k vislabÄk.
API un integrÄcija patentÄtÄ programmatÅ«rÄ
VienkÄrÅ”a un atvÄrta arhitektÅ«ra. okerr ir diezgan vienkÄrÅ”s
#!/bin/sh
for indicator in `okerrclient --api-filter sslcert`
do
echo set location for $indicator
okerrclient --api-set location=ru retest=1 --name $indicator
done
JÅ«s varat atjauninÄt indikatoru, izmantojot mÅ«su klienta moduli, pat bez tÄ, tikai izmantojot curl.
# short and nice (using okerrupdate and config file)
$ okerrupdate MyIndicator OK
# only curl is enough!
$ curl -d 'textid=MyProject&name=MyIndicator&secret=MySecret&status=OK' https://bravo.okerr.com/
JÅ«s varat atjauninÄt indikatorus tieÅ”i no savas programmas. PiemÄram, nosÅ«tot sirdsdarbÄ«bas signÄlus, lai okerr zinÄtu, ka tas darbojas, un izsauktu trauksmi, ja tas avarÄ vai sasalst. Starp citu, okerr komponenti tieÅ”i to arÄ« dara ā okerr uzrauga sevi, un gandrÄ«z jebkura moduļa problÄmas tiks atklÄtas un Ä£enerÄs brÄ«dinÄjumu par problÄmu. (Un Ŕī āgandrÄ«zā gadÄ«jumÄ tie tiek pÄrbaudÄ«ti no cita servera)
Å eit ir kods (vienkÄrÅ”ots) mÅ«su telegrammas robotÄ:
from okerrupdate import OkerrProject, OkerrExc
op = OkerrProject()
uptimei = op.indicator("{}:telebot_uptime".format(hostname))
...
uptimei.update('OK', 'pid: {} Uptime: {} cmds: {}'.format(
os.getpid(), dhms(uptime), commands_cnt))
Ir bibliotÄka indikatoru atjauninÄÅ”anai no Python programmÄm
KÄ okerr mums palÄ«dz
Okers mainÄ«ja mÅ«su dzÄ«vi. PatieÅ”Äm. IespÄjams, ka cita uzraudzÄ«bas sistÄma varÄtu darÄ«t to paÅ”u, taÄu darbs ar okerr mums ir viegls un vienkÄrÅ”s, un tam ir visas nepiecieÅ”amÄs funkcijas (mÄs pievienojÄm to, kas tai nebija). Starp citu, ja trÅ«kst kÄdas funkcijas, jautÄjiet un es tÄs pievienoÅ”u (es nesolu, bet es gribu, lai okerr bÅ«tu labÄkÄ uzraudzÄ«bas sistÄma maziem un vidÄjiem projektiem). Vai vÄl labÄk, pievienojiet to pats ā tas ir vienkÄrÅ”i.
Mums izdevÄs dzÄ«vot pÄc principa āuzzini par visÄm problÄmÄm no kerrasā. Ja pÄkÅ”Åi rodas problÄma, par kuru mÄs neuzzinÄjÄm no okerr, mÄs pievienojam Äeku okerr. (Å”ajÄ gadÄ«jumÄ ar āmÄsā es domÄju mÅ«s kÄ sistÄmas lietotÄjus, nevis lÄ«dzizstrÄdÄtÄjus). SÄkumÄ tas bija izplatÄ«ts, bet tagad tas ir kļuvis ļoti reti.
Uzraudzība
Izmantojot okerr, mÄs uzraugÄm žurnÄlu izmÄrus visos serveros. PÄrdomÄti ar acÄ«m izlasÄ«t katru baļķa rindiÅu, protams, nav iespÄjams, bet vienkÄrÅ”i augÅ”anas tempa uzraudzÄ«ba jau dod daudz. Pateicoties tam, mÄs atklÄjÄm surogÄtpasta sÅ«tÄ«Å”anu un brutÄlu paroļu meklÄÅ”anu, un, kad dažas lietojumprogrammas ākļūst trakasā, tÄm kaut kas neizdodas un tÄs atkÄrtojas atkal un atkal (katru reizi pievienojot žurnÄlam pÄris rindiÅas ).
SSL sertifikÄti. GandrÄ«z uzreiz pÄc palaiÅ”anas a2okerr.py
ā un, ja serverÄ« parÄdÄs vairÄkas jaunas vietnes, tÄs automÄtiski parÄdÄ«sies okerr. Ja pÄkÅ”Åi kÄda iemesla dÄļ sertifikÄts netiek atjaunots, trÄ«s nedÄļas pirms sertifikÄta derÄ«guma termiÅa beigÄm mÄs esam zinÄmi, un mÄs izdomÄsim, kÄpÄc tas nav atjauninÄts, tÄds suns. a2certbot.py
no tÄs paÅ”as pakotnes - tas ļoti palÄ«dz ar to (tas uzreiz pÄrbauda iespÄjamÄs problÄmas - un uzraksta labi pÄrbaudÄ«to, un kur, visticamÄk, ir problÄma).
MÄs uzraugÄm visu mÅ«su domÄnu derÄ«guma termiÅu. Un visi mÅ«su pasta serveri, kas sÅ«ta pastu, tiek pÄrbaudÄ«ti arÄ« vairÄk nekÄ 50 dažÄdos melnajos sarakstos. (Un dažreiz viÅi tajÄs iekrÄ«t). Starp citu, vai zinÄjÄt, ka arÄ« Google pasta serveri ir iekļauti melnajÄ sarakstÄ? PaÅ”pÄrbaudei mÄs pievienojÄm mail-wr1-f54.google.com uzraudzÄ«tajiem serveriem, un tas joprojÄm ir SORBS melnajÄ sarakstÄ! (Å eit ir runa par āpretsurogÄtpasta izplatÄ«tÄjuā vÄrtÄ«bu)
DublÄjumkopijas - es jau rakstÄ«ju iepriekÅ”, cik viegli ir tos uzraudzÄ«t ar okerr. TaÄu mÄs uzraugÄm gan jaunÄkÄs dublÄjumkopijas savÄ serverÄ«, gan (izmantojot atseviŔķu utilÄ«tu, kas izmanto okerr) dublÄjumkopijas, kuras augÅ”upielÄdÄjam vietnÄ Amazon Glacier. Un, jÄ, problÄmas ik pa laikam gadÄs. Nav brÄ«nums, ka viÅi skatÄ«jÄs.
MÄs izmantojam eskalÄcijas indikatoru. Tas parÄda, vai kÄda problÄma nav novÄrsta ilgu laiku. Un es pats, risinot kÄdas problÄmas, dažkÄrt varu par tÄm aizmirst. EskalÄcija ir labs atgÄdinÄjums, pat ja uzraugÄt sevi.
KopumÄ uzskatu, ka mÅ«su darba kvalitÄte ir palielinÄjusies par lielumu. GandrÄ«z nav dÄ«kstÄves (vai arÄ« klientam nav laika to pamanÄ«t. Tikai tsh!), savukÄrt darba apjoms ir kļuvis mazÄks un darba apstÄkļi kļuvuÅ”i mierÄ«gÄki. No avÄrijas darbiem ar bedrÄ«Å”u aizlÄpÄ«Å”anu ar lenti esam pÄrgÄjuÅ”i uz mierÄ«gu un izmÄrÄ«tu darbu, kad jau iepriekÅ” tiek prognozÄtas daudzas problÄmas un ir laiks tÄs novÄrst. ArÄ« raduÅ”Äs problÄmas ir kļuvuÅ”as vieglÄk labojamas: pirmkÄrt, par tÄm uzzinÄm, pirms klienti krÄ«t panikÄ, otrkÄrt, nereti gadÄs, ka problÄma ir saistÄ«ta ar neseno darbu (kamÄr darÄ«ju vienu lietu, salauzu citu) - tÄpÄc ir karsts. PÄdÄm ir vieglÄk ar to tikt galÄ.
Bet bija cits gadījums...
Vai zinÄjÄt, ka populÄrajÄ Debian 9 (Stretch) tik populÄrÄ pakotne kÄ phpmyadmin joprojÄm (daudzus mÄneÅ”us!) ir ievainojamÄ statusÄ? (
Citreiz lÄ«dzÄ«gÄ situÄcijÄ: pÄc SSH ievainojamÄ«bas bija nepiecieÅ”ams atjauninÄt visus serverus. Un, uzstÄdot uzdevumu, jums ir jÄkontrolÄ izpilde. (Padotajiem ir tendence pÄrprast, aizmirst, apjukt un kļūdÄ«ties). TÄpÄc vispirms visos serveros okerr pievienojÄm SSH versijas pÄrbaudi un, izmantojot okerr, pÄrliecinÄjÄmies, ka atjauninÄjumi ir ieviesti visos serveros. (Ärti! Es izvÄlÄjos Å”Äda veida indikatoru, un uzreiz var redzÄt, kuram serverim ir kura versija). Kad bijÄm pÄrliecinÄti, ka uzdevums ir izpildÄ«ts visos serveros, indikatorus noÅÄmÄm.
PÄris reizes bija situÄcija, ka rodas kÄda problÄma, kas pati par sevi pÄriet. (iespÄjams, visiem pazÄ«stams?). LÄ«dz brÄ«dim, kad pamanÄt, lÄ«dz brÄ«dim, kad pÄrbaudÄ«sit ā un nav ko pÄrbaudÄ«t ā, viss jau darbojas labi. Bet tad atkal saplÄ«st. Tas notika, piemÄram, ar produktiem, ko augÅ”upielÄdÄjÄm vietnÄ Amazon Marketplace (MWS). KÄdÄ brÄ«dÄ« ielÄdÄtais inventÄrs bija nepareizs (nepareizi preÄu daudzumi un nepareizas cenas). MÄs to izdomÄjÄm. Bet, lai to izdomÄtu, bija svarÄ«gi nekavÄjoties uzzinÄt par problÄmu. DiemžÄl MWS, tÄpat kÄ visi Amazon pakalpojumi, ir nedaudz lÄns, tÄpÄc vienmÄr bija kavÄÅ”anÄs, bet tomÄr mÄs varÄjÄm vismaz aptuveni saprast saikni starp problÄmu un skriptiem, kas to izraisa (mÄs pÄrbaudÄ«jÄm, iestrÄgÄm to okerr un pÄrbaudÄ«ja, nekavÄjoties saÅemot brÄ«dinÄjumu).
Interesantu lietu nesen kolekcijai pievienoja kÄds liels un dÄrgs Eiropas hoster, kuru izmanto mÅ«su klients. PÄkÅ”Åi VISI mÅ«su serveri pazuda no radara! PirmkÄrt, pats klients (ÄtrÄk nekÄ okerra!) pamanÄ«ja, ka vietne, ar kuru viÅÅ” strÄdÄja, netiek atvÄrta, un par to uztaisÄ«ja biļeti. Bet neizdevÄs tikai viena vietne, bet visas! (NataÅ”a, mÄs visu pametÄm!). Å eit Okers sÄka sÅ«tÄ«t garus pÄdu aptinumus ar visiem indikatoriem, kas viÅam iedegÄs. Panika, panika, skrienam riÅÄ·os (ko gan citu darÄ«t?). Tad viss pieauga. IzrÄdÄs, ka datu centrÄ notika kÄrtÄjÄ apkope (reizi daudzos gados), un, protams, mÅ«s vajadzÄja brÄ«dinÄt. Bet ar viÅiem notika kÄda veida problÄma, un viÅi mÅ«s nebrÄ«dinÄja. Nu, vairÄk sirdslÄkmes, mazÄk sirdslÄkmes. Bet pÄc tam, kad viss ir atjaunots, jums viss ir jÄpÄrbauda vÄlreiz! Es nevaru iedomÄties, kÄ es to darÄ«tu ar savÄm rokÄm. Okers visu pÄrbaudÄ«ja dažu minÅ«Å”u laikÄ. IzrÄdÄ«jÄs, ka lielÄkÄ daļa serveru vienkÄrÅ”i Ä«slaicÄ«gi nebija pieejami, taÄu tie strÄdÄja. Daži bija pÄrslogoti, bet arÄ« piecÄlÄs kÄjÄs. No visiem zaudÄjumiem mÄs pazaudÄjÄm divus dublÄjumus, kurus pÄc kroÅa vajadzÄja izveidot un ielÄdÄt, kamÄr Å”is pilnais banÄns notika. Es pat neuztraucos tos izveidot, tikai dienu vÄlÄk ieradÄs brÄ«dinÄjumi, ka viss ir kÄrtÄ«bÄ, ir parÄdÄ«juÅ”ies dublÄjumkopijas. Å is piemÄrs man ļoti patÄ«k, jo okerr izrÄdÄ«jÄs ļoti noderÄ«gs situÄcijÄ, par kuru iepriekÅ” pat nebijÄm domÄjuÅ”i, bet tÄds ir monitoringa mÄrÄ·is - pretoties neparedzamajam.
Okerr sensoriem izmantojam lÄtÄko iespÄjamo hostingu (kur kvalitÄte un uzticamÄ«ba nav svarÄ«ga, tie viens otru apdroÅ”ina). TÄtad, mÄs nesen atradÄm ļoti labu mitinÄÅ”anu un ļoti lÄtu, kritÄriji ir lieliski. Bet... reizÄm izrÄdÄs, ka izejoÅ”ie savienojumi no virtuÄlÄs maŔīnas tiek veidoti no cita (kaimiÅu) IP. BrÄ«numi. Client_ip modulis ar
Nu, vÄl viena lieta - tÄ kÄ mÄs runÄjam par VPS mitinÄÅ”anu - mÄs vienmÄr izmantojam lÄtus (hetzner, ovh, scaleway). Man ļoti patÄ«k gan etalonu, gan stabilitÄtes ziÅÄ. MÄs izmantojam arÄ« daudz dÄrgÄko Amazon EC2 citiem projektiem. TÄtad, pateicoties okerr, mums ir savs informÄts viedoklis. ViÅi abi krÄ«t. Un es neteiktu, ka mÅ«su novÄrojumu ilgajÄ periodÄ lÄti hostingi, piemÄram, hetzner, izrÄdÄ«jÄs ievÄrojami mazÄk stabili nekÄ EC2. TÄpÄc, ja neesat piesaistÄ«ts citÄm Amazon funkcijÄm, kÄpÄc maksÄt vairÄk? š
Ko tÄlÄk?
Ja Å”ajÄ posmÄ es vÄl neesmu jÅ«s aizbiedÄjis no Okerr, tad izmÄÄ£iniet to! JÅ«s varat doties tieÅ”i uz Å”o saiti
PÄc reÄ£istrÄcijas jums tiks lÅ«gts iziet apmÄcÄ«bu (veikt vairÄkus ne pÄrÄk sarežģītus treniÅu uzdevumus). SÄkotnÄjie limiti ir ļoti mazi, bet treniÅiem vai vienam serverim ar tiem pietiek. PÄc apmÄcÄ«bas pabeigÅ”anas limiti (piemÄram, maksimÄlais rÄdÄ«tÄju skaits) tiks palielinÄti.
No dokumentÄcijas ā pirmkÄrt
Ja lietojat to nopietni un ar Å”iem palielinÄtajiem limitiem nepietiek, rakstiet atbalsta dienestam un mÄs to palielinÄsim (bez maksas).
Vai vÄlaties instalÄt okerr serveri savÄ serverÄ«? Å eit
MÄs vÄlamies, lai Å”is projekts paceltos, lai, pateicoties mums, pasaule kļūtu uzticamÄka. Pateicoties bezmaksas programmatÅ«rai un pakalpojumiem, pasaule ir kļuvusi draudzÄ«gÄka un attÄ«stÄs dinamiskÄk. Avotus var glabÄt bezmaksas github, pastam varat izmantot bezmaksas gmail. MÄs izmantojam bezmaksas
Avots: www.habr.com