Iwwersiicht vun der Okerr Hybrid Iwwerwachung System

Virun zwee Joer hunn ech schonn e Post gemaach Einfach Failover fir eng Websäit iwwer oker. Elo gëtt et eng Entwécklung vum Projet, an ech hunn och publizéiert okerr Server Säit Quelltext ënner dem oppen Lizenz, Dofir hunn ech decidéiert dës kuerz Iwwerpréiwung op Habr ze schreiwen.

Iwwersiicht vun der Okerr Hybrid Iwwerwachung System
[ Gréisst ]

Wien et interesséiere kann

Dëst kann Iech interesséieren wann Dir an engem klengen Team oder eleng schafft. Dir hutt keng Iwwerwaachung an Dir sidd net sécher ob Dir et wierklech braucht. Entweder Dir probéiert e puer populär sérieux Iwwerwaachung "fir déi grouss Jongen", awer et ass iergendwéi "net ofgeholl" fir Iech, oder et funktionnéiert an enger bal Standardkonfiguratioun an huet Äert Liewen net vill geännert. An och - wann Dir definitiv net plangt e ganze Mataarbechter (oder souguer en Departement) ze verdeelen fir d'Iwwerwaachungsdashboard op d'mannst e puer Stonnen den Dag ze iwwerwaachen oder et ze konfiguréieren.

Firwat okerr ongewéinlech ass

Als nächst wäert ech interessant Feature vun der Okerra weisen, déi et vun e puer aner Iwwerwaachungssystemer ënnerscheeden.

Okerr ass eng Hybrid Iwwerwachung

Wärend der interner Iwwerwaachung leeft en "Agent" op de iwwerwaachte Maschinnen, deen Daten un den Iwwerwaachungsserver iwwerdréit (zum Beispill fräi Plaatz). Wann extern, mécht de Server Kontrollen iwwer de Reseau (zum Beispill, Ping oder Websäit Disponibilitéit). All Approche huet seng Aschränkungen. Okerr benotzt béid Optiounen. Kontrollen bannen de Serveren sinn duerch eng ganz liicht (30Kb) Agent oder Är eege Scripten an Uwendungen gesuergt, an Reseau Kontrollen sinn duerch okerr Sensor a verschiddene Länner gesuergt.

okerr ass net nëmmen Software, awer och e Service

De Server Deel vun all Iwwerwachung ass grouss a komplex, et ass schwéier ze installéieren an ze konfiguréieren, an et erfuerdert Ressourcen. Mat okerr kënnt Dir Ären eegene Iwwerwaachungsserver installéieren (et ass gratis an Opensource), oder Dir kënnt einfach nëmmen de Clientdeel benotzen an de Service vun eisem Server benotzen. Och gratis.

Wann d'Iwwerwaachung Iech erlaabt de Mangel un Zouverlässegkeet bei Serveren an Uwendungen ze kompenséieren an ze decken, da stellt sech eng philosophesch Fro - wien ass de Wuecht? Wéi wäert d'Iwwerwaachung eis iwwer e Problem soen, wann et selwer aus irgendege Grënn "gestuerwen" ass, getrennt oder zesumme mat Ären anere Ressourcen (zum Beispill, de Kanal an den Datenzenter gefall)? Wann Dir den externen Service okerr benotzt - dëse Problem ass geléist - Dir kritt eng Alarm och wann de ganzen Datenzenter mat Äre Serveren ouni Stroum ass oder vun Zombien attackéiert gëtt.

Natierlech gëtt et e Risiko datt den Okerr Server selwer net verfügbar ass, dat ass wouer (wéi Dir wësst, 90% Zouverlässegkeet gëtt ëmmer einfach a "gratis" kritt, 99% mat engem Minimum vun Effort, an all spéider néng ass exponentiell méi schwéier). Awer éischtens sinn d'Chancen datt dëst geschitt ass manner, an zweetens kann de Problem net bemierkt ginn nëmmen wann et mat Probleemer op eise Serveren fällt. Wa mir 99.9% Zouverlässegkeet hunn, an Dir hutt 99.9% (net ze héich Zuelen), dann ass d'Chance vun engem net entdeckt Echec 0.1% vun 0.1% = 0.0001%. Dräi Nénge fir Är Zouverlässegkeet bäizefügen bal ouni Effort an ouni Käschten ass ganz gutt!

Anere Virdeel vun Iwwerwachung als Service ass, datt e Hosting Provider oder Web Studio kann en okerr Server installéieren an Zougang zu Clienten als bezuelten oder gratis zousätzleche Service ubidden. Är Konkurrenten hu just Hosting a Websäiten, awer Dir hutt zouverléissege Hosting mat Iwwerwaachung.

Okerr ass iwwer Indicateuren

Den Indikator ass eng "Glühbir". Et huet zwee Haaptstaaten - gréng (OK) oder rout (ERR). De Projet enthält vill gruppéiert (zum Beispill duerch Server) Indikatoren. Op der Haaptsäit vum Projet gesitt Dir direkt datt entweder alles gréng ass (an Dir kënnt et zoumaachen), oder eppes ass rout beliicht a muss korrigéiert ginn. Beim Iwwergang tëscht dëse Staaten gëtt eng Alarm geschéckt. Eemol am Dag wärend Dir et opstellt, gëtt e Resumé vum Projet geschéckt.

