Mwachidule za Okerr hybrid monitoring system

Zaka ziwiri zapitazo ndinapanga kale post Kulephera kosavuta kwa webusayiti za oker. Tsopano pali chitukuko china cha polojekitiyi, ndipo ndinasindikizanso okerr server code source source pansi tsegulani chilolezo, ndichifukwa chake ndinaganiza zolemba ndemanga yayifupi iyi pa Habr.

Mwachidule za Okerr hybrid monitoring system
[ kukula kwathunthu ]

Kwa amene angasangalale nazo

Izi zingakhale zosangalatsa kwa inu ngati mumagwira ntchito m'timu yaing'ono kapena nokha. Mulibe zowunikira ndipo simukutsimikiza ngati mukuzifunadi. Mwina mudayesa kuwunika kodziwika bwino "kwa anyamata akulu", koma mwanjira "siyinachoke" kwa inu, kapena imagwira ntchito mokhazikika ndipo sikunasinthe moyo wanu. Komanso - ngati simukukonzekera kugawa wogwira ntchito (kapena dipatimenti) kuti aziyang'anira dashboard yowunikira osachepera maola angapo patsiku kapena kuyikonza.

Chifukwa okerr ndi zachilendo

Kenako ndikuwonetsa zinthu zosangalatsa za okerra zomwe zimasiyanitsa ndi machitidwe ena owunikira.

Okerr ndi kuwunika kosakanikirana

Panthawi yowunikira mkati, "wothandizira" akugwira ntchito pamakina omwe amayang'aniridwa, omwe amatumiza deta ku seva yowunikira (mwachitsanzo, malo a disk free). Ikakhala kunja, seva imayang'ana pa netiweki (mwachitsanzo, ping kapena kupezeka kwa webusayiti). Njira iliyonse ili ndi malire ake. Okerr amagwiritsa ntchito njira zonse ziwiri. Macheke mkati mwa maseva amachitidwa ndi wothandizira wopepuka kwambiri (30Kb) kapena zolemba zanu ndi mapulogalamu, ndipo macheke a netiweki amachitidwa kudzera mu masensa a oker m'maiko osiyanasiyana.

okerr si pulogalamu chabe, komanso ntchito

Gawo la seva la kuyang'anira kulikonse ndi lalikulu komanso lovuta, ndizovuta kukhazikitsa ndikukonzekera, ndipo zimafuna zothandizira. Ndi okerr mutha kukhazikitsa seva yanu yowunikira (ndi yaulere komanso yotseguka), kapena mutha kungogwiritsa ntchito gawo la kasitomala ndikugwiritsa ntchito seva yathu. Komanso mfulu.

Ngati kuyang'anira kukulolani kuti mubweze ndikubisa kusowa kwa kudalirika kwa ma seva ndi mapulogalamu, ndiye kuti funso lafilosofi limabwera - mlonda ndi ndani? Kodi kuyang'anira kudzatiuza bwanji za vuto ngati "linafa" pazifukwa zina, mosiyana kapena pamodzi ndi zinthu zina (mwachitsanzo, njira yopita kumalo osungirako deta inagwa)? Mukamagwiritsa ntchito okerr yakunja - vutoli lathetsedwa - mudzalandira chenjezo ngakhale malo onse a data omwe ali ndi ma seva anu alibe mphamvu kapena akuwukiridwa ndi Zombies.

Inde, pali chiopsezo kuti seva ya okerr yokha sidzakhalapo, izi ndi zoona (monga mukudziwa, 90% yodalirika nthawi zonse imapezeka mosavuta komanso "yaulere", 99% ndi khama lochepa, ndipo zisanu ndi zinayi zilizonse zovuta kwambiri). Koma, choyamba, mwayi woti izi zichitike ndi wotsika, ndipo kachiwiri, vutoli likhoza kukhala losadziwika pokhapokha ngati likugwirizana ndi mavuto pa ma seva athu. Ngati tili ndi 99.9% yodalirika, ndipo muli ndi 99.9% (osati manambala apamwamba), ndiye kuti mwayi wolephera kulephera ndi 0.1% ya 0.1% = 0.0001%. Kuonjezera zisanu ndi zinayi kudalirika kwanu pafupifupi popanda khama komanso popanda mtengo ndikwabwino kwambiri!

Ubwino wina wowunika ngati ntchito ndikuti wothandizira alendo kapena situdiyo yapaintaneti amatha kukhazikitsa seva ya oker ndikupereka mwayi kwa makasitomala ngati ntchito yolipira kapena yaulere. Ochita nawo mpikisano amangokhala ndi kuchititsa ndi mawebusayiti, koma muli ndi kuchititsa kodalirika ndi kuwunika.

Okerr ndi za zizindikiro

Chizindikiro ndi "babu lowala". Ili ndi zigawo ziwiri zazikulu - zobiriwira (OK) kapena zofiira (ERR). Pulojekitiyi ili ndi zizindikiro zambiri zamagulu (mwachitsanzo, ndi seva). Patsamba lalikulu la polojekitiyi, nthawi yomweyo mumawona kuti zonse ndi zobiriwira (ndipo mukhoza kuzitseka), kapena chinachake chikuyaka chofiira ndipo chiyenera kukonzedwa. Mukadutsa pakati pa mayikowa, chenjezo limatumizidwa. Kamodzi pa tsiku pamene mukuyikhazikitsa, chidule cha polojekiti chimatumizidwa.

Mwachidule za Okerr hybrid monitoring system

