Kakaretso ea sistimi e nyalisitsoeng ea Okerr

Lilemong tse peli tse fetileng ke se ke entse poso E bonolo failover bakeng sa websaeteng mabapi hantler. Hona joale ho na le tsoelo-pele e itseng ea morero, 'me ke boetse ke hatisitse khoutu ea mohloli oa lehlakoreng la okerr tlasa laesense e bulehileng, ke kahoo ke entseng qeto ea ho ngola tlhahlobo ena e khutšoanyane ho Habr.

Kakaretso ea sistimi e nyalisitsoeng ea Okerr
[ boholo bo feletseng ]

Ho bao e ka kgahlehang

Sena se ka 'na sa u thahasella haeba u sebetsa sehlopheng se senyenyane kapa u le mong. Ha u na leihlo 'me ha u na bonnete ba hore na u hlile ua e hloka. Mohlomong u lekile tlhahlobo e matla e tsebahalang "bakeng sa bashanyana ba baholo", empa ka tsela e itseng "ha ea ka ea tloha" bakeng sa hau, kapa e sebetsa ka mokhoa o batlang o le teng mme ha ea ka ea fetola bophelo ba hau haholo. Hape - haeba u hlile u sa rera ho abela mosebeletsi kaofela (kapa lefapha) ho beha leihlo dashboard ea ho beha leihlo bonyane lihora tse 'maloa ka letsatsi kapa ho e hlophisa.

Hobaneng okerr e sa tloaeleha

Ka mor'a moo ke tla bontša likarolo tse thahasellisang tsa okerra tse e khethollang ho mekhoa e meng ea ho beha leihlo.

Okerr ke tlhahlobo e nyalisitsoeng

Nakong ea ho hlahloba ka hare, "moemeli" o ntse a sebetsa ka mechine e behiloeng leihlo, e fetisetsang data ho seva sa ho shebella (mohlala, sebaka sa mahala sa disk). Ha e le ka ntle, seva se etsa licheke holim'a marang-rang (mohlala, ping kapa ho fumaneha ha websaete). Mokhoa o mong le o mong o na le mefokolo ea oona. Okerr o sebelisa likhetho tseo ka bobeli. Licheke ka har'a li-server li etsoa ke moemeli ea bobebe haholo (30Kb) kapa mangolo le lits'ebetso tsa hau, 'me tlhahlobo ea marang-rang e etsoa ka lisensara tsa okerr linaheng tse fapaneng.

oker ha se software feela, empa hape ke ts'ebeletso

Karolo ea seva ea tlhahlobo efe kapa efe e kholo ebile e rarahane, ho thata ho e kenya le ho e lokisa, 'me e hloka lisebelisoa. Ka oker o ka kenya seva ea hau ea ho beha leihlo (ke mahala ebile ke mohloli o bulehileng), kapa o ka sebelisa feela karolo ea bareki mme o sebelisa ts'ebeletso ea seva ea rona. Hape mahala.

Haeba ho beha leihlo ho u lumella ho lefa le ho koahela ho se tšepahale ho li-server le lits'ebetso, joale ho hlaha potso ea filosofi - molebeli ke mang? Tlhokomelo e tla re bolella joang ka bothata haeba ka boeona "e shoele" ka lebaka le itseng, ka thoko kapa hammoho le lisebelisoa tse ling tsa hau (mohlala, mocha o eang setsing sa data o ile oa oa)? Ha o sebelisa okerr ea ts'ebeletso ea kantle - bothata bona bo rarolloa - o tla fumana tlhokomeliso le haeba setsi sa data se nang le li-server tsa hau se se na matla kapa se hlasetsoe ke Zombies.

Ha e le hantle, ho na le kotsi ea hore seva ea okerr ka boeona e ke ke ea fumaneha, sena ke 'nete (joalokaha u tseba, 90% ea ho tšepahala e lula e fumanoa habonolo le "mahala", 99% ka bonyane ba boiteko,' me e 'ngoe le e' ngoe e latelang e robong. ka tsela e boima haholo). Empa, pele, menyetla ea hore sena se etsahale e fokotsehile, 'me ea bobeli, bothata bo ka' na ba se ke ba hlokomeloa hafeela bo lumellana le mathata ho li-server tsa rona. Haeba re na le ts'epo ea 99.9%, 'me u na le 99.9% (eseng linomoro tse phahameng haholo), joale monyetla oa ho hlōleha ho sa tsejoeng ke 0.1% ea 0.1% = 0.0001%. Ho kenyelletsa tse tharo tse robong ho ts'epahalo ea hau hoo e ka bang ntle le boiteko le ntle le litšenyehelo ho molemo haholo!

Molemo o mong oa ho beha leihlo e le tšebeletso ke hore mofani oa baeti kapa setsi sa marang-rang se ka kenya seva sa oker 'me sa fana ka phihlelo ho bareki e le tšebeletso e eketsehileng e lefshoang kapa ea mahala. Bahlolisani ba hau ba na le sebaka sa marang-rang le liwebsaete, empa u na le moeti ea tšepahalang ka ho beha leihlo.

Okerr e mabapi le li-indicator

