Panoramica di u sistema di monitoraghju hibridu Okerr

Dui anni fà aghju digià fattu un postu Semplice failover per un situ web circa . Avà ci hè qualchì sviluppu di u prugettu, è aghju ancu publicatu okerr codice fonte di u latu di u servitore sottu a licenza aperta, Hè per quessa ch'e aghju decisu di scrive sta breve recensione nantu à Habr.

Panoramica di u sistema di monitoraghju hibridu Okerr
[ grandezza ]

À quale pò interessà

Questu pò esse d'interessu per voi se travagliate in una piccula squadra o solu. Ùn avete micca monitoraghju è ùn sapete micca sicuru d'avè veramente bisognu. O avete pruvatu qualchì monitoraghju seriu populari "per i grandi picciotti", ma in qualchì modu "ùn hè micca toltu" per voi, o funziona in una cunfigurazione quasi predeterminata è ùn hà micca cambiatu assai a vostra vita. È ancu - s'ellu ùn avete micca pensatu di assignà un impiigatu sanu (o ancu un dipartimentu) per monitorà u dashboard di monitoraghju almenu un paru d'ore à ghjornu o cunfigurà lu.

Perchè okerr hè inusual

In seguitu, vi mustrarà e caratteristiche interessanti di l'okerra chì a distingue da qualchi altri sistemi di surviglianza.

Okerr hè un monitoraghju hibridu

Durante u monitoraghju internu, un "agentu" hè in esecuzione nantu à e macchine monitorate, chì trasmette dati à u servitore di monitoraghju (per esempiu, spaziu di discu liberu). Quandu l'esterno, u servitore esegue cuntrolli nantu à a reta (per esempiu, ping o dispunibilità di u situ web). Ogni approcciu hà e so limitazioni. Okerr usa e duie opzioni. I cuntrolli in i servitori sò eseguiti da un agentu assai ligeru (30Kb) o da i vostri scripts è applicazioni, è i cuntrolli di a rete sò realizati per mezu di sensori okerr in diversi paesi.

okerr ùn hè micca solu software, ma ancu un serviziu

A parte di u servitore di ogni monitoraghju hè grande è cumplessu, hè difficiule di stallà è cunfigurà, è esige risorse. Cù okerr pudete installà u vostru servitore di monitoraghju (hè liberu è opensource), o pudete simpricimenti aduprà solu a parte di u cliente è aduprà u serviziu di u nostru servitore. Ancu liberu.

Se u monitoraghju vi permette di cumpensà è copre a mancanza di affidabilità in i servitori è l'applicazioni, allora una quistione filusòfica hè - quale hè a guardia? Cumu u monitoraghju ci dicerà di un prublema si ellu stessu "morse" per qualchì mutivu, separatamente o inseme cù e vostre altre risorse (per esempiu, u canali à u centru di dati hè cascatu)? Quandu si usa u serviziu esternu okerr - stu prublema hè risolta - riceverete una alerta ancu s'è tuttu u centru di dati cù i vostri servitori hè senza putere o hè attaccatu da zombies.

Benintesa, ci hè u risicu chì u servitore okerr stessu ùn sia micca dispunibile. Cum'è sapemu, l'affidabilità di u 90% hè sempre ottenuta facilmente è "gratuitamente", u 99% cù un sforzu minimu, è ogni nove successivi hè esponenzialmente più difficiule. Ma, prima, e probabilità chì questu accada sò più basse, è secondu, u prublema pò passà inosservatu solu s'ellu coincide cù prublemi nantu à i nostri servitori. Sè avemu affidabilità, 99.9%, è tù 99.9% (micca numeri troppu alti), tandu a probabilità di un fallu micca rilevatu hè 0.1% di 0.1% = 0.0001%. Aghjunghje trè nove à a vostra affidabilità senza quasi nisun sforzu è senza costu hè abbastanza bè!

Un altru vantaghju di u monitoraghju cum'è serviziu hè chì un fornitore di hosting o studio web pò installà un servitore okerr è furnisce l'accessu à i clienti cum'è un serviziu supplementu pagatu o liberu. I vostri cuncurrenti anu solu hosting è siti web, ma avete un hosting affidabile cun monitoraghju.

Okerr hè circa indicatori

L'indicatore hè una "lampadina". Hà dui stati principali - verde (OK) o rossu (ERR). U prughjettu cuntene assai indicatori raggruppati (per esempiu, per servitore). In a pagina principale di u prughjettu, vi vede immediatamente chì o tuttu hè verde (è pudete chjude), o qualcosa hè rossu è deve esse currettu. Quandu si passa trà sti stati, una alerta hè mandata. Una volta à ghjornu, mentre chì u stallate, un riassuntu di u prugettu hè mandatu.

Panoramica di u sistema di monitoraghju hibridu Okerr