Chizindikiro chilichonse cha okerr chimakhala ndi zinthu zomwe zimasintha momwe zimasinthira (mu Zabbix izi zimatchedwa choyambitsa). Mwachitsanzo, kuchuluka kwa katundu kuyenera kukhala kosaposa 2 (zowona, izi ndizosinthika). Ndipo pa cheke chilichonse chamkati (chiwerengero cha katundu, disk free, ...) pali wolondera. Ngati pazifukwa zina sitilandira chitsimikiziro chopambana pa nthawi yoikidwiratu, cholakwika chimalowetsedwa ndipo chenjezo limatumizidwa.

Ntchito yathu yanthawi zonse ndikuyang'ana maimelo m'mawa, ndikuyang'ana chidule pakati pa makalata ena (timakonzekera kumayambiriro kwa ntchito). Ngati zonse zili bwino mmenemo, timachita zinthu zina zofunika (koma kuti tikhale otetezeka, tikhoza kuyang'ana mwachangu pa dashboard ya okerra ndikuonetsetsa kuti zonse zili zobiriwira panthawiyi). Chenjezo likafika, timachitapo kanthu.

Zoonadi, ndizotheka kusunga zizindikiro "zachidziwitso" (kuti muwone chithunzi cha intaneti kuchokera pakuwunika), koma zonse zimachitidwa kuti zikhale zosavuta, zosavuta komanso mwamsanga kupanga zizindikiro zowunikira komanso kutumiza zidziwitso.

Cholinga chomwe mukukhazikitsira okerr chiri m'machenjezo, kuti muthe kupanga chizindikiro mumphindi, ikhoza "kugona" kwa chaka chimodzi, ingovomerezani zosintha, ndipo pakapita chaka chinachake chikusweka, chimayatsa ndikutumiza. chenjezo . Mphindi yomwe mudagwiritsa ntchito popanga chizindikiro idalipira; mudaphunzira za vutoli nthawi yomweyo, pamaso pa wina aliyense. N’kutheka kuti anazikonza munthu asanaone. Chinachake chomwe chimakwezedwa msanga sichimaganiziridwa kuti chagwa!

Chitetezo

Zingakhale zamanyazi ngati mungakhazikitse kuwunikira kuti muwonjezere kudalirika, koma zotsatira zake, mumawukiridwa pamaneti kudzera mu izi, ndipo pali zovuta zambiri pamaneti pazida zowunikira zosiyanasiyana (Zabbix, Nagios).

Wothandizira (okerrmod kuchokera phukusi kukonzanso) kuthamanga pa dongosolo si seva yapaintaneti, koma kasitomala. Chifukwa chake, palibe madoko owonjezera otseguka pa seva yoyang'aniridwa, kasitomala amagwira ntchito mosavuta kuseri kwa firewall kapena NAT ndipo ndizovuta kwambiri (ndinganene "sizingatheke") kuthyolako pamaneti, popeza kwenikweni samamvera maukonde. soketi.

Kuwunikira kwathunthu