Letšoao ke "lebone la lebone". E na le linaha tse peli tse kholo - e tala (OK) kapa e khubelu (ERR). Morero o na le matšoao a mangata a hlophisitsoeng (mohlala, ka seva). Leqepheng le ka sehloohong la morero, hang-hang u bona hore ntho e 'ngoe le e' ngoe e tala ('me u ka e koala), kapa ho na le ntho e khanyang e khubelu' me e hloka ho lokisoa. Ha u feta lipakeng tsa linaha tsena, ho romelloa tlhokomeliso. Hang ka letsatsi ha u ntse u e beha, ho romelloa kakaretso ea morero.

Kakaretso ea sistimi e nyalisitsoeng ea Okerr

Pontšo e 'ngoe le e' ngoe ea okerr e na le maemo a hahelletsoeng moo e fetolang boemo (ho Zabbix sena se bitsoa trigger). Mohlala, karolelano ea mojaro ha ea lokela ho feta 2 (ehlile, sena se ka lokisoa). 'Me bakeng sa cheke e' ngoe le e 'ngoe ea ka hare (karolelano ea mojaro, disk mahala, ...) ho na le molebeli. Haeba ka mabaka a itseng re sa fumane tiiso e atlehileng ka nako e behiloeng, phoso e kenngoa 'me ho romelloa temoso.

Mokhoa oa rona o tloaelehileng oa mosebetsi ke ho hlahloba li-imeile hoseng, le ho sheba kakaretso har'a mangolo a mang (re e hlophisa qalong ea mosebetsi). Haeba ntho e 'ngoe le e' ngoe e lokile ho eona, re etsa lintho tse ling tsa bohlokoa (empa hore re bolokehe, re ka sheba dashboard ea okerra kapele 'me ra etsa bonnete ba hore ntho e' ngoe le e 'ngoe e tala ka nako ena). Haeba temoso e fihla, rea arabela.

Ha e le hantle, hoa khoneha ho boloka matšoao a "tlhahisoleseding" (ho bona setšoantšo sa marang-rang ho tloha ho beha leihlo), empa ntho e 'ngoe le e' ngoe e etsoa ka mokhoa o bonolo, habonolo le ka potlako ho etsa matšoao ka ho khetheha bakeng sa ho shebella le ho romela litlhokomeliso.

Sepheo seo u se etsang okerr ke litlhokomeliso, e le hore u ka etsa pontšo ka motsotso, e ka "robala" ka selemo, e amohela feela lisebelisoa, 'me ha selemo hamorao ntho e robeha, e khantša ebe e romela. tlhokomeliso . Motsotso oo o kileng oa o qeta ho theha sesupo o ile oa lefa; o ithutile ka bothata hanghang, pele ho mang kapa mang. Ho ka etsahala hore ebe ba ile ba e lokisa pele motho a hlokomela. Ntho e phahamisoang kapele ha e nkoe e oele!

Tshireletso

E ka ba ntho e hlabisang lihlong haeba u ka theha leihlo molemong oa ho eketsa ts'epo, empa ka lebaka leo, u hlaseloa ke marang-rang ka eona, 'me ho na le bofokoli bo bongata ba marang-rang lisebelisoa tse fapaneng tsa ho beha leihlo.Zabbix, Nagios).

Moemeli (okerrmod ho tloha sephutheloana okerruptdate) ho sebetsa tsamaisong hase seva sa marang-rang, empa ke mofani. Ka hona, ha ho na likou tse eketsehileng tse bulehileng ho seva se shebiloeng, moreki o sebetsa habonolo ka mor'a firewall kapa NAT mme ho thata haholo (ke re "ha ho khonehe") ho senya marang-rang, kaha ha e le hantle ha e mamele marang-rang. sokete.

Ts'ebetso e felletseng ea ho beha leihlo

Joale molao oa rona ke hore re ithute ka mathata ohle a tekheniki ho tsoa ho okerr. Haeba ka tšohanyetso molao o tlōloa (okerr ha aa ka a lemosa ka ketsahalo ea eona e haufi (haeba sena se ka khoneha) kapa hore se se se etsahetse) - re eketsa licheke ho okerr.

Licheke tsa kantle

Sete e tloaelehileng haholo:

  • bi
  • http boemo
  • ho lekola bonnete le bocha ba setifikeiti sa SSL (se tla lemosa haeba se haufi le ho felloa ke nako)
  • bula boema-kepe ba TCP le banner ho eona
  • http grep (leqephe [ha lea tlameha] ho ba le mongolo o itseng)
  • sha1 hash ho tšoara liphetoho tsa leqephe.
  • DNS (rekoto ea DNS e tlameha ho ba le boleng bo itseng)
  • WHOIS (e tla hlokomelisa haeba sebaka se haufi le ho senyeha)
  • Antispam DNSBL (hlahloba moamoheli khahlano le manane a 50+ a antispam hang hang)

Licheke tsa ka hare

Hape, sete e tloaelehileng (empa e ka atolosoa habonolo).

  • df (sebaka sa mahala sa disk)
  • mojaro karolelano
  • opentcp (li-sockets tse mametseng tsa TCP tse bulehileng - li tla tsebisa haeba ho hong ho qalile kapa ho soahlamane)
  • uptime - uptime feela ho seva. E tla tsebisa haeba e fetohile (ke hore, seva e tletse)
  • client_ip
  • dirsize - re e sebelisa ho lekola ha metso ea rona ea mochini e fetang boholo bo lumelletsoeng, ntle le ho hlahisa lithibelo tse thata, le boholo ba li-directory tsa lapeng la basebelisi.
  • e se nang letho le e se nang letho - hlokomela lifaele tse lokelang ho se na letho (kapa tse se nang letho). Ka mohlala, tlaleho ea phoso ea seva ea oker ka boeona e lokela ho ba e se nang letho, 'me haeba ho na le mola ho eona, ke tla fumana tsebiso ebe ke e hlahloba. Empa mail.log ho seva sa mangolo HA E LOKELA ho hloka letho (metsotso e N kamora ho potoloha). 'Me ka linako tse ling e ne e se na letho bakeng sa rona ka mor'a ntlafatso ea tsamaiso, ha logrotate e sitoa ho qala rsyslog ka nepo.
  • linecount - palo ea mela e faeleng (joaloka wc -l). Re e sebelisa e le sebaka se bonolo sa ho se na letho, ha tlaleho ea liphoso e ntse e ka hola, empa butle feela (mohlala, Googlebot e otla maqephe a koetsoeng). Ho na le moeli oa mela e 2 ka metsotso e 20. Haeba e phahame, ho tla ba le tlhokomeliso