Ogni indicatore okerr hà cundizzioni integrate da quale cambia u statu (in Zabbix questu hè chjamatu trigger). Per esempiu, a media di carica ùn deve esse più di 2 (di sicuru, questu hè configurabile). È per ogni cuntrollu internu (media di carica, senza discu, ...) ci hè un watchdog. Se per una certa ragione ùn avemu micca ricevutu una cunferma di successu à l'ora stabilita, un errore hè registratu è una alerta hè mandata.

U nostru mudellu di travagliu abituale hè di verificà e-mail in a matina, è fighjate u riassuntu trà altre lettere (l'avemu pianificatu à u principiu di u travagliu). Se tuttu hè bè in questu, facemu altre cose impurtanti (ma per esse sicuru, pudemu guardà rapidamente à u dashboard okerra è assicuratevi chì tuttu hè verde in questu mumentu). S'ellu ghjunghje una alerta, reagiscemu.

Di sicuru, hè pussibule di mantene l'indicatori "informattivi" (per vede a stampa di a rete da u monitoraghju), ma tuttu hè fattu per creà facilmente, facilmente è rapidamente indicatori specifichi per u monitoraghju automaticu è l'inviu di alerti.

U scopu per quale avete stallatu okerr hè in alerti, perchè pudete creà un indicatore in un minutu, puderia "durmi" per un annu, solu accettà l'aghjurnamenti, è quandu un annu dopu qualcosa si rompe, si accende è manda. una alerta. U minutu chì avete passatu à creà un indicatore hà pagatu u prublema immediatamente, prima di qualcunu. Hè pussibule chì l'anu riparatu prima chì qualcunu s'avvisa. Qualcosa chì hè risuscitatu rapidamente ùn hè micca cunsideratu chì hè cascatu!

Seguretat

Saria una vergogna se cunfigurà u monitoraghju per l'aumentu di l'affidabilità, ma in u risultatu, site attaccatu nantu à a reta attraversu, è ci sò assai vulnerabilità di a rete in diversi strumenti di monitoraghju (Zabbix, Nagios).

Agente (okerrmod da u pacchettu okerrupdate) in esecuzione nantu à u sistema ùn hè micca un servitore di rete, ma un cliente. Per quessa, ùn ci sò micca porti aperti supplementari nantu à u servitore monitoratu, u cliente travaglia facilmente daretu à un firewall o NAT è hè assai difficiule (dicu "impossibile") per pirate nantu à a reta, postu chì in principiu ùn sente micca a reta. presa.

Copertura di monitoraghju cumpleta

Avà a nostra regula hè chì avemu amparatu nantu à tutti i prublemi tecnichi da okerr. Se di colpu a regula hè violata (okerr ùn hà micca avvistatu nantu à a so imminenti occurrence (se questu hè pussibule) o chì hè digià accadutu) - aghjunghjemu cuntrolli à okerr.

Cuntrolli esterni

Un set abbastanza tipicu:

  • ping
  • status http
  • cuntrollà a validità è a freschezza di u certificatu SSL (aviserà s'ellu hè per scadenza)
  • apre u portu TCP è u banner nantu à questu
  • http grep (a pagina [ùn deve micca] cuntene un certu testu)
  • sha1 hash per catturà i cambiamenti di pagina.
  • DNS (le record DNS deve avè un valore specificu)
  • WHOIS (avvertirà se u duminiu hè per andà male)
  • Antispam DNSBL (verificate di l'ospite contr'à 50+ liste nere antispam à una volta)

Cuntrolli interni

Inoltre, un settore abbastanza standard (ma facilmente espansibile).

  • df (spaziu di discu liberu)
  • carica media
  • opentcp (aperte i sockets d'ascolta TCP - avviserà se qualcosa hà cuminciatu o s'hè lampatu)
  • uptime - solu uptime nantu à u servitore. Avviserà s'ellu hè cambiatu (vale à dì chì u servitore hè sovraccaricatu)
  • client_ip
  • dirsize - l'utilicemu per seguità quandu i nostri rootfs di a nostra macchina virtuale superanu a dimensione permessa, senza introduzione di restrizioni strette, è a dimensione di i cartulari di casa di l'utilizatori
  • viotu è micca viotu - monitorà i schedari chì deve esse viotu (o micca viotu). Per esempiu, u logu d'errore di u servitore okerr stessu deve esse viotu, è se ci hè ancu una linea in questu, riceveraghju una notificazione è verificate. Ma mail.log nantu à u servitore di mail ùn deve esse viotu (N minuti dopu a rotazione). È qualchì volta era viotu per noi dopu un aghjurnamentu di u sistema, quandu logrotate ùn pudia micca riavvia rsyslog currettamente.
  • linecount - numeru di linii in u schedariu (cum'è wc -l). Avemu aduprà cum'è un rimpiazzamentu più suave per viotu, quandu u logu d'errore pò ancu cresce, ma solu lentamente (per esempiu, Googlebot hits some pages closed). Ci hè un limitu di 2 linee in 20 minuti. S'ellu hè più altu, ci sarà una alerta

Cuntrolli interni interessanti

Se avete lettu "diagonalmente" finu à questu puntu, avà serà più interessante di leghje più attentamente.

copia di salvezza

Monitors backups in u cartulare. I nostri fugliali di salvezza anu nomi cum'è "ServerName-20200530.tar.gz". Per ogni servitore in okerr, l'indicatore ServerName-DATE.tar.gz hè creatu (a data attuale cambia à a linea "DATE"). A stessa prisenza di una copia di salvezza fresca è a so dimensione sò ancu monitorate (per esempiu, ùn pò esse menu di 90% di a copia di salvezza precedente).

Chì ci vole à fà per una nova copia di salvezza per cumincià à esse tracciata dopu avè principiatu à creà è mette in questu repertoriu? Nunda ! Questu hè un accostu assai convenientu quandu avete bisognu di fà "nunda" perchè:

  • Fà "nunda" hè abbastanza veloce, risparmia u tempu
  • Hè difficiuli di scurdà di fà "nunda"
  • Hè difficiuli di fà "nunda" di male, cù un errore. Nunda hè u metudu più affidabile

Se di colpu i fugliali di salvezza freschi cessanu di apparisce, ci sarà una alerta. Se, per esempiu, avete disattivatu unu di i servitori, è ùn deve esse più copia di salvezza, avete bisognu di sguassà l'indicatore (via l'interfaccia web o da a cunchiglia via l'API).

maxfilesz

Mantene a traccia di a dimensione di i fugliali più grandi (tipicamenti: /var/log/*). Questu permette di catturà prublemi imprevisible, per esempiu, password di forza bruta o mandà spam à traversu u servitore.

runstatus/runline

Quessi sò dui moduli proxy impurtanti per eseguisce altri prugrammi nantu à u servitore. Runstatus riporta u codice di uscita di u prugramma à l'indicatore. Per esempiu, okerr ùn hà micca (necessita) un modulu per verificà chì i servizii di sistema sò in esecuzione. Questu hè fattu via runstatus (vede sottu). Runline - informa à u servitore a linea chì u prugramma pruduce. Per esempiu, temp_RUN="cat /sys/class/thermal/thermal_zone0/temp" in u Runline config in u nostru servitore crea un indicatore servername:temp cù a temperatura di u processatore.

sql

Esegue una dumanda numerica à MySQL è rende u risultatu à l'indicatore. In un casu simplice, pudete fà, per esempiu, "SELECT 1" - questu verificarà chì u DBMS in tuttu hè travagliatu.

Ma una applicazione assai più interessante hè, per esempiu, seguità u numeru di ordini in una tenda online. Se sapete chì avete 100 o più ordini per l'ora, pudete stabilisce u limitu minimu à 100 o 80. Allora, se e vostre vendite sguassate di colpu, riceverete una alerta è pudete calculà.

Nota chì ùn importa micca per quale mutivu imprevisible hè accadutu:

  • U servitore hè simplicemente indisponibile (de-energized o senza una reta), è l'alerta hè vinuta da u fattu chì l'indicatore era "rotten".
  • U servitore hè sovraccaricatu di qualcosa, funziona lentamente o i pacchetti sò persi, hè incunificatu per l'utilizatori è partenu senza fà compra.
  • U servitore hè inclusu in i listi di puzzicheghju è u mail da ellu ùn hè micca accettatu, l'utilizatori ùn ponu micca registrà
  • U budgetu di a campagna di publicità hè finitu, i banners ùn sò micca spinning.

Ci pò esse un numeru di mutivi, è tutti ùn pò esse previstu in anticipu, è hè tecnicamente difficiule à seguità. Ma pudete cuntrollà convenientemente u paràmetru finali (ordini) è stabilisce da elli chì a situazione hè suspettuosa è meriteghja esse trattata.

Indicatori lògichi

Permette l'usu di espressioni booleane (sintassi Python) via un modulu cunvalidà(articulu nantu à Habré). I dati di u prugettu è i so indicatori sò dispunibuli per l'espressione. Per esempiu, in u capitulu nantu à a verificazione SQL sopra, pudete avè nutatu un puntu debule - durante u ghjornu pudemu avè 100 vendite per ora, ma di notte - 20, è questu hè cumunu, micca un prublema. Chì devu fà? L'indicatore sarà sempre in panicu di notte.

Pudete creà dui indicatori, ghjornu è notte. Fate tramindui "silenziu" (ùn mandaranu micca avvisi). E crea un indicatore logicu chì esige chì l'indicatore di ghjornu sia OK prima di 20:00, è dopu à 20:00 hè abbastanza per l'indicatore di notte per esse OK.

Un altru esempiu di utilizà un indicatore logicu hè escalation. Per esempiu, un capu di prughjettu annunzià l'alerta (ùn hà micca bisognu di fà questu, l'amministratori duveranu risponde à i prublemi nurmali), ma sottumette à un indicatore logicu chì diventa rossu se qualsiasi indicatore in u prughjettu ùn hè micca currettu in u tempu attribuitu.

Inoltre, hè pussibule stabilisce u tempu permessu per u travagliu, per esempiu, da 3 à 5 am. Ùn ci importa micca se i servitori è i siti crash durante stu tempu. Ma à 5:00 anu da travaglià. Sì ùn anu micca travagliatu in ogni altru tempu - alerta. L'indicatore logicu permette ancu di piglià in contu a redundanza di u servitore. Sì avete 5 servitori web, allora l'amministratori ponu disattivà 1-2 servitori in ogni mumentu. Ma s'ellu ci hè menu di 3 di 5 servitori in battaglia, ci sarà una alerta.

L'esempii sopra ùn sò micca funzioni oker, micca alcune funzioni chì deve esse attivate è cunfigurate. Okerra ùn hà micca tutte queste funzioni, ma ci hè un modulu lògicu chì vi permette di implementà sta funziunalità (Approssimativamente cum'è in una lingua di prugrammazione - se avemu operatori aritmetici, allora ùn avemu micca bisognu di una funzione speciale per calculà 20% VAT. da a lingua, pudete sempre fà per voi stessu fà per adattà à i vostri bisogni).

L'indicatore logicu hè probabilmente unu di i pochi temi relativamente cumplessi in okerr, ma a bona nutizia hè chì ùn avete micca bisognu di maestru finu à chì avete bisognu. Ma à u stessu tempu, allarganu assai e capacità, mantenendu u sistema stessu abbastanza simplice.

Aghjunghjendu i vostri cuntrolli

Mi piacerebbe veramente trasmette l'idea chì okerr ùn hè micca un inseme di millaie di cuntrolli pronti per tutte l'occasioni, ma à u cuntrariu - prima di tuttu - un mutore simplice cù una capacità simplice di creà i vostri cuntrolli. A creazione di i vostri cuntrolli in okerr ùn hè micca un compitu per i pirate, i co-sviluppatori di u sistema, o almenu utilizatori avanzati di okerr, ma un compitu fattibile per qualsiasi amministratore chì hà stallatu Linux per a prima volta un mese fà.

I cuntrolli nantu à i salari minimi sò fatti attraversu u modulu runstatus:

Questa linea in a cunfigurazione runstatus vi avviserà se /bin/true di colpu ùn principia micca o torna qualcosa altru chè 0.

true_OK=/bin/true

Solu una linea - è quì simu digià un pocu allargatu funziunalità okerr.

Ancu una tale verificazione hà digià u so valore: se di colpu u vostru servitore cade, l'indicatore currispundente nantu à u servitore okerr ùn serà micca aghjurnatu in u tempu, è dopu chì u tempu hè passatu, una alerta appariscerà.

Questa verificazione avvisarà chì u servitore apache2 hè cascatu (bene, ùn sapete mai ...):

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

Allora, se parlate qualsiasi lingua di prugrammazione, è almenu pudete scrive script di shell, pudete digià aghjunghje i vostri cuntrolli.

Più difficiuli - pudete scrive (in ogni lingua) u vostru propiu modulu per okerrmod. In u casu più simplice, pare cusì:

#!/usr/bin/python3

print("STATUS: OK")

Ùn hè micca assai difficiule ? U modulu deve fà u cuntrollu stessu è trasmette i risultati à STDOUT. Un modulu più cumplessu dà, per esempiu, questu:

$ 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

Aghjurnà parechji indicatori à una volta (separati da una linea viota), li crea se ne necessariu, indica i dettagli di verificazione è un tag per quale hè faciule truvà l'indicatori necessarii in u dashboard.

n'ambasciata

Ci hè un bot di Telegram @OkerrBot. Ùn avete micca bisognu di u vostru telefunu cù applicazioni separati (ùn mi piace micca chì per Pyaterochka avete bisognu di una applicazione cù una mappa, per Lenta un altru, per MTS un terzu, è cusì per tutti, tutti, tutti). Un telegramma hè abbastanza. Per mezu di u telegramma, pudete riceve immediatamente avvisi, verificate u statutu di u prugettu è dà un cumandamentu per verificà tutti l'indicatori problematici. Lasciamu u teatru / l'aviò, ùn mantenemu micca u nostru dettu nantu à u pulsu per duie ore, accendemu u telefunu, pressu un buttone in u chatbot, è assicuratevi chì tuttu era bè.

Pagine di Status

Oghje, e pagine di statutu sò quasi un must have per ogni impresa chì hà IT, una attitudine rispunsevuli versu l'affidabilità è chì tratta i so clienti / utilizatori cun rispettu.

Immaginate una situazione - un utilizatore vole fà qualcosa, vede l'infurmazioni o fate un ordine, è qualcosa ùn viaghja micca. Ùn sà micca ciò chì succede, da quale latu hè u prublema è quandu serà risolta. Forsi a vostra cumpagnia hà solu un situ web micca funziunale? O s'hè rottu sei mesi fà è serà riparatu in dui anni ? Ma avete bisognu di cumprà un frigorifero avà, hè digià in u carrettu ... È hè una materia completamente diversa quandu una persona vede chì qualcosa hè sbagliatu cun voi (almenu hè chjaru chì u prublema ùn hè micca da u so latu), chì u u prublema hè statu scupertu, chì site digià travagliatu, è forsi ancu hà scrittu u tempu apprussimativu per a correzione. L'utilizatore pò abbunà è riceve una notificazione per email quandu u prublema hè risolta è pò fà ciò chì vulia (cumprà un frigorifero).

Panoramica di u sistema di monitoraghju hibridu Okerr

I prublemi è i tempi di inattività accadenu à tutti. Ma l'utilizatori è i partenarii fiducia più in quelli chì sò più trasparenti è rispunsevuli in u so approcciu à questu.

quì rivista di 10 altri prughjetti chì permettenu di creà pagine di statutu. Eccu esempi di ciò chì pareanu sti pagine di u prugettu pitone и Dropbox. pagina di statu okerr.

Failover

Per ùn fà micca questu articulu ancu più longu, mi riferiraghju una volta à u mo articulu precedente - Semplice failover per un situ web . Se pudete fà un servitore duplicatu, allora utilizendu u failover, in fondu ùn avete micca un longu downtime - appena un prublema hè rilevatu, l'utilizatori seranu automaticamente rediretti à un servitore di salvezza di travagliu. È mi pare chì questu hè una funzione assai interessante è luminosa chì hè raramente dispunibule in ogni locu.

Basse esigenze di sistema

Per i servitori okerr, usemu macchine cù RAM da 2Gb. Per i sensori di rete, ancu 512Mb hè abbastanza. A parte di u cliente hè generalmente quasi zero. (Saccu di plastica okerrupdate pesa 26 Kb, ma richiede Python3 è librerie standard). U cliente corre da un script cron, per quessa ùn hà u cunsumu di memoria persistente zero. Trà e macchine chì avemu monitoratu, avemu sensori (VPS super-cheap with 512Mb RAM) è un Raspberry Pi. Hè pussibule ancu senza a parte di u cliente mandate l'aghjurnamenti via curl! (vede sottu)

Pigliendu questu in contu - okerr, probabilmente a più libera sistema di surviglianza da i dispunibuli, perchè ancu per utilizà un altru sistema open-source gratuitu cum'è Zabbix o Nagios, avete bisognu di assignà risorse (server) à questu, è questu hè digià soldi. Inoltre, qualchì mantenimentu di u servitore hè sempre necessariu. Cù okerr, sta parte pò esse eliminata. O ùn avete micca da sguassà è aduprà u vostru servitore, secondu ciò chì ti piace più.

API è integrazione in u software propiu

Architettura simplice è aperta. okerr hà una abbastanza simplice API, chì hè faciule di travaglià. Avete bisognu di creà 1000 indicatori? Un script di shell di 3-4 linee farà questu. Avete bisognu di cunfigurà 1000 indicatori? Hè ancu assai faciule. Per esempiu, vulemu verificà duie volte tutti i nostri certificati HTTPS da un sensoru russu:

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

Pudete aghjurnà l'indicatore utilizendu u nostru modulu cliente, ancu senza ellu, solu via 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/

Pudete aghjurnà l'indicatori direttamente da u vostru prugramma. Per esempiu, invià signali di battimentu di u core in modu chì okerr sà chì hè in esecuzione è suscita una alarma s'ellu si crash o si congela. Per via, i cumpunenti di okerr facenu cusì - okerr si monitora, è i prublemi in quasi ogni modulu seranu rilevati è generanu una alerta annantu à u prublema. (È in casu di questu "quasi" - sò cuntrollati da un altru servitore)

Eccu u codice (simplificatu) in u nostru 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))

Ci hè una biblioteca per l'aghjurnamentu di l'indicatori da i prugrammi Python okerrupdate, per qualsiasi altre lingue ùn ci sò micca biblioteche, ma pudete chjamà l'script okerrupdate o fà una dumanda HTTP à u servitore okerr.

Cumu okerr ci aiuta

Okerr hà cambiatu a nostra vita. Infatti. Forsi un altru sistema di surviglianza puderia fà u listessu, ma u travagliu cù okerr hè faciule è simplice per noi è hà tutte e funzioni chì avemu bisognu (avemu aghjustatu ciò chì ùn avia micca). Per via, s'ellu ci sò qualchi funziunalità mancanti, dumandate è aghju aghjunghje (ùn aghju micca prumessu, ma vogliu chì okerr sia u megliu sistema di surviglianza per i prughjetti chjuchi-medii). O megliu ancu, aghjunghje sè stessu - hè faciule.

Avemu riesciutu à campà da u principiu "amparate nantu à tutti i prublemi da u kerra". Se di colpu si trova un prublema chì ùn avemu micca amparatu da okerr, aghjunghjemu un verificatu à okerr. (in questu casu, per "noi" vogliu dì noi cum'è utilizatori di u sistema, micca co-sviluppatori). À u principiu, questu era cumunu, ma avà hè diventatu assai raru.

Monitoramentu

Per mezu di okerr monitoremu e dimensioni di log in tutti i servitori. Hè, sicuru, impussibule di leghje attentamente ogni linea di u logu cù i vostri ochji, ma simpricimenti monitorizà u ritmu di crescita digià dà assai. Per mezu di questu, avemu rilevatu u puzzicheghju di spam è l'ingenu di password in forza bruta, è quandu alcune di l'applicazioni "vannu pazzi", qualcosa ùn funziona micca per elli è u ripetenu una volta è una volta (ogni volta aghjunghjendu un paru di linee à u logu). ).

certificati SSL. Quasi subitu dopu à u lanciu LetsEncrypt u nostru cliente hà cuminciatu à furnisce certificati SSL gratuiti à i so clienti (circa un milla di elli). È hè diventatu solu un infernu per l'amministrazione ! U fattu hè chì i siti sò "live", i clienti periodicamente li dumandanu di fà qualcosa, i programatori facenu. Puderanu cumplettamente trasfiriri liberamente u situ à un altru DocumentRoot, per esempiu. O aghjunghje una Scrittura incondizionata à a cunfigurazione virtualhost. Naturalmente, dopu à questu, u rinnuvamentu automaticu di i certificati si rompe. Avà avemu tutti l'ospiti SSL aghjuntu à okerr automaticamente attraversu un altru di i nostri utili utili da u pacchettu a2 cunf. Lanciamu solu a2okerr.py - è se parechji siti novi appariscenu nantu à u servitore, appariscenu automaticamente in okerr. Sè di colpu, per qualchi mutivu, u certificatu ùn hè micca rinnuvatu, trè simani prima di u certificatu expires, simu in u sapè, è avemu da capisce perchè ùn hè micca aghjurnata, un tali cane. a2certbot.py da u listessu pacchettu - aiuta assai cun questu (cuntrolla immediatamente i prublemi più prubabili - è scrive ciò chì hè stata verificata bè, è induve ci hè più prubabilmente un prublema).

Monitoremu a data di scadenza di tutti i nostri domini. È tutti i nostri servitori di mail chì mandanu mail sò ancu verificati contr'à 50+ diverse liste nere. (E certe volte cascanu in elli). Per via, sapete chì i servitori di mail di Google sò ancu in lista negra? Solu per l'autotesta, avemu aghjustatu mail-wr1-f54.google.com à i servitori monitorati, è hè sempre nantu à a lista negra SORBS! (Questu hè u valore di "anti-spammers")

Backups - Aghju digià scrittu sopra quantu faciule hè di monitorà cù okerr. Ma monitoremu sia l'ultime backups in u nostru servitore è (aduprendu una utilità separata chì usa okerr) i backups chì carichemu in Amazon Glacier. E, iè, i prublemi succedenu di tantu in tantu. Ùn hè micca maravigghiusu ch'elli fighjulavanu.

Avemu aduprà l'indicatore di escalazione. Mostra s'ellu qualchì prublema ùn hè micca stata risolta per un bellu pezzu. È eiu stessu, quandu risolve certi prublemi, qualchì volta possu scurdà di elli. L'escalation hè un bon ricordu, ancu s'è vo avete monitoratu sè stessu.

In generale, crede chì a qualità di u nostru travagliu hà aumentatu da un ordine di grandezza. Ùn ci hè guasi micca downtime (o u cliente ùn hà micca u tempu di nutà. Basta shh!), Mentre chì a quantità di travagliu hè diventata più chjuca è e cundizioni di travagliu sò diventate più calme. Avemu passatu da u travagliu d'urgenza cù i buchi di patching cù a cinta à u travagliu calmu è misuratu, quandu parechji prublemi sò previsti in anticipu è ci hè tempu per impediscenu. Ancu i prublemi chì sò accaduti sò diventati ancu più faciuli di riparà: prima, scopremu di elli prima di u panicu di i clienti, è in segundu, spessu succede chì u prublema hè in relazione cù u travagliu recente (mentre facia una cosa, aghju ruttu un'altra) - cusì hè calda Hè più faciule per tracce per trattà cun ella.

Ma ci era un altru casu...

Sapete chì in pupulare Debian 9 (Stretch) un pacchettu cusì pupulare cum'è phpmyadmin hè sempre (dapoi parechji mesi!) in statu vulnerabile? (CVE-2019-6798). Quandu a vulnerabilità emerge, l'avemu coperta rapidamente in modi diffirenti. Ma aghju stabilitu u monitoraghju di a pagina di seguimentu di sicurità in okerr per sapè quandu una suluzione "bella" esce (via a summa SHA1 di u cuntenutu). L'indicatore mi twitched parechje volte, a pagina hà cambiatu, ma cum'è pudete vede, ancu (da ghjennaghju 2019!) Ùn indica micca chì u prublema hè stata risolta. Forsi, per via, qualchissia sà quale u prublema hè chì un pacchettu cusì impurtante hè sempre vulnerabile per più di un annu?

Un'altra volta in una situazione simili: dopu una vulnerabilità in SSH, era necessariu aghjurnà tutti i servitori. È quandu avete stabilitu un compitu, avete bisognu di cuntrullà l'esekzione. (I subordinati tendenu à malintendere, scurdà, cunfundite è fà sbagli). Dunque, prima avemu aghjustatu una verificazione di versione SSH à okerr in tutti i servitori, è attraversu okerr avemu assicuratu chì l'aghjurnamenti sò stati sbulicati in tutti i servitori. (Conveniente! Aghju sceltu stu tipu d'indicatore, è pudete vede immediatamente quale servitore hà quale versione). Quandu eramu sicuri chì u compitu hè statu finitu in tutti i servitori, avemu eliminatu l'indicatori.

Un paru di volte ci hè stata una situazione induve un certu prublema nasce, è poi si ne va da sè stessu. (probabilmente familiar à tutti ?). À u mumentu chì avete nutatu, quandu avete verificatu - è ùn ci hè nunda da verificà - tuttu hè digià travagliatu bè. Ma poi si rompe di novu. Avemu avutu questu succede, per esempiu, cù i prudutti chì avemu caricatu in Amazon Marketplace (MWS). À un certu puntu, l'inventariu caricatu era incorrectu (quantità sbagliate di merchenzie è prezzi sbagliati). Avemu capitu. Ma per capiscenu, era impurtante di scopre immediatamente u prublema. Sfurtunatamente, MWS, cum'è tutti i servizii di Amazon, hè un pocu lento, cusì ci era sempre un ritardu, ma ancu, avemu riesciutu à capisce almenu apprussimatamente a cunnessione trà u prublema è i scripts chì u causanu (avemu fattu un cuntrollu, stuck it. à l'okerr, è verificatu immediatamente ricevendu una alerta).

Un casu interessante hè statu aghjustatu pocu à a cullezzione da un hoster europeu grande è caru, chì u nostru cliente usa. Di colpu, TUTTI i nostri servitori sò spariti da u radar! Prima, u cliente stessu (più veloce di l'okerra!) hà nutatu chì u situ cù quale hà travagliatu ùn era micca apertu è hà fattu un bigliettu nantu à questu. Ma micca solu un situ hè cascatu, ma tutti! (Natasha, avemu abbandunatu tuttu!). Quì Okerr hà cuminciatu à mandà un pappu longu cù tutti l'indicatori chì si illuminavanu per ellu. Panicu, panicu, corremu in circhuli (chì altru pudemu fà ?). Allora tuttu s'arrizzò. Risulta chì ci era un mantenimentu di rutina in u centru di dati (una volta ogni parechji anni) è, sicuru, duvemu esse avvistatu. Ma un prublema li hè accadutu è ùn ci anu micca avvistatu. Ebbè, più attacchi di cori, menu attacchi di cori. Ma dopu chì tuttu hè restauratu, avete bisognu di verificà tuttu! Ùn possu micca imagine cumu fà cù e mo mani. Okerr hà pruvatu tuttu in pochi minuti. Ci hè stata chì a maiò parte di i servitori eranu solu temporaneamente indisponibili, ma anu travagliatu. Certi eranu sovraccarichi, ma ancu s'arrizzò cumu si deve. Di tutte e pèrdite, avemu persu duie copie di salvezza, chì sicondu a corona duveria esse creatu è carricu mentre sta banana piena si passava. Ùn aghju mancu preoccupatu di creà elli, solu un ghjornu dopu l'alerte sò ghjunte chì tuttu era bè, i backup eranu apparsu. Mi piace assai questu esempiu perchè okerr hè diventatu assai utile in una situazione chì ùn aviamu mancu pensatu in anticipu, ma questu hè u scopu di u monitoraghju - per resiste à l'imprevisible.

Per i sensori Okerr, usemu l'ospitu più prezzu pussibule (induve a qualità è a affidabilità ùn sò micca impurtanti, si assicuranu l'altri). Dunque, recentemente avemu trovu un hosting assai bonu è super economicu, i benchmarks sò fantastichi. Ma ... qualchì volta si trova chì e cunnessione in uscita da a macchina virtuale sò fatti da un altru IP (vicinu). Miraculi. Modulu Client_ip cù https://diagnostic.opendns.com/myip riceve l'IP sbagliata. E da i logs di u servitore di l'indicatore hè chjaru chì l'aghjurnamentu hè ancu vinutu da questu IP vicinu. Affrontemu avà u sustegnu. Hè bonu chì avemu nutatu questu in tempu di pace. Ma, per esempiu, spessu succede chì l'accessu hè registratu secondu a lista bianca IP - è se u servitore volte lampeghja cusì per un pocu tempu - pudete pruvà à catturà stu prublema per un tempu assai longu.

Ebbè, una cosa più - postu chì parlemu di hosting VPS - avemu sempre aduprà quelli di prezzu (hetzner, ovh, scaleway). Mi piace assai sia in termini di benchmarks è di stabilità. Avemu ancu aduprà u Amazon EC2 assai più caru per altri prughjetti. Allora, grazia à okerr, avemu a nostra propria opinione infurmata. Cadunu tramindui. È ùn diceraghju micca chì durante u longu periodu di e nostre osservazioni, l'ospiti boni cum'è hetzner risultanu esse notevolmente menu stabili di EC2. Dunque, sè ùn site micca ligatu à altre funziunalità di Amazon, perchè pagà più? 🙂

Chi c'è vicinu?

Sì à questu stadiu ùn vi aghju micca spaventatu da Okerr, allora pruvate! Pudete andà direttamente à stu ligame contu demo okerr (Cliccate avà!) Ma tenite in mente chì ci hè solu un contu demo per tutti, perchè se fate qualcosa, qualchissia altru in u stessu contu pò interferiscenu cun voi à u stessu tempu. O (megliu) registrate via u ligame à offsite okerr - tuttu hè simplice, senza SMS. Se ùn ti piace micca usà u vostru email veru, pudete aduprà un dispunibile, cum'è mailinator (aghju cunsigliatu getnada.com). Tali cunti ponu esse sguassati cù u tempu, ma seranu bè per pruvà.

Dopu à a registrazione, vi sarà dumandatu à sottumette a furmazione (eseguite parechji travaglii di furmazione micca assai difficiuli). I limiti iniziali sò assai chjuchi, ma per a furmazione o un servitore sò abbastanza. Dopu avè cumpletu a furmazione, i limiti (per esempiu, u numeru massimu di indicatori) seranu aumentati.

Da a documentazione - prima di tuttu WIKI da u latu di u servitore è da u cliente (okerrupdate wiki). Ma se qualcosa ùn hè micca chjaru, scrivite à supportu (at) okerr.com o lasciate un bigliettu - pruvemu di risolve tuttu rapidamente.

Se l'utilizate seriu è questi limiti aumentati ùn sò micca abbastanza, scrivite à u sustegnu è l'aumenteremu (for free).

Vulete installà u servitore okerr in u vostru servitore? Quì repository okerr-dev. Hè ricumandemu di stallà nantu à una macchina virtuale pulita, allora pudete fà solu cù un script d'installazione. In a vostra macchina virtuale - senza restrizioni :-). Ebbè, di novu, s'ellu succede qualcosa, sempre pruvà à aiutà.

Vulemu chì stu prughjettu s'alluntani, cusì chì u mondu diventa più affidabile grazia à noi. Grazie à u software è à i servizii gratuiti, u mondu hè diventatu più amichevule è si sviluppa più dinamicamente. I fonti ponu esse guardati in github gratuitu, per mail pudete aduprà gmail gratuitu. Avemu aduprà gratis fresche per u sustegnu. Per qualcosa di questu, ùn avete micca bisognu di pagà per i servitori, ùn avete micca bisognu di scaricà è cunfigurà, è ùn avete micca bisognu di risolve diversi prublemi operativi. Ogni novu prughjettu, ogni squadra hà immediatamente mail, repository è CRM. È tuttu questu hè assai alta qualità è liberu è immediatamente. Vulemu chì sia u listessu per u monitoraghju - i picculi cumpagnie è prughjetti puderanu aduprà okerr for free è ancu in u stadiu di nascita è crescita anu l'affidabilità di prughjetti serii adulti.

Source: www.habr.com

Cumprate un hosting affidabile per i siti cù prutezzione DDoS, servitori VPS VDS 🔥 Cumprate un hosting di siti web affidabile cù prutezzione DDoS, servitori VPS VDS | ProHoster