Wenn der Lastausgleich eingerichtet ist, ist es hilfreich, den Zustand der realen Server und der darauf laufenden Anwendungen zu überwachen. Bei Webservern können Sie z. B. eine bestimmte Seite einrichten, mit der Sie den Zustand überwachen können, oder eines der anderen Überwachungssysteme verwenden, über die der ADC verfügt.
Auf der Seite Library > Real Server Monitors können Sie benutzerdefinierte Überwachungen hinzufügen, anzeigen und bearbeiten. Dabei handelt es sich um Layer 7-Server-"Health Checks". Wählen Sie diese aus dem Feld "Server Monitoring" innerhalb der Registerkarte "Basic" des von Ihnen definierten virtuellen Dienstes aus.
Die Seite Real-Server-Monitore ist in drei Abschnitte unterteilt.
· Details
· Hochladen
· Kundenspezifische Monitore
Details
Der Bereich Details dient dazu, neue Monitore hinzuzufügen und nicht benötigte zu entfernen. Sie können auch einen vorhandenen Monitor bearbeiten, indem Sie auf ihn doppelklicken.
Name
Name Ihrer Wahl für Ihren Monitor.
Beschreibung
Textbeschreibung für diesen Monitor, die am besten so aussagekräftig wie möglich sein sollte.
Überwachung Methode
Wählen Sie die Überwachungsmethode aus der Dropdown-Liste. Verfügbare Auswahlmöglichkeiten sind:
Überwachung Methode
|
Beschreibung
|
Beispiel
|
HTTP 200 OK
|
Es wird eine TCP-Verbindung zum Real-Server hergestellt. Nach dem Herstellen der Verbindung wird eine kurze HTTP-Anfrage an den Real-Server gesendet. Eine HTTP-Antwort des Servers wird abgewartet und dann auf den Antwortcode "200 OK" geprüft. Wenn der "200 OK"-Antwortcode empfangen wird, wird davon ausgegangen, dass der Realserver betriebsbereit ist. Wenn aus irgendeinem Grund der "200 OK"-Antwortcode nicht empfangen wird, einschließlich Zeitüberschreitungen oder Verbindungsabbrüche, wird der Real-Server als ausgefallen und nicht verfügbar betrachtet. Diese Überwachungsmethode kann wirklich nur mit HTTP- und Accelerated HTTP-Diensttypen verwendet werden. Wenn jedoch ein Layer 4-Diensttyp für einen HTTP-Server verwendet wird, könnte sie dennoch verwendet werden, wenn SSL auf dem Real-Server nicht verwendet oder von der "Content SSL"-Funktion entsprechend behandelt wird.
|
Name: 200OK
Beschreibung: Produktionswebseite prüfen
Überwachungsmethode: HTTP 200 OK
Standort der Seite: /main/index.html OR HTTP://www.edgenexus.io/main/index.html Erforderlicher Inhalt: N/A
|
HTTP-Antwort
|
Es wird eine Verbindung und eine HTTP-Anfrage/Antwort zum Realserver hergestellt und wie im vorherigen Beispiel erläutert geprüft. Anstatt jedoch auf einen "200 OK"-Antwortcode zu prüfen, wird der Header der HTTP-Antwort auf benutzerdefinierten Textinhalt geprüft. Der Text kann ein vollständiger Header, ein Teil eines Headers, eine Zeile aus einem Teil einer Seite oder nur ein Wort sein. Wenn der Text gefunden wird, gilt der Real Server als funktionsfähig. Diese Überwachungsmethode kann wirklich nur mit HTTP- und Accelerated HTTP-Diensttypen verwendet werden. Wenn jedoch ein Layer 4-Diensttyp für einen HTTP-Server verwendet wird, könnte sie trotzdem verwendet werden, wenn SSL auf dem Real Server nicht verwendet oder von der "Content SSL"-Funktion entsprechend behandelt wird.
|
Name: Server Up
Beschreibung: Überprüfen Sie den Inhalt der Seite auf "Server Up. "
Überwachungsmethode: HTTP-Antwort
Standort der Seite: /main/index.html OR HTTP://www.edgenexus.io/main/index.html Erforderlicher Inhalt: Server hoch
|
DICOM
|
Wir senden ein DICOM-Echo mit dem Wert "Source Calling" AE Title in der gewünschten Inhaltsspalte. Sie können auch den Wert "Destination Called" AE Title im Abschnitt "Notes" jedes Servers einstellen. Sie finden die Spalte "Notes" innerhalb der IP Services-.
-Virtuelle Dienste--Server Seite.
|
Name: DICOM
Beschreibung: L7 Health Check für DICOM-Dienst
Überwachungsmethode: DICOM
Seite Standort: N/A
Erforderlicher Inhalt: AET-Wert
|
TCP Out of Band
|
Die TCP-Out-of-Band-Methode ist wie eine TCP-Verbindung, mit dem Unterschied, dass Sie in der Spalte "Gewünschter Inhalt" den Port angeben können, den Sie überwachen möchten. Dieser Port ist normalerweise nicht derselbe wie der Verkehrsport und wird verwendet, wenn Sie Dienste miteinander verbinden möchten
|
Name: TCP Out of Band
Beschreibung: Monitor Out of Band/Traffic port
Seite Standort: N/A
Erforderlicher Inhalt: 555
|
Multi-Port-TCP-Monitor
|
Diese Methode ist wie die obige, mit dem Unterschied, dass Sie mehrere verschiedene Ports haben können. Der Monitor gilt nur dann als erfolgreich, wenn alle im Abschnitt "Required Content" angegebenen Ports korrekt antworten.
|
Name: Multi-Port-Monitor
Beschreibung: Mehrere Ports auf Erfolg überwachen
Seite Standort: N/A
Erforderlicher Inhalt: 135,59534,59535
|
|
|
|
Seite Standort
URL Seitenstandort für einen HTTP-Monitor. Dieser Wert kann ein relativer Link sein, wie z. B. /Ordner1/Ordner2/Seite1.html. Sie können auch einen absoluten Link verwenden, bei dem die Website an den Hostnamen gebunden ist.
Erforderlicher Inhalt
Dieser Wert enthält alle Inhalte, die der Monitor erkennen und verwerten muss. Der hier dargestellte Wert ändert sich je nach gewählter Überwachungsmethode.
Angewandt auf VS
Dieses Feld wird automatisch mit der IP/Port des virtuellen Dienstes ausgefüllt, auf den der Monitor angewendet wird. Sie können einen Monitor, der mit einem virtuellen Dienst verwendet wurde, nicht löschen.
Benutzer
Einige benutzerdefinierte Monitore können diesen Wert zusammen mit dem Passwortfeld verwenden, um sich bei einem Real-Server anzumelden.
Passwort
Einige benutzerdefinierte Monitore können diesen Wert zusammen mit dem Feld "Benutzer" verwenden, um sich bei einem Real-Server anzumelden.
Schwellenwert
Das Feld "Schwellenwert" ist eine allgemeine Ganzzahl, die in benutzerdefinierten Monitoren verwendet wird, in denen ein Schwellenwert, wie z. B. der CPU-Pegel, erforderlich ist.
HINWEIS: Bitte stellen Sie sicher, dass die Antwort vom Anwendungsserver keine "Chunked"-Antwort ist
Real Server Monitor Beispiele
Monitor hochladen
Es wird viele Gelegenheiten geben, bei denen Benutzer ihre eigenen benutzerdefinierten Monitore erstellen möchten, und dieser Abschnitt ermöglicht es ihnen, diese in das ADC hochzuladen.
Benutzerdefinierte Monitore werden mit PERL-Skripten geschrieben und haben eine .pl-Dateierweiterung.
· Geben Sie Ihrem Monitor einen Namen, damit Sie ihn in der Liste der Überwachungsmethoden identifizieren können
· Suchen Sie nach der .pl-Datei
· Klicken Sie auf Neuen Monitor hochladen
· Ihre Datei wird an den richtigen Ort hochgeladen und ist als neue Überwachungsmethode sichtbar.
Kundenspezifische Monitore
In diesem Abschnitt können Sie hochgeladene benutzerdefinierte Monitore anzeigen und sie entfernen, wenn sie nicht mehr benötigt werden.
· Klicken Sie auf das Dropdown-Feld
· Wählen Sie den Namen des benutzerdefinierten Monitors
· Klicken Sie auf Entfernen
· Ihr benutzerdefinierter Monitor wird nicht mehr in der Liste der Überwachungsmethoden angezeigt
Erstellen eines benutzerdefinierten Monitor-Perl-Skripts
ACHTUNG: Dieser Abschnitt richtet sich an Personen mit Erfahrung im Umgang und Schreiben in Perl
Dieser Abschnitt zeigt Ihnen die Befehle, die Sie innerhalb Ihres Perl-Skripts verwenden können.
Der Befehl #Monitor-Name: ist der Name, der für das auf dem ADC gespeicherte Perl-Skript verwendet wird. Wenn Sie diese Zeile nicht einfügen, wird Ihr Skript nicht gefunden!
Die folgenden Angaben sind obligatorisch:
· #Monitor-Name
· streng verwenden;
· Warnung verwenden;
Die Perl-Skripte werden in einer CHROOTED-Umgebung ausgeführt. Sie rufen oft eine andere Anwendung wie WGET oder CURL auf. Manchmal müssen diese für eine bestimmte Funktion, wie z. B. SNI, aktualisiert werden.
Dynamische Werte
· my $host = $_[0]; - Dies verwendet die "Adresse" aus dem Abschnitt "IP-Dienste - Realer Server
· my $port = $_[1]; - Dies verwendet den "Port" aus dem Abschnitt IP-Dienste-Real-Server
· my $content = $_[2]; - Dies verwendet den Wert "Erforderlicher Inhalt" aus dem Abschnitt "Library--Real Server Monitoring
· my $notes = $_[3]; - Dies verwendet die Spalte "Notes" im Abschnitt "Real Server" der IP-Dienste
· my $page = $_[4]; - Dies verwendet die "Page Location"-Werte aus dem Abschnitt Library--Real Server Monitor
· my $user = $_[5]; - Dies verwendet den Wert "User" aus dem Abschnitt Library--Real Server Monitor
· my $password = $_[6]; - Dies verwendet den Wert "Password" aus dem Abschnitt Library--Real Server Monitor
Benutzerdefinierte Gesundheitschecks haben zwei Ergebnisse
· Erfolgreich
Rückgabewert 1Drucken
einer Erfolgsmeldung an SyslogMarkieren
des Real-Servers Online (sofern IN COUNT übereinstimmt)
· Erfolglos
Rückgabewert 2Drucken Sie
eine Meldung mit dem Wort "Unsuccessful" an SyslogMarkieren Sie
den Real Server Offline (sofern OUT Count übereinstimmt)
Beispiel für einen benutzerdefinierten Health Monitor
#Monitor-Name HTTPS_SNI
streng verwenden:
Warnhinweise verwenden;
# Der Monitorname wie oben wird in der Dropdown-Liste der verfügbaren Gesundheitsprüfungen angezeigt
# Es werden 6 Werte an dieses Skript übergeben (siehe unten)
# Das Skript gibt die folgenden Werte zurück
# 1 ist der Test erfolgreich
# 2 wenn der Test nicht erfolgreich ist sub monitor
{
my Shost= $_[O]; ### Host IP oder Name
my Sport= $_[1]; ### Host-Anschluss
my Scontent= $_[2]; ### Zu suchender Inhalt (in der Webseite und den HTTP-Headern)
my Snotes= $_[3]; ### Virtueller Rechnername
my Spage= $_[4]; ### Der Teil der URL nach der Host-Adresse
my Suser= $_[5]: ### domain/usemame (optional)
my Spasswort= $_[6]; ### Passwort (optional)
my $resolve;
my $auth =;
wenn ($Port)
{
$resolve = "$notes:$port:$host":
}
sonst {
$resolve = "$notes:$host";
}
if ($Benutzer && $Passwort) {
$auth = "-u $user:$password :
}
my @lines = 'curl -s -i -retry 1 -max-time 1 -k -H "Host:$notes --resolve $resolve $auth HTTPs://${notes}${page} 2>&1'; if(join(""@lines)=~/$content/)
{
print "HTTPs://$notes}${page} looking for - $content - Health check successful.\n";
zurück(1);
}
sonst
{
print "HTTPs://${notes}${page} looking for - $content - Health check failed.\n";
zurück(2)
}
}
monitor(@ARGV):
HINWEIS: Benutzerdefinierte Überwachung - Die Verwendung von globalen Variablen ist nicht möglich. Verwenden Sie nur lokale Variablen - Variablen, die innerhalb von Funktionen definiert sind.