Licheke tse khahlisang tsa kahare

Haeba esale u bala "diagonally" ho fihlela mona, joale ho tla ba monate ho bala ka hloko.

lisebelisoa

E beha leihlo li-backups bukeng. Lifaele tsa rona tsa bekapo li na le mabitso a kang "ServerName-20200530.tar.gz". Bakeng sa seva e 'ngoe le e 'ngoe e okerr, letšoao la ServerName-DATE.tar.gz le entsoe (letsatsi la sebele le fetohela moleng oa "DATE"). Boteng ba "backup" e ncha le boholo ba eona le tsona lia hlahlojoa (mohlala, e ke ke ea ba ka tlase ho 90% ea bekapo e fetileng).

Ke eng e lokelang ho etsoa hore bekapo e ncha e qale ho lateloa ka mor'a hore re qale ho e etsa le ho e beha bukeng ee? Ha ho letho! Ena ke mokhoa o bonolo haholo ha o hloka ho etsa "letho" hobane:

  • Ho etsa "ho se letho" ho potlakile haholo, ho boloka nako
  • Ho thata ho lebala ho etsa "letho"
  • Ho thata ho etsa "letho" le fosahetseng, ka phoso. Ha ho letho le ka tšeptjoang ka ho fetisisa mokhoa

Haeba ka tšohanyetso lifaele tse ncha tsa backup li emisa ho hlaha, ho tla ba le tlhokomeliso. Haeba, ka mohlala, u holofalitse e 'ngoe ea li-server,' me ha hoa lokela ho ba le li-backups, u tla hloka ho hlakola letšoao (ka sebopeho sa websaete kapa ho tloha khetla ka API).

maxfilesz

