Uptime Monitoring jede Sekunde - schlecht für den Server?

11

Ich frage mich, ob es von Vorteil ist, zu überprüfen, ob ein Server in Betrieb ist, indem jede Sekunde eine "HTTP-GET-Anforderung" ausgeführt wird.

Kann irgendein Server damit umgehen?

Donald
quelle
Eine andere Option ist das Gegenteil: Überwachen Sie den Server nicht von außen, sondern von innen, z. B. mit ru-on.com . Grundsätzlich installieren Sie ein kleines Skript auf Ihrem Server, das sehr oft einen anderen Server anpingt, sodass Sie Ihre Betriebszeit überwachen können, ohne Ihrem Webserver das Leben zu erschweren.
Maxim Zaslavsky
3
@ Maxim, es gibt mehrere Probleme mit Ihrem Vorschlag. Erstens wird nicht überprüft, ob der HTTP-Dienst auf dem Server ausgeführt wird. Zweitens gibt es das Problem, was passiert, wenn der Server selbst ausfällt. Das muss noch überwacht werden. Außerdem könnte das gleiche Ergebnis durch ein einfaches Wget gegen die lokale Maschine erzielt werden.
John Gardeniers

Antworten:

26

Kann "jeder" Server damit umgehen? Wahrscheinlich.

Solltest du es tun? Wahrscheinlich nicht.

Stellen Sie sich ein paar Fragen:

  1. Wie schnell reagieren Sie auf einen Ausfall?
  2. Wie viele Seitenaufrufe erhalten Sie normalerweise pro Sekunde?
  3. Wie viele aufeinanderfolgende Fehler möchten Sie sehen, bevor Sie "Down" nennen und eine Warnung senden?
  4. Haben Sie eine SLA mit internen oder externen Kunden, die eingehalten werden muss?
  5. Basierend auf den oben aufgeführten Fragen, was scheint eine angemessene Überwachungs- und Antwortzeit zu sein?

Als ich das erste Mal Programmieren lernte, beschloss ich, eine Stoppuhr zu machen. Als ich endlich eine funktionierende Anwendung bekam, bemerkte ich, dass die CPU-Auslastung meines Laptops bei jeder Ausführung 100% betrug.

Meine Ausführungsschleife hatte keinen Wartezyklus. Es wurde nur über die Zeitfunktion ausgeführt.

An diesem Tag habe ich eine wertvolle Lektion gelernt: Es gibt keine unendlich genaue Messung.

Joseph Kern
quelle
6

Während ich, wie fast alle anderen, den Grund in Frage stelle, warum ich so häufig überwachen möchte, ist die technische Seite kein Problem. Eine GET-Anforderung pro Sekunde ist im Vergleich zu einem typischen Seitenladevorgang absolut unbedeutend.

Kann Ihr Server damit umgehen? Wir haben nichts, worauf wir eine solche Frage beantworten könnten, aber wenn Ihr Server ein Problem damit hat, würde ich vorschlagen, dass es für alles, was er sonst noch bedient, völlig unzureichend ist.

John Gardeniers
quelle
3

Nagios oder Munin können den Test wahrscheinlich jede Sekunde ausführen, aber es ist ein bisschen besessen. Gibt es einen Grund, warum Sie so häufig nachsehen müssen? Wenn Ihr Server so instabil ist, haben Sie wahrscheinlich tiefere Probleme.

Slillibri
quelle
1

Die meisten kommerziellen Überwachungssoftware bieten standardmäßig ein Intervall von 1 Minute oder 5 Minuten. Das scheint ein gutes Prüfintervall zu sein.

Sapguy
quelle
Mit Pingdom können Sie beispielsweise ein Intervall festlegen und dann beim Erkennen des ersten Ausfalls die Häufigkeit erhöhen, mit der der Server angerufen wird, um festzustellen, ob er gesichert ist.
Ankur Banerjee
>, erhöhen Sie die Frequenz .. => aber das Minimum ist noch 1 min, oder?
Sapguy
Auf kostenlosen Konten ist das niedrigste Angebot von Pingdom 1 Minute. Ich habe kein Premium-Konto, daher kann ich nicht sagen, ob sie eine Option für noch häufigere Überprüfungen für sie bieten.
Ankur Banerjee
1

Es ist nichts Falsches daran, den Server jede Sekunde zu überwachen. Es ist nur nicht sehr effizient, insbesondere auf Servern mit hoher Auslastung, bei denen eine Apache-Abfrage einige Sekunden lang hängen bleibt und Ihre Anforderungen entweder gesichert oder für diesen bestimmten Moment falsche Warnungen ausgegeben werden nicht falsch'. Mit einer Überprüfung von einer Sekunde können Sie nicht schneller reagieren, und in 99,9% aller Fälle ist eine Überprüfung von 10 oder 30 Sekunden genauso wichtig.

Richard
quelle
0

Ich stimme Joseph hier zu 100% zu. Wenn Sie dennoch eine Art Echtzeitüberwachung durchführen möchten, können Sie das Webserver-Protokoll für einen bestimmten Zeitraum auf Serverfehler und das Fehlen neuer Einträge im Protokoll überprüfen. Der Server wird nicht belastet, aber das Auslösen von Warnungen auf dieser Grundlage ist eine Herausforderung :)

pors
quelle
0

1 Sekunde Auflösung ist sehr hoch und wird wahrscheinlich nicht benötigt. Ich bevorzuge jedoch das Sammeln, da es für eine viel höhere Auflösung (alle 10 Sekunden) als andere OSS-Tools wie Munin (5 Minuten) ausgelegt ist.

n8whnp
quelle