Tsopano lamulo lathu ndiloti timaphunzira za zovuta zonse zaumisiri kuchokera ku okerr. Ngati mwadzidzidzi lamuloli likuphwanyidwa (okerr sanachenjezepo za kuyandikira kwake (ngati n'kotheka) kapena kuti zachitika kale) - timawonjezera macheke ku okerr.

Macheke akunja

Seti yodziwika bwino:

  • ya ping
  • http udindo
  • kuyang'ana kutsimikizika ndi kusinthika kwa satifiketi ya SSL (idzachenjeza ngati ili pafupi kutha)
  • tsegulani doko la TCP ndi chikwangwani pamenepo
  • http grep (tsamba [siliyenera] kukhala ndi mawu ena)
  • sha1 hash kuti mugwire zosintha zamasamba.
  • DNS (mbiri ya DNS iyenera kukhala ndi mtengo wake)
  • WHOIS (idzachenjeza ngati dera latsala pang'ono kuwonongeka)
  • Antispam DNSBL (yang'anani zotsutsana ndi 50+ antispam blacklists nthawi imodzi)

Macheke amkati

Komanso, seti yokhazikika (koma yowonjezereka mosavuta).

  • df (malo opanda disk)
  • katundu avareji
  • opentcp (zotsegula zomvetsera za TCP - zidzadziwitsa ngati chinachake chayamba kapena kuwonongeka)
  • uptime - nthawi yokhayo pa seva. Adzadziwitsa ngati zasintha (ie seva yadzaza)
  • client_ip
  • dirsize - timachigwiritsa ntchito kutsata pamene makina athu a rootfs amaposa kukula kololedwa, osayambitsa ziletso zokhwima, ndi kukula kwa zolemba zapanyumba.
  • opanda kanthu komanso opanda - kuyang'anira mafayilo omwe ayenera kukhala opanda kanthu (kapena opanda kanthu). Mwachitsanzo, chipika cholakwa cha seva ya oker chiyenera kukhala chopanda kanthu, ndipo ngati pali mzere mmenemo, ndidzalandira chidziwitso ndikuchiyang'ana. Koma mail.log pa seva ya makalata SIYENERA kukhala yopanda kanthu (Mphindi N pambuyo pozungulira). Ndipo nthawi zina zinali zopanda kanthu kwa ife pambuyo pakusintha kwadongosolo, pamene logrotate sakanatha kuyambitsanso rsyslog molondola.
  • linecount - chiwerengero cha mizere mu fayilo (monga wc -l). Timachigwiritsa ntchito ngati chotsitsira chopanda kanthu, pomwe chipika cholakwika chimatha kukula, koma pang'onopang'ono (mwachitsanzo, Googlebot imagunda masamba otsekedwa). Pali malire a mizere iwiri mu mphindi 2. Ngati ili pamwamba, padzakhala tcheru

Macheke osangalatsa amkati

Ngati mwakhala mukuwerenga "diagonally" mpaka pano, tsopano zidzakhala zosangalatsa kuwerenga mosamala kwambiri.

zokopa

Kuyang'anira zosunga zobwezeretsera mu chikwatu. Mafayilo athu osunga zobwezeretsera ali ndi mayina ngati "ServerName-20200530.tar.gz". Pa seva iliyonse mu okerr, chizindikiro cha ServerName-DATE.tar.gz chimapangidwa (tsiku lenileni likusintha kukhala mzere wa "DATE"). Kukhalapo kwenikweni kwa zosunga zobwezeretsera zatsopano komanso kukula kwake kumawunikidwanso (mwachitsanzo, sikungakhale kuchepera 90% ya zosunga zakale).

Kodi tiyenera kuchita chiyani kuti zosunga zobwezeretsera zatsopano ziyambe kutsatiridwa tikayamba kuzipanga ndikuziyika mu bukhuli? Palibe! Iyi ndi njira yabwino kwambiri ngati simuyenera kuchita "palibe" chifukwa:

  • Kuchita "palibe" ndikofulumira kwambiri, kumapulumutsa nthawi
  • Ndizovuta kuiwala kuchita "palibe"
  • Ndizovuta kuchita "palibe" cholakwika, ndi cholakwika. Palibe njira yodalirika kwambiri

Ngati mwadzidzidzi mafayilo osunga zobwezeretsera asiya kuwonekera, padzakhala chenjezo. Ngati, mwachitsanzo, mwaletsa imodzi mwa ma seva, ndipo sipayenera kukhala zosunga zobwezeretsera, muyenera kuchotsa chizindikiro (kudzera pa intaneti kapena kuchokera ku chipolopolo kudzera pa API).

maxfilesz

Imasunga kukula kwa mafayilo akulu kwambiri (nthawi zambiri: /var/log/*). Izi zimakuthandizani kuti mugwire zovuta zosayembekezereka, mwachitsanzo, mawu achinsinsi kapena kutumiza sipamu kudzera pa seva.

runstatus/runline

Awa ndi ma module awiri ofunikira ogwiritsira ntchito mapulogalamu ena pa seva. Runtatus imafotokoza ndondomeko yotuluka pulogalamu ku chizindikiro. Mwachitsanzo, okerr (safuna) gawo kuti aone ngati ntchito za systemd zikuyenda. Izi zimachitika kudzera pa runstatus (onani pansipa). Runline - lipoti kwa seva mzere womwe pulogalamuyo imapanga. Mwachitsanzo, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp" mu Runline config pa seva yathu imapanga chizindikiro cha seva: temp ndi kutentha kwa purosesa.

sql

Imayankha funso la manambala ku MySQL ndikuwonetsa zotsatira zake ku chizindikirocho. Mwachidule, mutha kuchita, mwachitsanzo, "Sankhani 1" - izi zitsimikizira kuti DBMS yonse ikugwira ntchito.

Koma ntchito yosangalatsa kwambiri ndiyo, mwachitsanzo, kutsatira kuchuluka kwa maoda musitolo yapaintaneti. Ngati mukudziwa kuti muli ndi maoda 100 kapena ochulukirapo pa ola limodzi, mutha kukhazikitsa malire ochepera 100 kapena 80. Ndiye ngati malonda anu agwa mwadzidzidzi, mudzalandira chenjezo ndipo mutha kuzizindikira.

Dziwani kuti zilibe kanthu pazifukwa zosayembekezereka izi zidachitika:

  • Seva sichipezeka (yopanda mphamvu kapena yopanda netiweki), ndipo chenjezo lidabwera chifukwa chowonetsa "chowola".
  • Seva yadzaza ndi china chake, imagwira ntchito pang'onopang'ono kapena mapaketi atayika, ndizosavutikira kwa ogwiritsa ntchito ndipo amachoka osagula.
  • Seva ikuphatikizidwa m'ndandanda wa spam ndipo makalata ochokera kwa iwo sakuvomerezedwa, ogwiritsa ntchito sangathe kulembetsa
  • Bajeti yotsatsa malonda yatha, zikwangwani sizikuzungulira.

Pakhoza kukhala zifukwa zingapo, ndipo zonse sizingadziwiketu pasadakhale, ndipo mwaukadaulo ndizovuta kuzitsata. Koma mutha kuyang'anira gawo lomaliza (malamulo) mosavuta ndikuzindikira kuti zinthuzo ndi zokayikitsa ndipo zikuyenera kuthana nazo.

Zizindikiro zomveka

Amalola kugwiritsa ntchito mawu a Boolean (Python syntax) kudzera mugawo tsimikizira(Nkhani ya Habre). Deta kuchokera ku polojekiti ndi zizindikiro zake zilipo kuti zifotokoze. Mwachitsanzo, m'mutu wokhudza SQL kuyang'ana pamwambapa, mwina mwawonapo chofooka - masana tikhoza kukhala ndi malonda 100 pa ola limodzi, koma usiku - 20, ndipo izi ndizofala, osati vuto. Kodi nditani? Chizindikirocho chidzakhala mantha nthawi zonse usiku.

Mukhoza kupanga zizindikiro ziwiri, usana ndi usiku. Pangani onse "chete" (sadzatumiza machenjezo). Ndipo pangani chizindikiro chomveka chomwe chimafuna kuti chizindikiro cha tsiku chikhale bwino isanafike 20:00, ndipo pambuyo pa 20:00 ndikwanira kuti chizindikiro cha usiku chikhale bwino.

Chitsanzo china chogwiritsa ntchito chizindikiro chomveka ndi kukwera. Mwachitsanzo, woyang'anira pulojekiti amasiya kulandira zidziwitso (palibe chifukwa chochitira izi, ma admins ayenera kuyankha pazovuta zanthawi zonse), koma amalembetsa chizindikiro chomveka chomwe chimasanduka chofiira ngati chizindikiro chilichonse mu polojekiti sichikukonzedwa mkati mwa nthawi yomwe wapatsidwa.

Komanso, n'zotheka kukhazikitsa nthawi yovomerezeka ya ntchito, mwachitsanzo, kuyambira 3 mpaka 5 am. Sitisamala ngati ma seva ndi masamba awonongeka panthawiyi. Koma pa 5:00 ayenera kugwira ntchito. Ngati sagwira ntchito nthawi ina iliyonse - tcheru. Chizindikiro chomveka chimakulolani kuti muganizire za redundancy ya seva. Ngati muli ndi ma seva 5, ndiye kuti ma admins amatha kuzimitsa ma seva 1-2 nthawi iliyonse. Koma ngati pali ma seva ochepera 3 mwa 5 pankhondo, padzakhala chenjezo.

Zitsanzo zomwe zili pamwambazi sizogwira ntchito bwino, osati zina zomwe zimayenera kutsegulidwa ndi kukonzedwa. Okerra alibe ntchito zonsezi, koma pali gawo lomveka lomwe limakupatsani mwayi wogwiritsa ntchito izi (pafupifupi monga m'chinenero cha pulogalamu - ngati tili ndi owerengera masamu, ndiye kuti sitifunikira ntchito yapadera yowerengera 20% VAT. kuchokera m'chinenerocho, mukhoza kuchita nokha kuti zigwirizane ndi zosowa zanu).

Logic Indicator mwina ndi imodzi mwamitu yovuta ku okerr, koma nkhani yabwino ndiyakuti simuyenera kuidziwa bwino mpaka mutafunika kutero. Koma nthawi yomweyo, iwo amakulitsa kwambiri luso, ndikusunga dongosolo lokha losavuta.

Kuwonjezera macheke anu

Ndikufuna kwenikweni kufotokoza lingaliro lakuti okerr si mndandanda wa macheke okonzeka okonzeka nthawi zonse, koma mosiyana - choyamba - injini yosavuta yokhala ndi luso losavuta kupanga macheke anu. Kupanga macheke anu mu okerr si ntchito ya obera, opanga makina opangira makina, kapena ogwiritsa ntchito okerr apamwamba, koma ndi ntchito yotheka kwa admin aliyense yemwe adayika Linux koyamba mwezi watha.

Macheke amalipiro ochepera amachitika kudzera mu module runstatus:

Mzere uwu mu config runstatus adzakudziwitsani ngati /bin/zoona mwadzidzidzi siziyamba kapena kubweza china chake kupatula 0.

true_OK=/bin/true

Mzere umodzi wokha - ndipo ife tiri kale pang'ono chokulitsidwa ntchito okerr.

Ngakhale cheke yotereyi ili kale ndi mtengo wake: ngati mwadzidzidzi seva yanu ikuphwanyidwa, chizindikiro chofananira pa seva ya oker sichidzasinthidwa panthawi yake, ndipo patapita nthawi, chenjezo lidzawonekera.

Chekechi chidziwitsa kuti seva ya apache2 yawonongeka (chabwino, simudziwa ...):

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

Chifukwa chake, ngati mumalankhula chilankhulo chilichonse chokonzekera, ndipo mutha kulemba zolemba zachipolopolo, ndiye kuti mutha kuwonjezera macheke anu.

Zovuta kwambiri - mutha kulemba (m'chilankhulo chilichonse) gawo lanu la okerrmod. Muzosavuta kwambiri zikuwoneka motere:

#!/usr/bin/python3

print("STATUS: OK")

Kodi sizovuta kwambiri? Gawoli liyenera kudzifufuza lokha ndikutulutsa zotsatira ku STDOUT. Module yovuta kwambiri imapereka, mwachitsanzo, izi:

$ 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

Imasinthira zizindikiro zingapo nthawi imodzi (zolekanitsidwa ndi mzere wopanda kanthu), zimawapanga ngati kuli kofunikira, zikuwonetsa zambiri zotsimikizira ndi tag yomwe imakhala yosavuta kupeza zizindikiro zofunikira padashboard.

uthengawo

Pali bot ya Telegraph @OkerrBot. Simufunikanso kusokoneza foni yanu ndi mapulogalamu osiyana (sindimakonda kuti Pyaterochka mukufunikira pulogalamu imodzi yokhala ndi mapu, ya Lenta ina, ya MTS yachitatu, ndi zina zotero kwa aliyense, onse, onse). Telegalamu imodzi ndiyokwanira. Kupyolera mu telegalamu mutha kulandira zidziwitso nthawi yomweyo, kuyang'ana momwe polojekiti ikuyendera ndikupereka lamulo kuti muyang'anenso zovuta zonse. Tidachoka m'bwalo lamasewera / ndege, osasunga chala chathu pamasewera kwa maola awiri, tidayatsa foni, kukanikiza batani limodzi mu chatbot, ndikuwonetsetsa kuti zonse zili bwino.

Masamba a Status

Masiku ano, masamba omwe ali ndi mbiri ndioyenera kukhala nawo pabizinesi iliyonse yomwe ili ndi IT, malingaliro odalirika odalirika komanso omwe amalemekeza makasitomala / ogwiritsa ntchito.

Tangoganizani zochitika - wogwiritsa ntchito akufuna kuchita zinazake, kuwona zambiri kapena kuyitanitsa, ndipo china chake sichikuyenda. Iye sadziwa chimene chikuchitika, ndi mbali ya ndani vutolo ndi pamene lidzathetsedwa. Mwina kampani yanu ili ndi tsamba losagwira ntchito? Kapena idasweka miyezi isanu ndi umodzi yapitayo ndipo ikonzedwa zaka ziwiri? Koma muyenera kugula firiji tsopano, ili kale m'ngolo ... Ndipo ndi nkhani yosiyana kwambiri pamene munthu akuwona kuti chinachake chikulakwika ndi inu (mwina zikuwonekeratu kuti vuto siliri kumbali yake), kuti vuto wakhala anapeza, kuti inu kale ntchito pa izo, ndipo mwina ngakhale analemba pafupifupi nthawi kudzudzulidwa. Wogwiritsa ntchito akhoza kulembetsa ndi kulandira chidziwitso cha imelo pamene vutolo lakonzedwa ndipo akhoza kuchita zomwe ankafuna (kugula firiji).

Mwachidule za Okerr hybrid monitoring system

Mavuto ndi nthawi yopuma zimachitika kwa aliyense. Koma ogwiritsa ntchito ndi othandizana nawo amakhulupirira kwambiri omwe ali owonekera komanso odalirika panjira yawo pa izi.

pano kuwunikanso ma projekiti ena 10 omwe amakupatsani mwayi wopanga masamba omwe ali ndi mbiri. Nazi zitsanzo za momwe masamba a polojekitiyi amawonekera Python и Dropbox. tsamba la okerr.

Onetsani

Kuti ndisapange nkhaniyi motalika, ndibwerezanso kunkhani yanga yapitayi - Kulephera kosavuta kwa webusayiti . Ngati mutha kupanga seva yobwereza, kenako pogwiritsa ntchito failover, simudzakhala ndi nthawi yayitali - vuto likangodziwika, ogwiritsa ntchito amangotumizidwa ku seva yosunga zobwezeretsera. Ndipo zikuwoneka kwa ine kuti ichi ndi chinthu chosangalatsa kwambiri, chowala chomwe sichipezeka paliponse.

Zofunikira zochepa za dongosolo

Kwa ma seva okerr, timagwiritsa ntchito makina okhala ndi RAM kuchokera ku 2Gb. Kwa masensa amtaneti, ngakhale 512Mb ndiyokwanira. Gawo la kasitomala nthawi zambiri limakhala pafupifupi ziro. (Chikwama cha pulasitiki kukonzanso imalemera 26 KB, koma imafuna Python3 ndi malaibulale wamba). Makasitomala amachokera ku cron script, chifukwa chake amakhala ndi zero osagwiritsa ntchito kukumbukira. Pakati pa makina omwe tidawunika, tili ndi masensa (VPS yotsika mtengo kwambiri yokhala ndi 512Mb RAM) ndi Raspberry Pi. Ndizotheka ngakhale popanda gawo la kasitomala tumizani zosintha kudzera pa curl! (Onani pansipa)

Kutengera izi - okerr, mwina zambiri zaulere kuyang'anira dongosolo kuchokera kuzomwe zilipo, chifukwa ngakhale kugwiritsa ntchito njira ina yaulere yotseguka monga Zabbix kapena Nagios, muyenera kugawa zothandizira (seva) kwa izo, ndipo izi ndi ndalama kale. Kuphatikiza apo, kukonza kwina kwa seva kumafunikirabe. Ndi oker, gawo ili likhoza kuchotsedwa. Kapena simukuyenera kuchotsa ndikugwiritsa ntchito seva yanu, kutengera zomwe mumakonda kwambiri.

API ndi kuphatikiza mu pulogalamu yaumwini

Zomangamanga zosavuta komanso zotseguka. oker ali ndi yosavuta API, yomwe ndi yosavuta kugwira nayo ntchito. Mukufuna kupanga zizindikiro 1000? Chigoba chimodzi cha mizere 3-4 chidzachita izi. Mukufuna kukonzanso zizindikiro za 1000? Ndi zophweka kwambiri. Mwachitsanzo, tikufuna kuwonanso ziphaso zathu zonse za HTTPS kuchokera ku sensa yaku Russia:

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

Mutha kusintha chizindikirocho pogwiritsa ntchito gawo lathu la kasitomala, ngakhale popanda izo, kudzera pa 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/

Mukhoza kusintha zizindikiro mwachindunji kuchokera ku pulogalamu yanu. Mwachitsanzo, kutumiza zizindikiro za kugunda kwa mtima kuti okerr adziwe kuti ikuthamanga ndipo amakweza alamu ngati igunda kapena kuzizira. Mwa njira, zigawo za oker zimachita zomwezo - okerr imadziyang'anira yokha, ndipo mavuto pafupifupi gawo lililonse adzadziwika ndikupanga chenjezo za vutoli. (Ndipo ngati izi "pafupifupi" - zimafufuzidwa kuchokera ku seva ina)

Nayi kachidindo (yosavuta) mu telegraph bot yathu:

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

Pali laibulale yosinthira zizindikiro kuchokera ku mapulogalamu a Python kukonzanso, m'zilankhulo zina zilizonse palibe malaibulale, koma mutha kuyimbira okerrupdate script kapena kupanga pempho la HTTP ku seva ya okerr.

Oker amatithandiza bwanji

Okerr anasintha moyo wathu. Poyeneradi. Mwinamwake dongosolo lina loyang'anira likhoza kuchita zomwezo, koma kugwira ntchito ndi okerr ndikosavuta komanso kosavuta kwa ife ndipo kuli ndi ntchito zonse zomwe timafunikira (tinawonjezera zomwe zinalibe). Mwa njira, ngati pali zina zomwe zikusowa, funsani ndikuwonjezera (sindikulonjeza, koma ndikufuna kuti okerr akhale njira yabwino kwambiri yowunikira mapulojekiti ang'onoang'ono). Kapena bwino, onjezani nokha - ndi zophweka.

Tinakwanitsa kutsatira mfundo yakuti “phunzirani za mavuto onse a ku kerra.” Ngati mwadzidzidzi pachitika vuto lomwe sitinaphunzirepo kuchokera kwa okerr, timawonjezera cheke ku okerr. (pankhaniyi, ndi "ife" ndikutanthauza ife monga ogwiritsa ntchito dongosolo, osati omanga nawo). Poyamba izi zinali zofala, koma tsopano zasowa kwambiri.

Kuwunikira

Kupyolera mu okerr timawunika kukula kwa chipika pa maseva onse. N’kosatheka kuti muwerenge moganizira mzere uliwonse wa chipikacho ndi maso anu, koma kungoyang’anira mmene kukula kumathandizira kale. Kupyolera mu izi, tidapeza makalata a spam ndi kufufuza mawu achinsinsi, ndipo pamene mapulogalamu ena "achita misala," chinachake sichiwayendera ndipo amachibwereza mobwerezabwereza (nthawi iliyonse kuwonjezera mizere ingapo pa chipikacho. ).

Zikalata za SSL. Pafupifupi atangoyamba kumene LetsEncrypt kasitomala wathu adayamba kupereka ziphaso zaulere za SSL kwa makasitomala ake (pafupifupi chikwi chimodzi). Ndipo zinakhala gehena kwa oyang'anira! Chowonadi ndi chakuti masamba amakhala "amoyo", makasitomala amawafunsa nthawi ndi nthawi kuti achite zinazake, opanga mapulogalamu amazichita. Atha kusamutsa tsambalo momasuka kupita ku DocumentRoot ina, mwachitsanzo. Kapena onjezani Zolemba Zopanda malire ku virtualhost config. Mwachilengedwe, izi zitatha, kukonzanso kwa ziphaso kumasokonekera. Tsopano tili ndi makamu onse a SSL omwe adawonjezedwa ku okerr kudzera muzinthu zina zothandiza kuchokera pa phukusi a2conf. Tiyeni tingoyambitsa a2okerr.py - ndipo ngati masamba angapo atsopano awonekera pa seva, adzawonekera mu okerr. Ngati mwadzidzidzi pazifukwa zina chiphaso sichinasinthidwenso, masabata atatu chikalatacho chisanathe, tikudziwa, ndipo tidzazindikira chifukwa chake sichikusinthidwa, galu woteroyo. a2certbot.py kuchokera phukusi lomwelo - limathandiza kwambiri ndi izi (nthawi yomweyo imayang'ana mavuto omwe angakhalepo - ndikulemba zomwe zafufuzidwa bwino, komanso pamene pali vuto).

Timawunika tsiku lotha ntchito ya madambwe athu onse. Ndipo ma seva athu onse omwe amatumiza makalata amawunikidwanso motsutsana ndi 50+ mndandanda wakuda. (Ndipo nthawi zina amagwera m’menemo). Mwa njira, kodi mumadziwa kuti ma seva a imelo a Google nawonso adasankhidwa? Pongodziyesa tokha, tawonjezera mail-wr1-f54.google.com kumaseva omwe amayang'aniridwa, ndipo ikadali pamndandanda wakuda wa SORBS! (Izi ndi za mtengo wa "anti-spammers")

Zosunga zobwezeretsera - Ndalemba kale pamwambapa momwe zimakhalira zosavuta kuziwunika ndi okerr. Koma timayang'anira zosunga zobwezeretsera zaposachedwa kwambiri pa seva yathu ndi (pogwiritsa ntchito pulogalamu ina yomwe imagwiritsa ntchito oker) zosunga zobwezeretsera zomwe timayika ku Amazon Glacier. Ndipo, inde, zovuta zimachitika nthawi ndi nthawi. Nzosadabwitsa kuti iwo anali kuyang'ana.

Timagwiritsa ntchito chizindikiro chokwera. Zimasonyeza ngati vuto lina silinakonzedwe kwa nthawi yaitali. Ndipo ine ndekha, ndikathetsa mavuto ena, nthawi zina ndimatha kuiwala za iwo. Kukwera ndi chikumbutso chabwino, ngakhale mumadziyang'anira nokha.

Ponseponse, ndikukhulupirira kuti ntchito yathu yakula mwadongosolo. Pali pafupifupi palibe nthawi yochepetsera (kapena kasitomala alibe nthawi yoti azindikire. Basi shh!), Pamene kuchuluka kwa ntchito kwakhala kochepa ndipo ntchito zogwirira ntchito zakhala zodekha. Tachoka kuntchito yodzidzimutsa ndi mabowo otsekemera ndi tepi kuti tikhazikitse ndi kuyeza ntchito, pamene mavuto ambiri amanenedweratu pasadakhale ndipo pali nthawi yowaletsa. Ngakhale mavuto omwe achitika akhalanso osavuta kukonza: choyamba, timadziwa za iwo asanachite mantha ndi makasitomala, ndipo kachiwiri, nthawi zambiri zimachitika kuti vutoli likukhudzana ndi ntchito zaposachedwa (pamene ndikuchita chinthu chimodzi, ndinathyola china) - kotero ndikotentha Ndizosavuta kuti zotsata zithetse.

Koma panali vuto lina ...

Kodi mumadziwa kuti mu Debian 9 wotchuka (Tambasulani) phukusi lodziwika bwino monga phpmyadmin akadali (kwa miyezi yambiri!) (CVE-2019-6798). Pamene chiwopsezocho chinawonekera, tinachiphimba mwamsanga m'njira zosiyanasiyana. Koma ndidakhazikitsa kuwunika kwa tsamba lachitetezo ku okerr kuti ndidziwe liti yankho "lokongola" lidzatuluka (kudzera mu SHA1 kuchuluka kwa zomwe zili). Chizindikirocho chinandigwedeza kangapo, tsambalo linasintha, koma monga mukuonera, komabe (kuyambira January 2019!) Mwinamwake, mwa njira, wina akudziwa kuti vuto ndi chiyani kuti phukusi lofunika kwambiri lidakali pachiwopsezo choposa chaka?

Nthawi ina muzochitika zofananira: pambuyo pachiwopsezo mu SSH, kunali kofunikira kusinthira ma seva onse. Ndipo mukakhazikitsa ntchito, muyenera kuwongolera kachitidwe. (Ogonjera amakonda kusamvetsetsa, kuiwala, kusokonezeka, ndi kulakwitsa). Chifukwa chake, choyamba tidawonjeza cheke cha mtundu wa SSH ku okerr pa maseva onse, ndipo kudzera mu okerr tinaonetsetsa kuti zosintha zatulutsidwa pa maseva onse. (Zosavuta! Ndasankha chizindikiro chamtundu uwu, ndipo mutha kuwona nthawi yomweyo kuti ndi seva iti yomwe ili ndi mtundu wake). Titatsimikiza kuti ntchitoyi yatha pa ma seva onse, tinachotsa zizindikiro.

Kangapo panali vuto linalake lomwe limakhalapo, ndiyeno limachoka lokha. (mwina wodziwika kwa aliyense?). Pofika nthawi yomwe mukuwona, pofika nthawi yomwe mumayang'ana-ndipo palibe chowunikira-zonse zikuyenda bwino. Koma kenako imaswekanso. Izi zidachitika, mwachitsanzo, ndi zinthu zomwe tidakweza ku Amazon Marketplace (MWS). Panthawi ina, katundu wodzaza anali wolakwika (kuchuluka kolakwika kwa katundu ndi mitengo yolakwika). Ife tinazilingalira izo. Koma kuti timvetsetse, kunali kofunika kudziŵa za vutolo mwamsanga. Tsoka ilo, MWS, monga mautumiki onse a Amazon, imachedwa pang'onopang'ono, kotero nthawi zonse pamakhala zotsalira, komabe, tidatha kumvetsetsa kugwirizana pakati pa vutoli ndi zolemba zomwe zimayambitsa (tidachita cheke, tidamamatira. kwa okerr, ndikuyang'ana nthawi yomweyo kulandira chenjezo).

Mlandu wochititsa chidwi posachedwapa unawonjezedwa ku gulu lalikulu ndi lamtengo wapatali la European hoster, lomwe makasitomala athu amagwiritsa ntchito. Mwadzidzidzi, maseva athu ONSE adasowa pa radar! Choyamba, kasitomala mwiniwake (mwachangu kuposa okerra!) adawona kuti malo omwe akugwira nawo ntchito sakutsegula ndipo adapanga tikiti. Koma si tsamba limodzi lokha lomwe linatsika, koma onsewo! (Natasha, tagwetsa chilichonse!). Apa Okerr anayamba kutumiza zofunda zazitali zamapazi ndi zizindikiro zonse zomwe zinamuunikira. Mantha, mantha, timathamanga mozungulira (chiani chinanso chomwe tingachite?). Ndiye chirichonse chinawuka. Zinapezeka kuti panali kukonzanso kwachizoloŵezi mu data center (kamodzi zaka zambiri) ndipo, ndithudi, tinayenera kuchenjezedwa. Koma vuto lina linawachitikira ndipo sanatichenjeze. Eya, kugunda kwamtima kochulukira, kugunda kwamtima kochepa. Koma zonse zitabwezeretsedwa, muyenera kuyang'ana kawiri konse! Sindingathe kulingalira momwe ndikanachitira ndi manja anga. Okerr adayesa zonse m'mphindi zochepa. Zinapezeka kuti ma seva ambiri sanapezeke kwakanthawi, koma adagwira ntchito. Ena adalemedwa, koma adayimilira momwe adayenera. Mwa zotayika zonse, tidataya ma backups awiri, omwe malinga ndi korona amayenera kupangidwa ndikuyikidwa pamene nthochi yonseyi ikuchitika. Sindinavutikenso kuzipanga, patangopita tsiku limodzi zidziwitso zidafika kuti zonse zili bwino, zosunga zobwezeretsera zidawonekera. Ndimakonda kwambiri chitsanzo ichi chifukwa okerr adakhala wothandiza kwambiri panthawi yomwe sitinaganizirepo pasadakhale, koma ndicho cholinga chowunika - kukana zosayembekezereka.

Kwa masensa a Okerr, timagwiritsa ntchito kuchititsa kotsika mtengo (komwe khalidwe ndi kudalirika sizofunikira, zimatsimikizirana). Chifukwa chake, posachedwapa tapeza kuchititsa kwabwino kwambiri komanso kutsika mtengo kwambiri, ma benchmark ndiabwino kwambiri. Koma ... nthawi zina zimakhala kuti kugwirizana kotuluka kuchokera ku makina enieni amapangidwa kuchokera ku IP ina (yoyandikana nayo). Zozizwitsa. Client_ip module yokhala ndi https://diagnostic.opendns.com/myip amapeza IP yolakwika. Ndipo kuchokera ku zipika za seva za chizindikiro zikuwonekeratu kuti zosinthazo zidachokeranso ku IP yoyandikana nayo. Tiyeni tithane ndi chithandizo tsopano. Ndibwino kuti tidazindikira izi panthawi yamtendere. Koma, mwachitsanzo, nthawi zambiri zimachitika kuti mwayi umalembedwa molingana ndi mndandanda wa IP woyera - ndipo ngati seva nthawi zina imawombera motere kwa nthawi yochepa - mukhoza kuyesa kuthetsa vutoli kwa nthawi yaitali.

Chabwino, chinthu chinanso - popeza tikukamba za kuchititsa VPS - nthawi zonse timagwiritsa ntchito zotsika mtengo (hetzner, ovh, scaleway). Ndimakonda kwambiri potengera ma benchmarks komanso kukhazikika. Timagwiritsanso ntchito Amazon EC2 yodula kwambiri pama projekiti ena. Chifukwa chake, chifukwa cha oker, tili ndi malingaliro athu omwe adziwitsidwa. Onse awiri amagwa. Ndipo sindinganene kuti pakapita nthawi yayitali, zotengera zotsika mtengo ngati hetzner zidakhala zosakhazikika kuposa EC2. Chifukwa chake, ngati simunagwirizane ndi zinthu zina za Amazon, bwanji mukulipira zambiri? 🙂

Kodi yotsatira?

Ngati pakadali pano sindinakuwopsezenibe ku Okerr, yesani! Mutha kupita molunjika ku ulalowu akaunti ya demo ya okerr (Dinani tsopano!) Koma kumbukirani kuti pali akaunti imodzi yokha yowonetsera aliyense, kotero ngati mutachita chinachake, wina mu akaunti yomweyo akhoza kukusokonezani nthawi imodzi. Kapena (bwino) lembetsani kudzera pa ulalo ku offsite okerr - chilichonse ndi chosavuta, popanda SMS. Ngati simukufuna kugwiritsa ntchito imelo yanu yeniyeni, mutha kugwiritsa ntchito yotayidwa, monga wotumiza maimelo (ndikupangira getnada.com). Maakaunti otere atha kuchotsedwa pakapita nthawi, koma zikhala bwino kuti ziyesedwe.

Mukalembetsa, mudzapemphedwa kuti muphunzire (kuchita ntchito zingapo zosavutikira). Malire oyambira ndi ochepa kwambiri, koma pamaphunziro kapena seva imodzi ndizokwanira. Pambuyo pomaliza maphunzirowo, malire (mwachitsanzo, chiwerengero chachikulu cha zizindikiro) chidzawonjezeka.

Kuchokera pazolembedwa - choyamba WIKI pa seva ndi pa kasitomala (okerruptdate wiki). Koma ngati chinachake sichidziwika bwino, lembani kuthandizira (pa) okerr.com kapena kusiya tikiti - tidzayesetsa kuthetsa zonse mwamsanga.

Ngati mugwiritsa ntchito mozama ndipo malire owonjezerekawa sali okwanira, lembani kuti muthandizire ndipo tidzawonjezera (kwaulere).

Kodi mukufuna kukhazikitsa seva ya oker pa seva yanu? Pano okerr-dev posungira. Tikukulimbikitsani kukhazikitsa pamakina oyera, ndiye mutha kungochita ndi script yoyika. Pa makina anu enieni - palibe zoletsa :-). Chabwino, kachiwiri, ngati chirichonse chikuchitika, ife nthawizonse timayesetsa kuthandiza.

Tikufuna kuti polojekitiyi iyambe, kuti dziko likhale lodalirika chifukwa cha ife. Chifukwa cha mapulogalamu ndi ntchito zaulere, dziko lakhala laubwenzi ndipo likukula kwambiri. Zopezeka zitha kusungidwa mu github yaulere, pamakalata mutha kugwiritsa ntchito gmail yaulere. Timagwiritsa ntchito kwaulere zatsopano za chithandizo. Pazilizonsezi, simukusowa kulipira ma seva, simukusowa kutsitsa ndikukonzekera, ndipo simukusowa kuthetsa mavuto osiyanasiyana ogwira ntchito. Ntchito yatsopano iliyonse, gulu lililonse limakhala ndi makalata, nkhokwe ndi CRM. Ndipo zonsezi ndi zapamwamba kwambiri komanso zaulere komanso nthawi yomweyo. Tikufuna kuti zikhale zofanana ndi kuyang'anira - makampani ang'onoang'ono ndi ntchito angagwiritse ntchito okerr kwaulere ndipo ngakhale pa siteji ya kubadwa ndi kukula ndi kudalirika wamkulu ntchito yaikulu.

Source: www.habr.com