E boloka tlaleho ea boholo ba lifaele tse kholo ka ho fetisisa (hangata: /var/log/*). Sena se o nolofalletsa ho tšoara mathata a sa lebelloang, mohlala, li-passwords tsa brute kapa ho romela spam ka seva.

runstatus/runline

Tsena ke li-module tse peli tsa bohlokoa tsa proxy bakeng sa ho tsamaisa mananeo a mang ho seva. Runtatus e tlaleha khoutu ea ho tsoa ea lenaneo ho sesupo. Mohlala, okerr ha e (hloka) mojule ho lekola hore na lits'ebeletso tsa systemd lia sebetsa. Sena se etsoa ka runstatus (sheba ka tlase). Runline - e tlaleha ho seva mohala oo lenaneo le o hlahisang. Ka mohlala, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp" ho Runline config ho seva sa rona e theha seva sa sesupo: mocheso o nang le mocheso oa processor.

sql

E etsa potso ea linomoro ho MySQL mme e tlaleha sephetho ho sesupo. Boemong bo bonolo, u ka etsa mohlala, "KHETHA 1" - sena se tla hlahloba hore DBMS ka kakaretso e sebetsa.

Empa ts'ebeliso e khahlisang haholo ke, mohlala, ho latela palo ea liodara lebenkeleng la inthanete. Haeba u tseba hore u na le litaelo tse 100 kapa ho feta ka hora, u ka beha moeli o fokolang ho 100 kapa 80. Joale haeba thekiso ea hau e theoha ka tšohanyetso, u tla fumana tlhokomeliso 'me u ka e tseba.

Hlokomela hore ha ho na taba hore na sena se etsahetse ka lebaka lefe le sa lebelloang:

  • Seva ha se fumanehe feela (ho felloa ke matla kapa ho se na marang-rang), 'me tlhokomeliso e tsoa tabeng ea hore letšoao le ne le "bolile".
  • Seva e tletse ho hong, e sebetsa butle kapa lipakete lia lahleha, ha ho bonolo ho basebelisi mme ba tsamaea ntle le ho reka.
  • Seva e kenyelelitsoe lethathamong la spam mme mangolo a tsoang ho eona ha a amoheloe, basebelisi ha ba khone ho ingolisa
  • Tekanyetso ea lets'olo la papatso e felile, li-banner ha li sothe.

Ho ka ba le mabaka a mangata, 'me kaofela ha ona a ke ke a bonoa esale pele,' me ho thata ho latela ka botekgeniki. Empa o ka lekola paramethara ea ho qetela (litaelo) ka mokhoa o bonolo, 'me u bone ho tsoa ho bona hore boemo bo belaetsa mme bo lokeloa ho sebetsanoa le bona.

Matšoao a utloahalang

E dumella tshebediso ya dipolelo tsa Boolean (Python syntax) ka mojule netefatsa(sengoloa se buang ka Habré). Lintlha tse tsoang morerong le matšoao a eona li fumaneha bakeng sa ho hlahisa maikutlo. Ka mohlala, khaolong e buang ka SQL ho hlahloba ka holimo, u ka 'na ua hlokomela ntlha e fokolang - motšehare re ka ba le thekiso ea 100 ka hora, empa bosiu - 20,' me sena se tloaelehile, eseng bothata. Ke etseng? Letšoao le tla lula le tšohile bosiu.

U ka etsa lipontšo tse peli, motšehare le bosiu. Etsa hore bobeli ba "khutse" (ba ke ke ba romela litlhokomeliso). 'Me u thehe letšoao le utloahalang le hlokang hore letšoao la letsatsi le be hantle pele ho 20:00,' me ka mor'a 20:00 ho lekane hore letšoao la bosiu le lekane.

Mohlala o mong oa ho sebelisa sesupo se utloahalang ke ho nyolla. Ka mohlala, mookameli oa morero o itokolla ho litemoso (ha a na tlhokahalo ea ho etsa sena, batsamaisi ba lokela ho arabela mathateng a tloaelehileng), empa ba ngolisa letšoao le utloahalang le fetohang bofubelu haeba letšoao leha e le lefe la morero le sa lokisoe ka nako e behiloeng.

Hape, hoa khoneha ho beha nako e lumelletsoeng ea mosebetsi, mohlala, ho tloha ka 3 ho isa ho 5 hoseng. Ha re tsotelle haeba li-server le libaka tsa marang-rang li senyeha nakong ena. Empa ka 5:00 ba tlameha ho sebetsa. Haeba li sa sebetse ka nako efe kapa efe - ela hloko. Letšoao le utloahalang le boetse le u lumella hore u nahane ka redundancy ea seva. Haeba u na le li-server tse 5 tsa marang-rang, joale li-admins li ka tima li-server tse 1-2 ka nako efe kapa efe. Empa haeba ho na le li-server tse ka tlase ho 3 ho tse 5 ntoeng, ho tla ba le tlhokomeliso.

Mehlala e kaholimo ha se mesebetsi e oker, ha se likarolo tse ling tse hlokang ho kengoa tšebetsong le ho hlophisoa. Okerra ha e na mesebetsi ena kaofela, empa ho na le module e utloahalang e u lumellang hore u sebelise ts'ebetso ena (Hoo e ka bang ka puo ea lenaneo - haeba re na le basebetsi ba lipalo, ha re hloke mosebetsi o khethehileng oa ho bala 20% VAT ho tsoa puong, u ka e etsa kamehla u e etsa hore e lumellane le litlhoko tsa hau).

Logic Indicator mohlomong ke e 'ngoe ea lihlooho tse batlang li rarahane ho okerr, empa litaba tse monate ke hore ha ua tlameha ho e tseba ho fihlela u hloka. Empa ka nako e ts'oanang, ba holisa bokhoni haholo, ha ba ntse ba boloka sistimi ka boeona e le bonolo haholo.

Ho eketsa licheke tsa hau

Ke hlile ke rata ho fetisa maikutlo a hore okerr ha se sete sa likete tsa licheke tse lokiselitsoeng bakeng sa liketsahalo tsohle, empa ho fapana le hoo - pele ho tsohle - enjene e bonolo e nang le bokhoni bo bonolo ba ho iketsetsa licheke tsa hau. Ho iketsetsa licheke ho okerr ha se mosebetsi bakeng sa linokoane, baetsi ba litsamaiso, kapa bonyane basebelisi ba okerr ba tsoetseng pele, empa ke mosebetsi o ka khonehang bakeng sa molaoli ofe kapa ofe ea kentseng Linux lekhetlo la pele khoeling e fetileng.

Licheke tsa meputso e tlase li etsoa ka mojule runstatus:

Mohala ona ho config runstatus e tla u tsebisa haeba /bin/nete ka tšohanyetso e sa qale kapa e khutlisa ntho e 'ngoe ntle le 0.

true_OK=/bin/true

Mola o le mong feela - mme mona re se re le nyane atolositsoe tshebetso okerr.

Esita le cheke e joalo e se e ntse e e-na le bohlokoa ba eona: haeba ka tšohanyetso seva sa hau se senyeha, letšoao le lumellanang le seva sa okerr le ke ke la ntlafatsoa ka nako e loketseng, 'me ka mor'a hore nako e fete, ho tla hlaha tlhokomeliso.

Tlhahlobo ena e tla tsebisa hore seva sa apache2 se senyehile (hantle, ha u tsebe ...):

apache_OK="systemctl is-active --quiet apache2"

Kahoo, haeba u bua puo efe kapa efe ea lenaneo, 'me bonyane u ka ngola mangolo a likhetla, joale u ka khona ho eketsa licheke tsa hau.

Ho thata le ho feta - o ka ngola (ka puo efe kapa efe) mojule oa hau oa okerrmod. Boemong bo bonolo bo shebahala tjena:

#!/usr/bin/python3

print("STATUS: OK")

Na ha ho thata haholo? Mojule o tlameha ho itlhahloba ebe o hlahisa liphetho ho STDOUT. Module e rarahaneng ho feta e fana ka mohlala, sena:

$ 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

E ntlafatsa matšoao a 'maloa ka nako e le' ngoe (e arohanngoa ke mohala o se nang letho), e li bōpa ha ho hlokahala, e bontša lintlha tsa ho netefatsa le tag eo ho leng bonolo ho fumana matšoao a hlokahalang ka har'a dashboard.

thelekramo

Ho na le bot ea Telegraph @OkerrBot. Ha ho hlokahale hore u kopanye fono ea hau ka mekhoa e fapaneng (ha ke rate hore bakeng sa Pyaterochka u hloka kopo e le 'ngoe e nang le' mapa, bakeng sa Lenta e 'ngoe, bakeng sa MTS ea boraro, joalo-joalo bakeng sa bohle, bohle, bohle). Thelekramo e le 'ngoe e lekane. Ka thelekramo u ka fumana litlhokomeliso hang-hang, u lekola boemo ba projeke mme u fane ka taelo ea ho lekola matšoao ohle a mathata. Re ile ra tloha lebaleng la liketsahalo / sefofane, ha rea ​​ka ra boloka monoana oa rona ka lihora tse peli, ra bulela fono, ra tobetsa konopo e le 'ngoe ho chatbot,' me ra etsa bonnete ba hore ntho e 'ngoe le e' ngoe e nepahetse.

Maqephe a Boemo

Matsatsing ana, maqephe a boemo a batla a tlameha ho ba le khoebo leha e le efe e nang le IT, boikutlo bo nang le boikarabelo mabapi le botšepehi le bo tšoarang bareki / basebelisi ba eona ka tlhompho.

Nahana ka boemo - mosebelisi o batla ho etsa ho hong, ho sheba tlhahisoleseling kapa ho beha taelo, mme ho hong ha ho sebetse. Ha a tsebe se etsahalang, bothata bo ka lehlakoreng la mang le hore na bo tla rarolloa neng. Mohlomong k'hamphani ea hau e na le sebaka sa marang-rang se sa sebetseng? Kapa e robehile likhoeling tse tšeletseng tse fetileng mme e tla lokisoa ka mor'a lilemo tse peli? Empa o hloka ho reka sehatsetsi hona joale, e se e ntse e le ka kariki ... 'Me ke taba e fapaneng ka ho feletseng ha motho a bona hore ho na le ho hong ho phoso ka uena (bonyane ho hlakile hore bothata ha bo lehlakoreng la hae), hore bothata e 'nile ea sibolloa, hore u se u ntse u sebetsa ho eona,' me mohlomong esita le ngola fatše nako e ka bang ea khalemelo. Mosebelisi a ka ingolisa mme a fumana tsebiso ea lengolo-tsoibila ha bothata bo lokisitsoe mme a ka etsa seo a se batlang (reka sehatsetsing).

Kakaretso ea sistimi e nyalisitsoeng ea Okerr

Mathata le nako ea ho phomola li etsahala ho bohle. Empa basebelisi le balekane ba tšepa ho feta ba pepeneneng le ba nang le boikarabelo tseleng ea bona ea ho etsa sena.

mona tlhahlobo ea merero e meng e 10 e u lumellang ho theha maqephe a boemo. Mehlala ke ena ea hore na maqephe a projeke a shebahala joang python и Dropbox. leqephe la boemo ba okerr.

Se hlokehileng

E le hore ke se ke ka etsa hore sengoloa sena se be telele le ho feta, ke tla boela ke bue ka sengoloa sa ka se fetileng - E bonolo failover bakeng sa websaeteng . Haeba u ka etsa seva e kopitsoang, ebe u sebelisa failover, ha e le hantle u ke ke ua ba le nako e telele ea ho theoha - hang ha bothata bo fumanoa, basebelisi ba tla fetisetsoa ho seva sa ho boloka se sebetsang. 'Me ho bonahala ho' na hore ena ke tšobotsi e thahasellisang haholo, e khanyang e fumanehang seoelo kae kapa kae.

Litlhokahalo tse tlase tsa sistimi

Bakeng sa li-server tsa okerr, re sebelisa mechine e nang le RAM ho tloha 2Gb. Bakeng sa li-sensor tsa marang-rang, esita le 512Mb e lekane. Karolo ea bareki hangata e batla e le zero. (Mokotla oa polasetiki okerruptdate boima ba 26 KB, empa bo hloka Python3 le lilaebrari tse tloaelehileng). Moreki o tsoa ho cron script, ka hona e na le ts'ebeliso ea memori e sa feleng. Har'a mechini eo re e hlokometseng, re na le li-sensor (VPS e theko e tlase haholo e nang le 512Mb RAM) le Raspberry Pi. Hoa khoneha le ntle le karolo ea bareki romela lintlafatso ka curl! (sheba ka tlase)

Ho nka sena hloko - okerr, mohlomong boholo ba mahala tsamaiso ea ho shebella ho tloha ho tse teng, hobane esita le ho sebelisa tsamaiso e 'ngoe ea mahala e bulehileng joaloka Zabbix kapa Nagios, u lokela ho fana ka lisebelisoa (server) ho eona,' me sena e se e le chelete. Ho feta moo, tlhokomelo e itseng ea seva e ntse e hlokahala. Ka okerr, karolo ena e ka tlosoa. Kapa ha ua tlameha ho e tlosa le ho sebelisa seva sa hau, ho latela seo u se ratang haholo.

API le ho kopanngoa ho software ea thepa

Mehaho e bonolo le e bulehileng. oker e na le e bonolo haholo API, eo ho leng bonolo ho sebetsa le eona. U hloka ho theha matšoao a 1000? Sengoloa se le seng sa khetla sa mela e 3-4 se tla etsa sena. Na u hloka ho lokisa matšoao a 1000 hape? Hape ho bonolo haholo. Mohlala, re batla ho lekola litifikeiti tsohle tsa rona tsa HTTPS habeli ho tsoa ho sensor ea Serussia:

#!/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

O ka ntlafatsa sesupo o sebelisa mojule oa rona oa bareki, leha o se na eona, feela ka 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/

U ka ntlafatsa li-indicator ka kotloloho ho tsoa lenaneong la hau. Ka mohlala, ho romela melaetsa ea ho otla ha pelo e le hore okerr a tsebe hore e ntse e matha, 'me o phahamisa alamo ha e soahlamana kapa e hoama. Ka tsela, likarolo tsa oker li etsa joalo - okerr e itlhokomela, 'me mathata a hoo e ka bang mojulung ofe kapa ofe a tla fumanoa ebe o hlahisa tlhokomeliso ka bothata. ('Me haeba sena "hoo e ka bang" - li hlahlojoa ho tsoa ho seva se seng)

Khoutu ke ena (e nolofalitsoeng) ho bot ea rona ea thelekramo:

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))

Ho na le laebrari ea ho ntlafatsa matšoao ho tsoa ho mananeo a Python okerruptdate, bakeng sa lipuo tse ling ha ho na lilaebrari, empa u ka letsetsa sengoloa sa okerrupdate kapa ua etsa kopo ea HTTP ho seva ea oker.

Kamoo okerr a re thusang kateng

Okerr o fetotse maphelo a rona. Ka 'nete. Mohlomong tsamaiso e 'ngoe ea ho beha leihlo e ka etsa se tšoanang, empa ho sebetsa le okerr ho bonolo ebile ho bonolo ho rona mme e na le mesebetsi eohle eo re neng re e hloka (re ekelitse seo e neng e se na eona). Ha e le hantle, haeba ho na le likarolo tse ling tse sieo, botsa 'me ke tla li eketsa (ha ke tšepise, empa ke batla hore okerr e be mokhoa o molemo ka ho fetisisa oa ho shebella merero e menyenyane). Kapa ho betere, e kenyelle - ho bonolo.

Re ile ra khona ho phela ka molao-motheo oa “ho ithuta ka mathata ’ohle a tsoang ho kerra.” Haeba ka tšohanyetso ho hlaha bothata boo re sa kang ra ithuta ka bona ho okerr, re eketsa cheke ho okerr. (tabeng ena, ka "rona" ke bolela rona re le basebelisi ba tsamaiso, eseng basebetsi-'moho le bona). Qalong sena se ne se tloaelehile, empa hona joale se fetohile seoelo haholo.

Tlhokomelo

Ka okerr re lekola boholo ba li-log ho li-server tsohle. Ha e le hantle, ha ho khonehe ho bala mola o mong le o mong oa log ka mahlo, empa ho beha leihlo sekhahla sa kholo ho se ho fana ka ho hongata. Ka sena, re ile ra fumana mangolo a spam le lipatlisiso tse matla tsa li-password, 'me ha lits'ebetso tse ling li "hlanya," ho na le ho hong ho sa ba sebetseng mme ba e pheta khafetsa (nako le nako ba eketsa mela e' maloa ho logi. ).

Setifikeiti sa SSL. Hoo e ka bang hang ka mor'a ho qala LetsEncrypt moreki oa rona o ile a qala ho fana ka litifikeiti tsa mahala tsa SSL ho bareki ba eona (ba ka bang sekete ho bona). 'Me e ile ea e-ba lihele feela bakeng sa tsamaiso! 'Nete ke hore libaka tsa marang-rang li "phela", bareki nako le nako ba ba kopa ho etsa ntho e itseng, baetsi ba mananeo ba e etsa. Ba ka fetisetsa sebaka sa marang-rang ka bolokolohi ho e 'ngoe ea DocumentRoot, mohlala. Kapa eketsa Ngola e sa hlokahaleng hape ho "virtualhost config". Ka tlhaho, ka mor'a sena, ho tsosolosoa ha setifikeiti ka mokhoa o itekanetseng ho senyeha. Hona joale re na le mabotho ohle a SSL a kenyellelitsoeng ho okerr ka bohona ka lisebelisoa tse ling tsa bohlokoa tse tsoang sephutheloaneng a2conf. Ha re qaleng feela a2okerr.py - 'me haeba liwebsaete tse ngata tse ncha li hlaha ho seva, li tla hlaha ka bo eona ho okerr. Haeba ka tšohanyetso ka lebaka le itseng setifikeiti se sa tsosolosoa, libeke tse tharo pele setifikeiti se fela, re tseba, 'me re tla utloisisa hore na ke hobane'ng ha e sa ntlafatsoe, ntja e joalo. a2certbot.py ho tloha sephutheloana se le seng - se thusa haholo ka sena (hang-hang se hlahloba mathata a ka 'nang a e-ba teng - mme se ngola se hlahlobiloeng hantle, le moo ho ka 'nang ha e-ba le bothata).

Re beha leihlo letsatsi la ho felloa ke nako ha libaka tsohle tsa rona. 'Me li-server tsohle tsa rona tse romellang mangolo le tsona li hlahlojoa khahlano le manane a fapaneng a 50+ a fapaneng. (Mme ka linako tse ling li oela ho tsona). Ka tsela, na u ne u tseba hore li-server tsa Google mail le tsona li thathamisitsoe? Bakeng sa ho itlhahloba, re kentse mail-wr1-f54.google.com ho li-server tse shebiloeng, 'me e ntse e le lethathamong la batho ba thibelang SORBS! (Sena se mabapi le boleng ba "anti-spammers")

Li-backups - Ke se ke ngotse ka holimo hore na ho bonolo hakae ho li beha leihlo ka okerr. Empa re beha leihlo li-backups tsa morao-rao ho seva sa rona le (re sebelisa sesebelisoa se ikhethileng se sebelisang oker) li-backups tseo re li kenyang ho Amazon Glacier. 'Me, e, mathata a hlaha nako le nako. Ha ho makatse hore ebe ba ne ba shebile.

Re sebelisa sesupo sa ho nyoloha. E bontša haeba bothata bo bong bo sa rarolloe ka nako e telele. 'Me 'na, ha ke rarolla mathata a mang, ka linako tse ling nka lebala ka bona. Ho phahama ke khopotso e ntle, leha u ipehile leihlo.

Ka kakaretso, ke lumela hore boleng ba mosebetsi oa rona bo eketsehile ka taelo ea boholo. Hoo e ka bang ha ho na nako ea ho theoha (kapa mofani ha a na nako ea ho e hlokomela. Feela shh!), Ha palo ea mosebetsi e fetohile e nyenyane 'me maemo a ho sebetsa a fetohile a khutsitseng. Re tlohile mosebetsing oa tšohanyetso ka likoti tsa ho pata ka tepi ho khutsisa le ho lekanya mosebetsi, ha mathata a mangata a boleloa esale pele 'me ho na le nako ea ho a thibela. Esita le mathata a etsahetseng le 'ona a fetohile ho bonolo ho a lokisa: pele, re fumana ka bona pele bareki ba tšoha,' me ea bobeli, hangata ho etsahala hore bothata bo amana le mosebetsi oa morao-rao (ha ke ntse ke etsa ntho e le 'ngoe, ke ile ka roba e' ngoe) - kahoo ho chesa Ho bonolo hore mesaletsa e sebetsane le eona.

Empa ho ne ho e-na le nyeoe e 'ngoe ...

Na u ne u tseba hore ho Debian 9 e tummeng (Otlolla) sephutheloana se tummeng joalo ka phpmyadmin e ntse e le (ka likhoeli tse ngata!) (CVE-2019-6798). Ha bofokoli bo hlaha, re ile ra bo koahela kapele ka litsela tse fapaneng. Empa ke thehile tlhahlobo ea leqephe la ts'ireletso ea ts'ireletso ho okerr ho tseba hore na tharollo e "ntle" e tla tsoa neng (ka kakaretso ea SHA1 ea litaba). Letšoao le ile la ntšoara ka makhetlo a 'maloa, leqephe le fetohile, empa joalo ka ha u bona, e ntse e le teng (ho tloha ka Pherekhong 2019!) Ha e bontše hore bothata bo rarollotsoe. Mohlomong, ka tsela, motho o tseba hore na bothata ke bofe hore sephutheloana sa bohlokoa joalo se ntse se le kotsing ka nako e fetang selemo?

Nako e 'ngoe boemong bo tšoanang: ka mor'a ho ba kotsing ho SSH, ho ne ho hlokahala ho ntlafatsa lisebelisoa tsohle. 'Me ha u beha mosebetsi, u lokela ho laola ts'ebetso. (Batlatsi ba na le ho se utloisise, ho lebala, ho ferekana, le ho etsa liphoso). Ka hona, pele re kentse tlhahlobo ea mofuta oa SSH ho okerr ho li-server tsohle, 'me ka okerr re entse bonnete ba hore lintlafatso li kentsoe ho li-server tsohle. (E bonolo! Ke khethile mofuta ona oa letšoao, 'me u ka bona hang-hang hore na ke seva sefe se nang le phetolelo efe). Ha re netefatsa hore mosebetsi o phethiloe ho li-server tsohle, re ile ra tlosa matšoao.

Ka makhetlo a 'maloa ho ne ho e-na le boemo boo bothata bo itseng bo hlahang, ebe bo itsamaela. (mohlomong e tsebahala ho bohle?). Nakong eo u hlokomelang, ha u hlahloba-'me ha ho letho leo u lokelang ho le hlahloba-tsohle li se li ntse li sebetsa hantle. Empa joale e robeha hape. Re entse sena, mohlala, ka lihlahisoa tseo re li kentseng Amazon Marketplace (MWS). Ka nako e 'ngoe, thepa e laetsoeng e ne e fosahetse (lipalo tse fosahetseng tsa thepa le litheko tse fosahetseng). Re ile ra e utloisisa. Empa e le ho e utloisisa, ho ne ho le bohlokoa ho tseba ka bothata hang-hang. Ka bomalimabe, MWS, joalo ka lits'ebeletso tsohle tsa Amazon, e tsamaea butle hanyane, ka hona, ho ne ho lula ho e-na le tšitiso, empa leha ho le joalo, re khonne bonyane ho utloisisa kamano pakeng tsa bothata le mangolo a bo bakang (re ile ra hlahloba, ra khomarela. e ea ho okerr, 'me ea e hlahloba hang-hang e amohela tlhokomeliso).

Nyeoe e thahasellisang e sa tsoa eketsoa pokellong ke moeti e moholo le ea theko e boima oa Europe, eo moreki oa rona a e sebelisang. Ka tšohanyetso, li-server tsohle tsa rona li ile tsa nyamela radar! Ntlha ea pele, moreki ka boeena (ka potlako ho feta okerra!) o ile a hlokomela hore setša seo a neng a sebetsa le sona se ne se sa bulehe eaba o etsa tekete ka eona. Empa ha se sebaka se le seng feela se ileng sa oa, empa kaofela ha sona! (Natasha, re lahlile tsohle!). Mona Okerr o ile a qala ho romela liphutheloana tse telele tsa maoto tse nang le matšoao 'ohle a mo khantšitseng. Ho tšoha, ho tšoha, re matha ka mekoloko (ke eng hape eo re ka e etsang?). Eaba tsohle lia phahama. Ho ile ha fumaneha hore ho ne ho e-na le tlhokomelo e tloaelehileng setsing sa data (hang ka mor'a lilemo tse ngata) 'me, ha e le hantle, re ne re lokela ho lemosoa. Empa bothata bo itseng bo ile ba ba hlahela ’me ha baa ka ba re lemosa. Hantle, litlhaselo tsa pelo tse ngata, ho fokotseha ha pelo. Empa ka mor'a hore ntho e 'ngoe le e' ngoe e tsosolosoe, u lokela ho hlahloba ntho e 'ngoe le e' ngoe habeli! Ha ke khone ho nahana hore na nka e etsa joang ka matsoho a ka. Okerr o lekile tsohle ka metsotso e seng mekae. Ho ile ha fumaneha hore boholo ba li-server li ne li sa fumanehe ka nakoana, empa li ile tsa sebetsa. Ba bang ba ne ba imetsoe, empa le bona ba ema kamoo ba neng ba lokela ho ema kateng. Har'a tahlehelo eohle, re lahlile li-backups tse peli, tseo ho ea ka moqhaka li neng li lokela ho bōptjoa le ho laeloa ha banana ena e feletseng e ntse e tsoela pele. Ha kea ka ka ikhathatsa le ho li theha, ka mor'a letsatsi ho ile ha fihla tlhokomeliso ea hore ntho e 'ngoe le e' ngoe e lokile, li-backups li hlahile. Ke rata mohlala ona haholo hobane okerr o ile a thusa haholo maemong ao re neng re sa nahane ka ona esale pele, empa ke sepheo sa ho beha leihlo - ho hanela lintho tse sa lebelloang.

Bakeng sa li-sensor tsa Okerr, re sebelisa moamoheli o theko e tlaase (moo boleng le ts'epahalo e seng tsa bohlokoa, li inshorense). Kahoo, haufinyane re fumane moamoheli o motle haholo ebile o theko e tlase haholo, li-benchmark li ntle haholo. Empa ... ka linako tse ling ho hlaha hore likhokahano tse tsoang mochining oa sebele li entsoe ho tsoa ho e 'ngoe (ea boahelani) IP. Mehlolo. Client_ip module e nang le https://diagnostic.opendns.com/myip e fumana IP e fosahetseng. 'Me ho tloha ho li-server tsa letšoao ho hlakile hore ntlafatso e boetse e tsoa ho IP ena ea boahelani. Ha re sebetsaneng le tšehetso hona joale. Ho hotle hore ebe re hlokometse sena nakong ea khotso. Empa, ka mohlala, hangata ho etsahala hore phihlello e ngolisitsoe ho latela lenane le tšoeu la IP - mme haeba ka linako tse ling seva se panya joalo ka nako e khuts'oane - u ka leka ho tšoara bothata bona ka nako e telele haholo.

Hantle, ntho e 'ngoe hape - kaha re bua ka ho amohela VPS - kamehla re sebelisa tse theko e tlaase (hetzner, ovh, scaleway). Ke hlile ke e rata ka bobeli mabapi le li-benchmarks le botsitso. Re boetse re sebelisa Amazon EC2 e turang haholo bakeng sa merero e meng. Kahoo, ka lebaka la okerr, re na le maikutlo a rona a nang le tsebo. Ka bobeli baa oa. 'Me nke ke ka re nakong e telele ea litebello tsa rona, li-hosts tse theko e tlaase joalo ka hetzner li ile tsa bonahala li sa tsitsa ho feta EC2. Ka hona, haeba u sa tlameletsoe likarolong tse ling tsa Amazon, ke hobane'ng ha u lefa haholoanyane? 🙂

Ke'ng e latelang?

Haeba mothating ona ha ke so u tšose ho tloha Okerr, joale leka! U ka ea ka kotloloho ho sehokelo sena akhaonto ea demo ea okerr (Tobetsa hona joale!) Empa hopola hore ho na le ak'haonte e le 'ngoe feela ea demo bakeng sa motho e mong le e mong, kahoo haeba u etsa ntho e itseng, motho e mong ka akhaonto e tšoanang a ka u sitisa ka nako e le' ngoe. Kapa (ho molemo) ngodisa ka sehokelo ho offsite okerr - tsohle li bonolo, ntle le SMS. Haeba u sa rate ho sebelisa lengolo-tsoibila la hau la 'nete, u ka sebelisa e ka lahloang, joalo ka moemeli oa poso (ke khothaletsa getnada.com). Liakhaonto tse joalo li ka hlakoloa ha nako e ntse e ea, empa li tla loka bakeng sa tlhahlobo.

Kamora ho ngolisoa, o tla kopuoa ho ea koetlisoa (etsa mesebetsi e mengata e seng thata haholo ea koetliso). Meeli ea pele e nyane haholo, empa bakeng sa koetliso kapa seva e le 'ngoe e lekane. Ka mor'a ho qeta koetliso, meeli (mohlala, palo e kholo ea matšoao) e tla eketseha.

Ho tsoa litokomaneng - pele ho tsohle WIKI ka lehlakoreng la seva le ho moreki (okerruptdate wiki). Empa haeba ho hong ho sa hlaka, ngolla ho tšehetsa (ho) okerr.com kapa u tlohele tekete - re tla leka ho rarolla ntho e 'ngoe le e' ngoe kapele.

Haeba u e sebelisa ka botebo 'me meeli ena e ntseng e eketseha ha ea lekana, ngolla ho tšehetsa' me re tla e eketsa (mahala).

O ka thabela ho kenya seva ea okerr ho seva sa hau? Mona polokelo ea okerr-dev. Re khothaletsa ho kenya mochine o hloekileng oa sebele, ebe o ka o etsa feela ka script ea ho kenya. Mochineng oa hau oa sebele - ha ho lithibelo :-). Ho lokile, hape, haeba ho etsahala eng kapa eng, re tla leka ho thusa kamehla.

Re batla hore morero ona o qale, e le hore lefatše le tle le tšepahale ho rona. Ka lebaka la software le lits'ebeletso tsa mahala, lefats'e le se le le botsoalle 'me le ntse le tsoela pele ka matla. Mehloli e ka bolokoa ho github ea mahala, 'me bakeng sa mangolo u ka sebelisa gmail ea mahala. Re sebelisa mahala mesebetsi e mecha bakeng sa tshehetso. Bakeng sa leha e le efe ea sena, ha ho hlokahale hore u lefelle lisebelisoa, ha ho hlokahale hore u li khoasolle le ho li lokisa, 'me ha ho hlokahale hore u rarolle mathata a sa tšoaneng a ts'ebetso. Morero o mong le o mong o mocha, sehlopha se seng le se seng hang-hang se na le mangolo, polokelo le CRM. 'Me sena sohle ke boleng bo phahameng haholo le mahala le hang-hang. Re batla hore e be se tšoanang bakeng sa ho beha leihlo - lik'hamphani tse nyenyane le merero e ka sebelisa okerr mahala esita le sethaleng sa tsoalo le kholo e na le botšepehi ba merero e tebileng ea batho ba baholo.

Source: www.habr.com