Monitoraggio dei tempi di attività ogni secondo: male per il server?


11

Mi chiedo se ci sono dei vantaggi nel verificare se un server è attivo eseguendo una "Richiesta HTTP GET" ogni secondo?

Qualche server può gestirlo?


Un'altra opzione è fare il contrario: anziché monitorare il server dall'esterno, monitorare il server dall'interno, ad esempio con ru-on.com . Fondamentalmente installi un piccolo script sul tuo server che esegue il ping di un altro server molto spesso, in modo da poter monitorare i tempi di attività senza complicare la vita del tuo server web.
Maxim Zaslavsky,

3
@Maxim, ci sono diversi problemi con il tuo suggerimento. Innanzitutto, non controlla che il servizio HTTP sia in esecuzione sul server. In secondo luogo, c'è il problema di ciò che accade quando il server stesso è inattivo. Questo deve ancora essere monitorato. Inoltre, lo stesso risultato potrebbe essere ottenuto da una semplice scommessa contro la macchina locale.
John Gardeniers,

Risposte:


26

Può "qualsiasi" server gestirlo? Probabilmente.

Dovresti farlo? Probabilmente no.

Ponetevi alcune domande:

  1. Quanto sarai veloce a rispondere a un'interruzione?
  2. Quante visualizzazioni di pagina ricevi normalmente al secondo?
  3. Quanti errori consecutivi sei disposto a vedere prima di chiamarlo "Inattivo" e inviare un avviso?
  4. Hai qualche SLA con clienti interni o esterni che deve essere onorato?
  5. Sulla base delle domande sopra elencate che sembra un ragionevole tempo di monitoraggio e risposta?

Quando stavo imparando a programmare per la prima volta, ho deciso che volevo fare un cronometro. Quando finalmente ho ottenuto un'applicazione funzionante, ho notato che l'utilizzo della CPU sul mio laptop era al 100% ogni volta che lo eseguivo.

Il mio ciclo di esecuzione non aveva un ciclo di attesa. Continuava a eseguire nel tempo la funzione.

Quel giorno ho imparato una lezione preziosa: non esiste una misurazione infinitamente accurata.


6

Mentre io, come quasi tutti gli altri, metto in dubbio il motivo per cui voglio monitorare così frequentemente il lato tecnico è un problema. Una richiesta GET al secondo è assolutamente insignificante rispetto a un tipico caricamento della pagina.

Il tuo server può gestirlo? Non abbiamo nulla su cui rispondere a una domanda del genere, ma se il tuo server ha un problema a gestirlo, suggerirei che sarebbe completamente inadeguato per qualsiasi altra cosa stia servendo.


3

Nagios o Munin probabilmente possono gestire il test ogni secondo, ma è un po 'ossessivo. C'è un motivo per cui è necessario controllare così frequentemente? Se il tuo server è così instabile, probabilmente avrai problemi più profondi.


1

La maggior parte dei software di monitoraggio commerciale offre intervalli di 1 minuto o 5 minuti per impostazione predefinita. Questo sembra essere un buon intervallo di controllo.


Pingdom, ad esempio, ti consente di impostare un intervallo e quindi di rilevare la prima interruzione, aumentare la frequenza con cui esegue il ping del server per vedere se è il backup.
Ankur Banerjee,

>, aumenta la frequenza .. => ma il minimo è ancora 1 minuto o?
Sapguy,

Su account gratuiti penso che il più basso che Pingdom offre sia di 1 minuto. Non ho un account premium, quindi non posso dire se offrono un'opzione per controlli ancora più frequenti per loro.
Ankur Banerjee,

1

Non c'è niente di sbagliato nel monitorare il server ogni secondo, non è molto efficace soprattutto sui server con carico elevato in cui una query Apache potrebbe bloccarsi per un paio di secondi causando il backup delle richieste o l'emissione di falsi avvisi per quel particolare momento, ma è non sbagliato'. I controlli di un secondo non ti renderanno più veloce nel rispondere e, nel 99,9% di tutte le circostanze, un controllo di 10 o 30 secondi è altrettanto importante.


0

Sono d'accordo al 100% con Joseph qui. Se si desidera ancora eseguire una sorta di monitoraggio in tempo reale, è possibile prendere in considerazione l'annullamento del registro del server Web per errori del server e l'assenza di nuove voci nel registro per un periodo di tempo. Non caricherà il server, ma innescare avvisi basati su questo è una sfida :)


0

La risoluzione di 1 secondo è davvero alta e probabilmente non è necessaria. Tuttavia preferisco collectd in quanto è stato progettato per una risoluzione molto più elevata (ogni 10 secondi) rispetto ad altri strumenti OSS come Munin (5 minuti).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.