Iwwersiicht vun der Okerr Hybrid Iwwerwachung System

All okerr Indikator huet gebaut-an Konditiounen duerch déi et Staat Ännerungen (an Zabbix dat ass en Ausléiser genannt). Zum Beispill, d'Laaschtduerchschnëtt soll net méi wéi 2 sinn (natierlech ass dëst konfiguréierbar). A fir all intern Scheck (Laaschtduerchschnëtt, Diskfräi, ...) gëtt et e Waachhond. Wa mir aus iergendengem Grond keng erfollegräich Bestätegung zu der ernannter Zäit kréien, gëtt e Feeler protokolléiert an eng Alarm geschéckt.

Eis üblech Aarbechtsmuster ass E-Maile moies ze kontrolléieren, a kuckt de Resumé ënner anerem Bréiwer (mir plangen et um Ufank vun der Aarbecht). Wann alles an der Rei ass, maache mir aner wichteg Saachen (awer fir sécher ze sinn, kënne mir séier op d'Okerra Dashboard kucken a sécherstellen datt alles am Moment gréng ass). Wann eng Alarm kënnt, reagéiere mir.

Natierlech ass et méiglech einfach "Informativ" Indikatoren ze halen (fir d'Bild vum Netz vun der Iwwerwaachung ze gesinn), awer alles gëtt gemaach fir einfach, einfach a séier Indikatoren speziell fir automatesch Iwwerwaachung an Alarm ze schécken.

Den Zweck fir deen Dir okerr opstellt ass an Alarmer, sou datt Dir en Indikator an enger Minutt erstellt, et kéint fir e Joer "schlofen", just Updates akzeptéieren, a wann e Joer méi spéit eppes brécht, hellt et op a schéckt eng alert. Déi Minutt déi Dir eemol verbruecht hutt fir en Indikator ze kreéieren huet sech bezuelt; Dir hutt direkt iwwer de Problem geléiert, ier iergendeen aneren. Et ass méiglech datt se et fixéiert hunn ier iergendeen et gemierkt huet. Eppes wat séier opgehuewe gëtt gëtt net als gefall ugesinn!

Sécherheet

Et wier schued wann Dir d'Iwwerwaachung opstellt fir d'Zouverlässegkeet ze erhéijen, awer als Resultat gëtt Dir iwwer d'Netzwierk duerch dat attackéiert, an et sinn zimlech vill Netzwierkschwieregkeeten a verschiddene Iwwerwaachungsinstrumenter (Zabbix, Nagios).

Agent (okerrmod vum Package okerrupdate) um System lafen ass keen Netzserver, mee e Client. Dofir ginn et keng zousätzlech oppe Ports um iwwerwaachte Server, de Client funktionnéiert einfach hannert enger Firewall oder NAT an ass ganz schwéier (ech géif soen "onméiglech") iwwer de Reseau ze hacken, well et am Prinzip net op d'Netz lauschtert Socket.

Voll Iwwerwaachungsofdeckung

Elo eis Regel ass, datt mir iwwer all technesch Problemer vun okerr léieren. Wann op eemol d'Regel verletzt ass (okerr huet net iwwer seng bevirsteet Optriede gewarnt (wann dat méiglech ass) oder datt et scho geschitt ass) - addéiere mer Kontrollen op okerr.

Extern Kontrollen

Ganz typesch Set:

  • Ping
  • http Status
  • d'Gëltegkeet an d'Frëschheet vum SSL Zertifika iwwerpréift (warnt wann et amgaang ass ofzelafen)
  • oppen TCP port a Banner op et
  • http grep (d'Säit [däerf net] bestëmmten Text enthalen)
  • sha1 Hash fir Säit Ännerungen ze fangen.
  • DNS (DNS Rekord muss e spezifesche Wäert hunn)
  • WHOIS (warnt wann d'Domain amgaang ass schlecht ze goen)
  • Antispam DNSBL (Hostcheck géint 50+ Antispam Blacklists gläichzäiteg)

Intern Kontrollen

Och e zimlech Standard Set (awer liicht erweiterbar).

  • df (fräi Disk Space)
  • Laascht Moyenne
  • opentcp (oppen TCP lauschteren Sockets - wäert matdeelen wann eppes ugefaang oder erofgefall ass)
  • uptime - just uptime um Server. Gitt matdeelen wann et geännert huet (dh de Server ass iwwerlaascht)
  • client_ip
  • dirsize - mir benotzen et fir ze verfolgen wann eis virtuell Maschinn rootfs déi erlaabt Gréisst iwwerschreiden, ouni strikt Restriktiounen anzeféieren, an d'Gréisst vun de Benotzer Heemverzeichnungen
  • eidel an net eidel - Monitor Dateien déi eidel solle sinn (oder net eidel). Zum Beispill, soll d'Feeler aloggen vun der okerr Server selwer eidel ginn, a wann et souguer eng Linn an der, Ech wäert eng Notifikatioun kréien a kontrolléieren. Mee mail.log op der Mail Server soll NET eidel ginn (N Minutten no Rotatioun). An heiansdo war et eidel fir eis no engem Systemaktualiséierung, wann logrotate rsyslog net korrekt konnt nei starten.
  • linecount - Zuel vun Zeilen an der Datei (wéi wc -l). Mir benotzen et als mëll Ersatz fir eidel, wann de Feeler Log kann nach wuessen, awer nëmme lues (zum Beispill, Googlebot Hits puer zougemaach Säiten). Et gëtt eng Limite vun 2 Linnen an 20 Minutten. Wann et méi héich ass, gëtt et eng Alarm

Interessant intern Kontrollen

Wann Dir bis elo "diagonal" gelies hutt, wäert et elo méi interessant sinn méi suergfälteg ze liesen.

Backups

Iwwerwaacht Backups am Verzeechnes. Eis Backupdateien hunn Nimm wéi "ServerName-20200530.tar.gz". Fir all Server an okerr gëtt den Indikator ServerName-DATE.tar.gz erstallt (den aktuellen Datum ännert sech op d'Linn "DATE"). Déi ganz Präsenz vun engem frësche Backup a seng Gréisst ginn och iwwerwaacht (zum Beispill kann et net manner wéi 90% vum fréiere Backup sinn).

Wat muss gemaach ginn fir datt en neie Backup ufänkt ze verfollegen nodeems mir ugefaang hunn et ze kreéieren an an dësem Verzeichnis ze setzen? Näischt! Dëst ass eng ganz bequem Approche wann Dir "näischt" maache musst well:

  • "Näischt" maachen ass zimlech séier, et spuert Zäit
  • Et ass schwéier ze vergiessen "näischt" ze maachen
  • Et ass schwéier "näischt" falsch ze maachen, mat engem Feeler. Näischt ass déi zouverlässegst Method

Wann op eemol frësch Backupdateien ophalen ze gesinn, gëtt et eng Alarm. Wann Dir zum Beispill ee vun de Serveren deaktivéiert hutt, an et sollt kee Backup méi sinn, musst Dir den Indikator läschen (iwwer de Webinterface oder aus der Shell iwwer d'API).

maxfilesz

Verfollegt d'Gréisst vun de gréisste Fichieren (typesch: /var/log/*). Dëst erlaabt Iech onberechenbar Probleemer ze fangen, zum Beispill Passwuert roden oder Spam duerch de Server schéckt.

runstatus / runline

Dëst sinn zwee wichteg Proxy Moduler fir aner Programmer um Server ze lafen. Runstatus mellt de Programmausgangscode un den Indikator. Zum Beispill, okerr net (verlaangen) e Modul fir eng kontrolléieren dass systemd Servicer lafen. Dëst gëtt iwwer Runstatus gemaach (kuckt hei ënnen). Runline - mellt dem Server d'Linn déi de Programm produzéiert. Zum Beispill, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp" an der Runline Configuratioun op eisem Server erstellt en Indikator Servernumm: Temp mat der Prozessortemperatur.

Sql

Féiert eng numeresch Ufro op MySQL aus a bericht d'Resultat un den Indikator. An engem einfache Fall kënnt Dir zum Beispill "SELECT 1" maachen - dëst wäert kontrolléieren datt d'DBMS als Ganzt funktionnéiert.

Awer eng vill méi interessant Applikatioun ass, zum Beispill, d'Zuel vun den Bestellungen an engem Online-Geschäft ze verfolgen. Wann Dir wësst datt Dir 100 oder méi Bestellungen pro Stonn hutt, kënnt Dir d'Mindestlimit op 100 oder 80 setzen. Dann wann Äre Verkaf op eemol falen, kritt Dir eng Alarm an Dir kënnt et erausfannen.

Notéiert datt et egal ass aus wéi engem onberechenbaren Grond dëst geschitt ass:

  • De Server ass einfach net verfügbar (energesch oder ouni Netzwierk), an d'Alarm koum aus der Tatsaach datt den Indikator "verrotten" war.
  • De Server ass mat eppes iwwerlaascht, et funktionnéiert lues oder Päck verluer, et ass onbequem fir d'Benotzer a si verloossen ouni Akeef ze maachen
  • De Server ass an de Spamlëschten abegraff an d'Mail dovun gëtt net ugeholl, d'Benotzer kënnen sech net registréieren
  • De Budget vun der Werbekampagne ass ausgaang, d'Banerer dréinen net.

Et kann eng Rei vu Grënn ginn, an all vun hinnen kann net am Viraus virausgesot ginn, an et ass technesch schwéier ze Streck. Awer Dir kënnt bequem de finalen Parameter (Bestellungen) iwwerwaachen a vun hinnen bestëmmen datt d'Situatioun verdächteg ass a verdéngt ze behandelen.

Logesch Indikatoren

Erlaabt d'Benotzung vu booleschen Ausdréck (Python Syntax) iwwer e Modul evaluéieren(Artikel iwwer Habré). Date vum Projet a seng Indikatoren si fir Ausdrock verfügbar. Zum Beispill, am Kapitel iwwer SQL Iwwerpréiwung uewendriwwer, hutt Dir vläicht e schwaache Punkt gemierkt - am Dag kënne mir 100 Verkaf pro Stonn hunn, awer an der Nuecht - 20, an dëst ass heefeg, kee Problem. Wat sollt ech maachen? Den Indikator wäert dauernd an der Nuecht panikéieren.

Dir kënnt zwee Indikatoren erstellen, Dag an Nuecht. Maacht béid "roueg" (si schécken keng Alarmer). A erstellt e logesche Indikator deen erfuerdert datt den Dag Indikator OK ass virun 20:00, an no 20:00 ass et genuch fir den Nuetsindikator OK ze sinn.

En anert Beispill fir e logesche Indikator ze benotzen ass Eskalatioun. Zum Beispill, e Projektmanager mellt sech vun Alarmer un (hien brauch dat net ze maachen, d'Administrateure sollen op normal Problemer reagéieren), awer abonnéiert op e logesche Indikator, dee rout gëtt, wann all Indikator am Projet net bannent der zougewisener Zäit korrigéiert gëtt.

Och ass et méiglech déi zulässlech Zäit fir Aarbecht ze setzen, zum Beispill vun 3 bis 5 Auer. Mir egal ob Server a Site während dëser Zäit Crash. Mee um 5:00 musse si schaffen. Wann se zu all aner Zäit net schaffen - alert. De logesche Indikator erlaabt Iech och Server Redundanz ze berücksichtegen. Wann Dir 5 Webserver hutt, da kënnen d'Administrateuren zu all Moment 1-2 Serveren ausschalten. Awer wann et manner wéi 3 vun 5 Serveren an der Schluecht sinn, gëtt et eng Alarm.

D'Beispiller uewendriwwer sinn net oker Funktiounen, net e puer Fonctiounen déi aktivéiert a konfiguréiert musse ginn. Okerra huet net all dës Funktiounen, awer et gëtt e logesche Modul deen Iech erlaabt dës Funktionalitéit ëmzesetzen (ongeféier wéi an enger Programméierungssprooch - wa mir arithmetesch Betreiber hunn, brauche mir keng speziell Funktioun fir 20% TVA ze berechnen aus der Sprooch, Dir kënnt et ëmmer selwer maachen et fir Äre Besoinen ze Kostüm).

Logik Indikator ass wahrscheinlech ee vun de puer relativ komplex Themen an okerr, mä déi gutt Noriicht ass, datt Dir et net Meeschtesch muss bis Dir musst. Awer gläichzäiteg erweideren se d'Fäegkeeten staark, wärend de System selwer ganz einfach behalen.

Füügt Är eege Schecken

Ech géif gären wierklech d'Iddi ze vermëttelen, datt okerr net eng Rei vun Dausende vun prett-feieren Schecken fir all Occasiounen ass, mä am Géigendeel - éischt vun all - eng einfach Moteur mat engem einfach Fähegkeet Är eege Schecken ze schafen. Är eege Schecken an okerr erstellen ass keng Aufgab fir Hacker, System Co-Entwéckler oder op d'mannst fortgeschratt okerr Benotzer, mee eng machbar Aufgab fir all Administrateur deen Linux fir d'éischte Kéier virun engem Mount installéiert huet.

Kontrollen op Mindestloun sinn duerch de Modul gemaach lafen Status:

Dës Linn an der Configuratioun lafen Status wäert Iech informéieren wann /bin/true op eemol net ufänkt oder eppes anescht wéi 0 zréckkënnt.

true_OK=/bin/true

Just eng Zeil - an hei si mir schonn e bëssen erweidert Funktionalitéit okerr.

Och esou e Scheck huet scho säi Wäert: wann op eemol Äre Server crasht, gëtt den entspriechende Indikator um okerr Server net fristgerecht aktualiséiert, a no der Zäit erschéngt eng Alarm.

Dës Scheck informéiert datt den Apache2 Server erofgefall ass (gutt, Dir wësst ni ...):

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

Also, wann Dir eng Programméierungssprooch schwätzt, an op d'mannst Shell-Skripte schreiwen, da kënnt Dir schonn Är eege Schecken derbäi.

Méi schwéier - Dir kënnt (an all Sprooch) Ären eegene Modul fir okerrmod schreiwen. Am einfachste Fall gesäit et esou aus:

#!/usr/bin/python3

print("STATUS: OK")

Ass et net ganz schwéier? De Modul muss de Scheck selwer maachen an d'Resultater op STDOUT ausginn. E méi komplexe Modul gëtt zum Beispill dëst:

$ 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

Et aktualiséiert e puer Indikatoren gläichzäiteg (getrennt vun enger eidel Linn), kreéiert se wann néideg, weist d'Verifizéierungsdetailer an e Tag mat deem et einfach ass déi néideg Indikatoren am Dashboard ze fannen.

Hëllefe profitéieren

Et gëtt en Telegram Bot @OkerrBot. Dir braucht Ären Telefon net mat getrennten Applikatiounen ze klären (ech hunn dat net gär fir Pyaterochka Dir braucht eng Applikatioun mat enger Kaart, fir Lenta eng aner, fir MTS en Drëttel, a sou weider fir jiddereen, all, all). Een Telegramm ass genuch. Duerch Telegramm kënnt Dir direkt Alarmer kréien, de Status vum Projet kontrolléieren an e Kommando ginn fir all problematesch Indikatoren ze iwwerpréiwen. Mir hunn den Theater/Fliger verlooss, zwee Stonne laang net de Fanger um Puls gehal, den Telefon ugeschalt, ee Knäppchen am Chatbot gedréckt, a séchergestallt datt alles gutt ass.

Status Säiten

Hautdesdaags si Statussäite bal e Must-Have fir all Geschäft deen IT huet, eng verantwortlech Haltung vis-à-vis vun Zouverlässegkeet an déi seng Clienten/Benotzer mat Respekt behandelt.

Stellt Iech eng Situatioun vir - e Benotzer wëll eppes maachen, Informatioun kucken oder eng Bestellung maachen, an eppes funktionnéiert net. Hie weess net wat lass ass, op senger Säit de Problem ass a wéini et geléist gëtt. Vläicht huet Är Firma einfach eng net funktionell Websäit? Oder ass et viru sechs Méint gebrach an et gëtt an zwee Joer fixéiert? Mee du muss elo e Frigo kafen, en ass schonn am Weenchen... An et ass eng ganz aner Saach, wann eng Persoun gesäit, datt eppes mat Iech falsch ass (op d'mannst ass et kloer, datt de Problem net op senger Säit ass), datt de Problem entdeckt gouf, datt Dir schonn dru schafft, a vläicht souguer déi geschätzte Zäit fir d'Korrektur opgeschriwwen. De Benotzer kann sech abonnéieren an eng E-Mail Notifikatioun kréien wann de Problem fixéiert ass an hie kann maachen wat hie wollt (e Frigo kafen).

Iwwersiicht vun der Okerr Hybrid Iwwerwachung System

Problemer an Ënnerbriechungen passéiere fir jiddereen. Awer d'Benotzer a Partner vertrauen méi déi, déi méi transparent a verantwortlech sinn an hirer Approche zu dësem.

hei Iwwerpréiwung vun 10 aner Projeten, déi erlaben Iech Status Säiten ze schafen. Hei sinn Beispiller vu wéi dës Projetssäiten ausgesinn Python и Dropbox. okerr Status Säit.

Failover

Fir dësen Artikel net nach méi laang ze maachen, verweisen ech nach eng Kéier op mäin viregten Artikel - Einfach Failover fir eng Websäit . Wann Dir en Duplikat-Server maache kënnt, da benotzt Dir Failover, hutt Dir grondsätzlech keng laang Ausdauer - soubal e Problem festgestallt gëtt, ginn d'Benotzer automatesch op e funktionnéierende Backup-Server ëmgeleet. An et schéngt mir datt dëst eng ganz interessant, hell Feature ass, déi selten iwwerall verfügbar ass.

Niddereg System Ufuerderunge

Fir okerr Serveren benotzt mir Maschinnen mat RAM aus 2Gb. Fir Netzwierksensoren ass och 512Mb genuch. De Client Deel ass allgemeng bal null. (Plastikbeutel okerrupdate weit 26 Kb, awer erfuerdert Python3 a Standardbibliothéiken). De Client leeft vun engem Cron-Skript, sou datt et null persistent Erënnerungsverbrauch huet. Ënnert de Maschinnen déi mir iwwerwaacht hunn, hu mir Sensoren (super-bëlleg VPS mat 512Mb RAM) an e Raspberry Pi. Et ass méiglech och ouni de Client Deel schécken Aktualiséierungen via Curl! (kuckt ënnen)

Maachen dëst Rechnung - okerr, wahrscheinlech meescht fräi Iwwerwachungssystem vun de verfügbaren, well och fir en anere gratis Open-Source System wéi Zabbix oder Nagios ze benotzen, musst Dir Ressourcen (Server) dozou zouginn, an dat ass scho Suen. Zousätzlech ass e puer Serverhaltung nach ëmmer erfuerderlech. Mat okerr kann dësen Deel geläscht ginn. Oder Dir musst et net ewechhuelen an Ären eegene Server benotzen, jee no wat Dir am Beschten gefällt.

API an Integratioun an propriétaire Software

Einfach an oppe Architektur. okerr huet eng flott einfach API, déi einfach ze schaffen ass. Braucht Dir 1000 Indikatoren ze kreéieren? Ee Shell-Skript vun 3-4 Zeilen wäert dat maachen. Braucht Dir 1000 Indikatoren nei ze konfiguréieren? Et ass och ganz einfach. Zum Beispill wëlle mir all eis HTTPS Zertifikater vun engem russesche Sensor duebel iwwerpréiwen:

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

Dir kënnt den Indikator mat eisem Client Modul aktualiséieren, och ouni et, just iwwer 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/

Dir kënnt Indikatoren direkt vun Ärem Programm aktualiséieren. Zum Beispill, schéckt Häerzschlag Signaler sou datt okerr weess, datt et leeft an hëlt en Alarm wann et Crash oder afréiert. Iwwregens, okerr Komponente maachen just dat - okerr iwwerwaacht selwer, a Problemer an bal all Modul gëtt entdeckt a generéiert eng Alarm iwwer de Problem. (An am Fall vun dësem "bal" - si gi vun engem anere Server iwwerpréift)

Hei ass de Code (vereinfacht) an eisem Telegram Bot:

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

Et gëtt eng Bibliothéik fir d'Aktualiséierung vun Indikatoren vu Python Programmer okerrupdate, fir all aner Sprooche gi keng Bibliothéiken, awer Dir kënnt entweder den okerrupdate-Skript ruffen oder eng HTTP-Ufro un den okerr-Server maachen.

Wéi okerr hëlleft eis

Okerr huet eist Liewen geännert. Tatsächlech. Vläicht en anert Iwwerwachungssystem kéint datselwecht maachen, awer mat okerr schaffen ass einfach an einfach fir eis an et huet all d'Funktiounen déi mir gebraucht hunn (mir bäigefüügt wat et net huet). Iwwregens, wann et e puer Fonctiounen vermësst, froen an ech wäert hinnen dobäi (ech verspriechen net, mee ech wëll okerr déi bescht Iwwerwachung System fir kleng-mëttel- Projeten). Oder nach besser, füügt et selwer derbäi - et ass einfach.

Mir hunn et fäerdeg bruecht nom Prinzip ze liewen "léiert iwwer all Probleemer vun der Kerra." Wann op eemol e Problem geschitt, datt mir net vun okerr geléiert hunn, mir dobäi eng kontrolléieren okerr. (an dësem Fall, mat "mir" mengen ech eis als Benotzer vum System, net Co-Entwéckler). Am Ufank war dëst allgemeng, awer elo ass et ganz rar ginn.

Iwwerwaachung

Duerch okerr iwwerwaachen mir de Loggréisst op all Server. Et ass natierlech onméiglech all Zeil vum Logbuch mat Ären Aen nodenklech ze liesen, awer einfach d'Iwwerwaachung vum Wuesstumsquote gëtt scho vill. Duerch dëst hu mir Spam-Mailing a brute Force Passwuert Sichen entdeckt, a wann e puer vun den Uwendungen "verréckt ginn", funktionnéiert eppes fir si net a si widderhuelen et ëmmer erëm (all Kéier e puer Zeilen an de Log bäigefüügt ).

SSL Certificaten. Bal direkt nom Start Léisst Encrypt eise Client huet ugefaang gratis SSL Certificaten u senge Clienten ze liwweren (ongeféier dausend vun hinnen). An et huet sech just als Häll fir d'Administratioun erausgestallt! D'Tatsaach ass datt Siten "liewen" sinn, Clienten froen se periodesch eppes ze maachen, Programméierer maachen et. Si kënnen de Site komplett fräi op en aneren DocumentRoot transferéieren, zum Beispill. Oder füügt eng bedingungslos Rewrite un d'virtuellhost Konfiguratioun. Natierlech, duerno brécht d'automatesch Erneierung vun den Certificaten. Elo hu mir all SSL Hosten op okerr automatesch duerch eng aner vun eisen nëtzlechen Utilities aus dem Package bäigefüügt a2 konf. Loosst eis just starten a2okerr.py - a wann e puer nei Siten schéngen op de Server, se wäert schéngen automatesch an okerr. Wann op eemol aus iergendengem Grond den Zertifikat net erneiert gëtt, dräi Woche virum Oflaf vum Zertifika, si mir am Wëssen, a mir wäerten erausfannen, firwat et net aktualiséiert gëtt, sou en Hond. a2certbot.py aus dem selwechte Pak - et hëlleft vill mat dësem (et kontrolléiert direkt déi meescht wahrscheinlech Problemer - a schreift wat gutt gepréift gouf, a wou et héchstwahrscheinlech e Problem ass).

Mir iwwerwaachen den Verfallsdatum vun all eisen Domainen. An all eis Mailserveren, déi E-Mail schécken, ginn och géint 50+ verschidde schwaarze Lëschte gepréift. (An heiansdo falen se an hinnen). Wousst Dir iwwregens datt Google Mail Serveren och op der schwaarzer Lëscht sinn? Just fir Selbsttesten hu mir Mail-wr1-f54.google.com op déi iwwerwaachte Server bäigefüügt, an et ass nach ëmmer op der SORBS Blacklist! (Dëst ass iwwer de Wäert vun "Anti-Spammer")

Backups - Ech geschriwwen schonn uewendriwwer wéi einfach se mat okerr ze kontrolléieren ass. Awer mir iwwerwaachen souwuel déi lescht Backups op eisem Server an (mat engem separaten Utility deen okerr benotzt) d'Backups déi mir op Amazon Glacier eropluede. An, jo, Problemer geschéien vun Zäit zu Zäit. Kee Wonner, datt se kucken.

Mir benotzen den Eskalatiounsindikator. Et weist ob e Problem fir eng laang Zäit net fixéiert gouf. An ech selwer, wann ech e puer Problemer léisen, heiansdo kann ech se vergiessen. Eskalatioun ass eng gutt Erënnerung, och wann Dir Iech selwer iwwerwaacht.

Insgesamt gleewen ech datt d'Qualitéit vun eiser Aarbecht ëm eng Uerdnung vun der Gréisst eropgaang ass. Et gëtt bal keng Ausdauer (oder de Client huet keng Zäit et ze bemierken. Just shh!), Während d'Quantitéit vun der Aarbecht méi kleng ginn ass an d'Aarbechtsbedingunge méi roueg ginn. Mir sinn vun der Noutaarbecht mat Lachlächer mat Band op eng roueg a gemooss Aarbecht geplënnert, wa vill Problemer am Viraus virausgesot sinn an et Zäit ass fir se ze verhënneren. Och Problemer, déi geschitt sinn, sinn och méi einfach ze fixéieren ginn: éischtens gi mir iwwer si gewuer ier d'Clienten panikéieren, an zweetens geschitt et dacks datt de Problem mat rezenter Aarbecht verbonnen ass (während ech eng Saach gemaach hunn, hunn ech eng aner gebrach) - also et ass waarm Et ass méi einfach fir Spueren domat ze këmmeren.

Awer et war en anere Fall ...

Wousst Dir datt am populäre Debian 9 (Stretch) sou e populäre Package wéi phpmyadmin nach ëmmer (fir vill Méint!) am vulnérable Status ass? (CVE-2019-6798). Wann d'Schwachheet entstanen ass, hu mir se séier op verschidde Weeër ofgedeckt. Mee ech Ariichten Iwwerwachung vun der Sécherheet-Tracker Säit an okerr ze wëssen, wann eng "schéin" Léisung wäert kommen aus (via der SHA1 Zomm vum Inhalt). Den Indikator huet mech e puer Mol gedréckt, d'Säit huet geännert, awer wéi Dir gesitt, ass et nach ëmmer (zënter Januar 2019!) Beweist net datt de Problem geléist gouf. Vläicht weess iwwregens een wat de Problem ass, datt esou e wichtege Pak nach méi wéi engem Joer vulnerabel ass?

Eng aner Kéier an enger ähnlecher Situatioun: no enger Schwachstelle am SSH war et néideg fir all Server ze aktualiséieren. A wann Dir eng Aufgab setzt, musst Dir d'Ausféierung kontrolléieren. (Ënnergeuerdnete tendéieren zu Mëssverständnis, vergiessen, duerchernee ginn a Feeler maachen). Dofir hu mir éischt eng SSH Versioun kontrolléieren ze okerr op all Serveren dobäi, an duerch okerr mir gesuergt, datt Aktualiséierungen op all Serveren ausgerullt goufen. (Bequem! Ech hunn dës Zort Luucht gewielt, an Dir kënnt direkt gesinn wéi eng Server déi Versioun huet). Wa mir sécher waren datt d'Aufgab op all Server fäerdeg war, hu mir d'Indicateuren ewechgeholl.

E puer Mol gouf et eng Situatioun wou e bestëmmte Problem entsteet, an dann eleng geet. (wahrscheinlech jidderengem vertraut?). Wann Dir bemierkt, wann Dir iwwerpréift - an et ass näischt ze kontrolléieren - alles funktionnéiert scho gutt. Mee dann brécht et nees. Mir haten dat geschitt, zum Beispill, mat Produkter déi mir op Amazon Marketplace (MWS) eropgelueden hunn. Irgendwann war de geluedenen Inventar falsch (falsch Quantitéite vu Wueren a falsch Präisser). Mir hunn et erausfonnt. Mä fir et erauszefannen, war et wichteg, direkt iwwer de Problem erauszefannen. Leider ass MWS, wéi all Amazon Servicer, e bësse lues, sou datt et ëmmer eng Lag war, awer trotzdem, mir konnten op d'mannst d'Verbindung tëscht dem Problem an de Skripte déi et verursaachen (mir hunn e Scheck gemaach, hänke bliwwen) et un der okerr, a kontrolléiert et direkt eng Alarm kritt).

En interessanten Fall gouf viru kuerzem an d'Kollektioun bäigefüügt vun engem groussen an deieren europäesche Hoster, deen eise Client benotzt. Op eemol sinn ALL eis Server vum Radar verschwonnen! Éischten, de Client selwer (méi séier wéi okerra!) Gemierkt, datt de Site hie mat schaffen net opgemaach an huet en Ticket doriwwer. Awer net nëmmen ee Site ass erofgaang, mee all vun hinnen! (Natasha, mir hunn alles erofgelooss!). Hei huet den Okerr ugefaang laange Fousswraps mat all den Indikatoren ze schécken, déi fir hien beliichten. Panik, Panik, mir lafen a Kreeser (wat soss kënne mir maachen?). Dunn ass alles opgestan. Et stellt sech eraus datt et routinéiert Ënnerhalt am Datenzenter war (eemol all Joer) an natierlech sollte mir gewarnt ginn. Awer eng Aart vu Problem ass hinnen geschitt a si hunn eis net gewarnt. Gutt, méi Häerzattacken, manner Häerzattacken. Awer nodeems alles restauréiert ass, musst Dir alles duebel iwwerpréiwen! Ech ka mir net virstellen wéi ech et mat mengen Hänn maachen. Okerr huet alles an e puer Minutten getest. Et huet sech erausgestallt datt déi meescht Serveren einfach temporär net verfügbar waren, awer si hunn geschafft. Verschiddener waren iwwerlaascht, sinn awer och opgestan wéi se sollten. Vun all de Verloschter hu mir zwee Backups verluer, déi no der Kroun sollten erstallt a gelueden sinn, während dës voll Bananen lass war. Ech hu mech net emol beméit se ze kreéieren, just een Dag méi spéit koumen Alarmer datt alles an der Rei war, Backups erschéngen. Ech hunn dëst Beispill wierklech gär well okerr ganz nëtzlech ass an enger Situatioun, déi mir net emol am Viraus geduecht hunn, awer dat ass den Zweck vun der Iwwerwaachung - fir géint déi onberechenbar ze widderstoen.

Fir Okerr Sensoren benotze mir déi bëllegst méiglech Hosting (wou Qualitéit an Zouverlässegkeet net wichteg sinn, si versécheren sech). Also, mir hunn viru kuerzem e ganz gudde Hosting a super bëlleg fonnt, d'Benchmarks sinn genial. Awer ... heiansdo stellt sech eraus datt erausgaang Verbindunge vun der virtueller Maschinn aus enger anerer (Nopesch) IP gemaach ginn. Wonner. Client_ip Modul mat https://diagnostic.opendns.com/myip kritt déi falsch IP. An aus de Server Logbicher vun der Luucht ass kloer, datt d'Aktualiséierung och aus dëser Nopeschlänner IP koum. Loosst eis elo mat der Ënnerstëtzung beschäftegen. Et ass gutt, datt mir dat a Friddenszäit gemierkt hunn. Awer zum Beispill geschitt et dacks datt den Zougang no der IP wäiss Lëscht registréiert gëtt - a wann de Server heiansdo sou kuerz Zäit blénkt - kënnt Dir probéieren dëse Problem fir eng ganz laang Zäit ze fangen.

Gutt, eng méi Saach - well mir iwwer VPS Hosting schwätzen - benotze mir ëmmer bëlleg (hetzner, ovh, scaleway). Ech hunn et wierklech gär souwuel a punkto Benchmarks a Stabilitéit. Mir benotzen och déi vill méi deier Amazon EC2 fir aner Projeten. Also, merci fir okerr, mir hunn eis eege informéiert Meenung. Déi zwee falen. An ech géif net soen datt iwwer déi laang Period vun eisen Observatioune bëlleg Hostings wéi Hetzner bemierkbar manner stabil waren wéi EC2. Dofir, wann Dir net un aner Amazon Feature gebonnen sidd, firwat méi bezuelen? 🙂

Wat d'nächst?

Wann ech op dëser Etapp dech nach net vun Okerr erschreckt hunn, da probéiert et! Dir kënnt direkt op dëse Link goen okerr Demo Kont (Klickt elo!) Awer denkt drun datt et nëmmen een Demo Kont fir jiddereen ass, also wann Dir eppes maacht, kann een aneren am selwechte Kont Iech gläichzäiteg stéieren. Oder (besser) aschreiwen iwwer de Link op offsite okerr - alles ass einfach, ouni SMS. Wann Dir net gär Är richteg E-Mail benotze wëllt, kënnt Dir e Wegwerf benotzen, wéi Mailinator (ech recommandéieren getnada.com). Esou Konte kënne mat der Zäit geläscht ginn, awer si si gutt fir ze testen.

No der Umeldung gitt Dir gefrot fir Training ze maachen (e puer net ganz schwéier Trainingsaufgaben ausféieren). Déi initial Limite si ganz kleng, awer fir Training oder e Server si se genuch. Nom Ofschloss vun der Formatioun ginn d'Limiten (zum Beispill déi maximal Unzuel vun Indikatoren) erhéicht.

Vun der Dokumentatioun - éischtens WIKI op der Server Säit an um Client (okerrupdate Wiki). Awer wann eppes onkloer ass, schreift Iech un d'Ënnerstëtzung (at) okerr.com oder loosst en Ticket - mir probéieren alles séier ze léisen.

Wann Dir et eescht benotzt an dës erhéicht Grenzen net genuch sinn, schreiwt fir ze ënnerstëtzen a mir wäerte se erhéijen (gratis).

Wëllt Dir den okerr Server op Ärem Server installéieren? Hei okerr-dev Repository. Mir recommandéieren Iech op enger propperer virtueller Maschinn z'installéieren, da kënnt Dir et einfach mat engem Installatiounsskript maachen. Op Ärer virtueller Maschinn - keng Restriktiounen :-). Gutt, erëm, wann eppes geschitt, wäerte mir ëmmer probéieren ze hëllefen.

Mir wëllen, datt dëse Projet ufänkt, fir datt d'Welt duerch eis méi zouverlässeg gëtt. Dank gratis Software a Servicer ass d'Welt méi frëndlech ginn an entwéckelt sech méi dynamesch. Quelle kënnen a gratis github gespäichert ginn, fir Mail kënnt Dir gratis Gmail benotzen. Mir benotzen gratis freshworks fir Ënnerstëtzung. Fir all vun dëser, Dir braucht net fir Serveren ze bezuelen, Dir musst net eroflueden an configuréieren, an Dir musst net verschidden operationell Problemer léisen. All neie Projet, all Team huet direkt Mail, Repositories a CRM. An all dat ass ganz héich Qualitéit a gratis an direkt. Mir wëllen datt et d'selwecht ass fir d'Iwwerwaachung - kleng Entreprisen a Projeten kéinten okerr gratis benotzen an och op der Gebuertsstad a Wuesstum hunn d'Zouverlässegkeet vun erwuessene seriöse Projeten.

Source: will.com