Sie erstellen einen Dienstmonitor, um Parameter zur Integritätsprüfung für einen bestimmten Typ des Netzwerkdatenverkehrs zu definieren. Wenn Sie einen Servicemonitor einem Pool zuweisen, werden die Mitglieder des Pools gemäß den Servicemonitorparametern überwacht.

Folgende Überwachungstypen werden unterstützt: ICMP, TCP, UDP, HTTP, HTTPS, DNS, MSSQL und LDAP.

Prozedur

  1. Melden Sie sich beim vSphere Web Client an.
  2. Klicken Sie auf Netzwerk und Sicherheit (Networking & Security) > NSX Edges.
  3. Doppelklicken Sie auf eine NSX Edge-Instanz.
  4. Klicken Sie auf Verwalten (Manage) > Load Balancer > Dienstüberwachung (Service Monitoring).
  5. Klicken Sie auf Hinzufügen (Add).
  6. Geben Sie in Name einen Namen für den Dienstmonitor ein.

    Intervall, Zeitüberschreitung und Max. Wiederholungen sind gängige Parameter für alle Typen von Systemstatusprüfungen.

  7. Geben Sie in Intervall (Interval) die Anzahl der Sekunden für das Intervall ein, in dem ein Server getestet werden soll.

    Das Intervall ist die Spanne in Sekunden, in der der Monitor Anforderungen an den Back-End-Server sendet.

  8. Geben Sie den Wert für die Zeitüberschreitung (Timeout) ein. Für jede Überprüfung des Systemzustands legt der Wert für die Zeitüberschreitung die maximale Zeit in Sekunden fest, in der eine Antwort vom Server empfangen werden muss.
  9. Geben Sie unter Max. Wiederholungen (Max Retries) die Häufigkeit des Servertests ein. Dieser Wert legt fest, wie oft ein Server getestet wird, bevor er als INAKTIV behandelt wird.

    Wenn Sie z. B. Intervall (Interval) auf 5 Sekunden, Zeitüberschreitung (Timeout) auf 15 Sekunden und für Max. Wiederholungen (Max Retries) den Wert 3 festgelegt haben, überprüft der NSX-Load Balancer alle 5 Sekunden den Backend-Server. Wenn bei einer Überprüfung die vorgesehene Antwort innerhalb von 15 Sekunden vom Server empfangen wird, ist das Ergebnis der Systemstatusprüfung „OK“. Ist dies nicht der Fall, ist das Ergebnis „CRITICAL“. Wenn die letzten drei Systemstatusprüfungen alle „DOWN“ ergeben haben, wird der Server als „DOWN“ gekennzeichnet.

  10. Wählen Sie aus dem Dropdown-Menü Typ (Type) aus, wie die Anforderung zur Systemstatusprüfung an den Server gesendet werden soll. Monitor-Typen, die unterstützt werden, sind ICMP, TCP, UDP, HTTP, HTTPS, DNS, MSSQL und LDAP. Im System sind drei vordefinierte Überwachungen integriert: default_tcp_monitor, default_http_monitor und default_https_monitor.
  11. Wenn Sie ICMP als Überwachungstyp auswählen, werden keine anderen Parameter angewendet. Lassen Sie das Feld für die anderen Parameter leer.
  12. Wenn Sie als Monitortyp TCP auswählen, sind drei weitere Parameter verfügbar: Senden, Empfangen und Erweiterung.
    1. Senden (Send) (optional) – Die Zeichenfolge, die an den Back-End-Server gesendet wird, nachdem eine Verbindung hergestellt wurde Die maximal zulässige Längenbeschränkung beträgt 256 Zeichen.
    2. Empfangen (Receive) (optional) Geben Sie den String ein, mit dem eine Übereinstimmung gegeben sein muss. Dieser String kann sich in der Kopfzeile oder im Text der Antwort befinden. Der Server wird als UP (Aktiv) eingestuft, wenn die empfangene Zeichenfolge mit dieser Definition übereinstimmt.
    3. Erweiterung (Extension): Geben Sie erweiterte Monitorparameter als Schlüssel=Wert-Paare im Abschnitt „Erweiterung“ ein.

      Zum Beispiel gibt die Erweiterung „Warnung=10“ an, dass der Status eines Servers auf „Warnung“ gesetzt wird, wenn dieser nicht innerhalb von 10 Sekunden antwortet.

      Alle Erweiterungselemente müssen mit einem Wagenrücklaufzeichen getrennt werden.

      Tabelle 1. Erweiterungen für TCP-Protokoll

      Überwachungserweiterung

      Beschreibung

      escape

      Kann \n, \r, \t oder \ in der send- oder quit-Zeichenfolge verwenden. Muss sich vor der send- oder quit-Option befinden. Standard: nichts hinzugefügt zu send, \r\n hinzugefügt zum Ende von quit.

      all

      Alle erwarteten Zeichenfolgen müssen in Serverantwort auftreten. Der Standardwert ist „beliebig“.

      quit=STRING

      Zeichenfolge, die an den Server gesendet wird, um ein ordnungsgemäßes Beenden der Verbindung zu initiieren.

      refuse=ok|warn|crit

      Akzeptieren von TCP-Zurückweisungen mit Status: „ok“, „warn“ oder „crit“. Standardwert ist „crit“.

      mismatch=ok|warn|crit

      Akzeptieren von erwarteten Zeichenfolgenkonflikten mit Status: „ok“, „warn“ oder „crit“. Standardwert ist „warn“.

      jail

      Ausgabe von TCP-Socket ausblenden.

      maxbytes=INTEGER

      Verbindung schließen, wenn mehr als die angegebene Anzahl an Byte empfangen wurde.

      delay=INTEGER

      Sekunden beim Warten zwischen dem Senden der Zeichenfolge und dem Abrufen der Antwort.

      certificate=INTEGER[,INTEGER]

      Mindestanzahl der Tage, die ein Zertifikat gültig sein muss. Der erste Wert ist die Anzahl der Tage bis zur Warnung und der zweite Wert ist „Kritisch“ (wenn nicht angegeben – 0).

      warning=DOUBLE

      Antwortzeit in Sekunden, nach der ein Warnstatus gemeldet wird.

      critical=DOUBLE

      Antwortzeit in Sekunden, nach der ein kritischer Status gemeldet wird.

  13. Wenn Sie als Monitortyp HTTP oder HTTPS auswählen, führen Sie die im Folgenden aufgeführten Schritte aus:
    1. Erwartet (Expected) (optional) – Geben Sie den String ein, mit dem der Monitor in der Statuszeile der HTTP-Antwort im Abschnitt „Erwartet“ übereinstimmen muss. Es handelt sich hier um eine durch Kommas getrennte Liste.

      Beispiel: 200,301,302,401.

    2. Methode (Method) (optional) – Wählen Sie aus dem Dropdown-Menü die Methode zur Ermittlung des Serverstatus aus: GET, OPTIONS oder POST.
    3. URL (optional) – Legen Sie für die URL GET oder POST fest (Standard: „/“).
    4. Geben Sie bei Auswahl der POST-Methode im Abschnitt Fett (Bold) die Daten ein, die gesendet werden sollen.
    5. Geben Sie im Abschnitt „Erwartet“ den String ein, der im Antwortinhalt im Abschnitt Empfangen (Receive) übereinstimmen muss. Dieser String kann sich in der Kopfzeile oder im Text der Antwort befinden.

      Besteht keine Übereinstimmung mit dem String im Abschnitt „Erwartet“, prüft der Monitor nicht die Überstimmung des Inhalts von „Empfangen“.

      Beispiel für JSON-Format: Validierungsreaktion enthält "{"Healthy":true}": receive={\"Healthy\":true}

    6. Erweiterung (Extension): Geben Sie erweiterte Monitorparameter als Schlüssel=Wert-Paare im Abschnitt „Erweiterung“ ein.

      Zum Beispiel gibt die Erweiterung „Warnung=10“ an, dass der Status eines Servers auf „Warnung“ gesetzt wird, wenn dieser nicht innerhalb von 10 Sekunden antwortet.

      Alle Erweiterungselemente sollten mit einem Wagenrücklaufzeichen getrennt werden.

      Hinweis:

      Wenn der String { } und “ enthält, müssen Sie für eregi, regex und ereg vor dem Parsen des Strings für das JSON-Format das Zeichen \ hinzufügen. Beispiel für JSON-Format: Validierungsreaktion enthält "{"Healthy":true}": eregi="\{\"Healthy\":true\}".

      Tabelle 2. Erweiterungen für HTTP/HTTPS-Protokoll

      Überwachungserweiterung

      Beschreibung

      no-body

      Nicht auf Dokumenthauptteil warten: Lesen nach Kopfzeilen beenden. Beachten Sie, dass dies immer noch einen HTTP GET oder POST, nicht einen HEAD erstellt.

      ssl-version=3

      Erzwingt den SSL-Handshake mithilfe von sslv3.

      sslv3 und tlsv1 sind standardmäßig in der Option für die Systemstatusprüfung deaktiviert.

      ssl-version=10

      Erzwingt den SSL-Handshake mithilfe von tls 1.0.

      ssl-version=11

      Erzwingt den SSL-Handshake mithilfe von tls 1.1.

      ssl-version=12

      Erzwingt den SSL-Handshake mithilfe von tls 1.2.

      max-age=SECONDS

      Warnen, wenn das Dokument mehr als SEKUNDEN alt ist. Die Zahl kann auch in der Form 10m für Minuten, 10h für Stunden oder 10d für Tage angegeben werden.

      content-type=STRING

      Gibt den Medientyp „Content-Type-Kopfzeile“ in POST-Aufrufen an.

      linespan

      regex darf Zeilenvorschübe umfassen (-r oder -R muss vorausgehen).

      regex=STRING oder ereg=STRING

      Seite nach regex-ZEICHENFOLGE durchsuchen.

      eregi=STRING

      Seite nach regex-ZEICHENFOLGE (Groß-/Kleinschreibung nicht beachten) durchsuchen.

      Beispiel:

      • Validierungsreaktion enthält "OK1" oder "OK2": eregi="(OK1|OK2)"

      • Validierungsreaktion enthält "{"Healthy":true}": eregi="{\"Healthy\":true}"

      invert-regex

      KRITISCH zurückgeben, wenn gefunden, andernfalls OK.

      proxy-authorization=AUTH_PAIR

      Benutzername:Kennwort auf Proxyservern mit Standardauthentifizierung.

      useragent=STRING

      Zu sendende Zeichenfolge in HTTP-Kopfzeile als User Agent.

      header=STRING

      Alle anderen in HTTP-Kopfzeile zu sendenden Tags. Für zusätzliche Kopfzeilen mehrmals verwenden.

      Beispiel:

      header="Host: app1.xyz.com

      onredirect=ok|warning|critical|follow|sticky|stickyport

      Informationen zur Verarbeitung von weitergeleiteten Seiten. sticky ist wie „follow“, aber an der angegebenen IP-Adresse festhalten. stickyport stellt auch sicher, dass sich der Port nicht ändert.

      pagesize=INTEGER:INTEGER

      Erforderliche Mindestseitengröße (Byte) : Erforderliche maximale Seitengröße (Byte).

      warning=DOUBLE

      Antwortzeit in Sekunden, nach der ein Warnstatus gemeldet wird.

      critical=DOUBLE

      Antwortzeit in Sekunden, nach der ein kritischer Status gemeldet wird.

      expect = STRING

      Liste mit durch Kommas getrennten Strings, von denen mindestens einer in der ersten Zeile (Statuszeile) der Serverantwort enthalten sein muss (Standard: HTTP/1). Bei Angabe dieses Werts werden alle anderen Statuszeilenstrukturen (z. B. 3xx-, 4xx-, 5xx-Verarbeitung) übersprungen.

      string = STRING

      Zeichenfolge, die im Inhalt erwartet wird.

      url = PATH

      URL mit GET oder POST (Standard: /).

      post = STRING

      URL zur Codierung der HTTP-POST-Daten.

      method = STRING

      Legt die HTTP-Methode fest (z. B. HEAD, OPTIONS, TRACE, PUT, DELETE).

      timeout = INTEGER

      Anzahl der Sekunden, nach denen die Zeit für eine Verbindung überschritten ist (Standard: 10 Sekunden).

      Tabelle 3. Erweiterungen für HTTPS-Protokoll

      Überwachungserweiterung

      Beschreibung

      certificate=INTEGER

      Mindestanzahl der Tage, die ein Zertifikat gültig sein muss. Port standardmäßig 443. Bei Verwendung dieser Option wird die URL nicht überprüft.

      authorization=AUTH_PAIR

      Benutzername:Kennwort auf Sites mit Standardauthentifizierung.

      ciphers=’ECDHE-RSA-AES256-GCM-SHA384’

      Stellt die bei der HTTPS-Systemstatusprüfung verwendeten Verschlüsselungen dar.

  14. Wenn Sie UDP als Überwachungstyp auswählen, führen Sie die folgenden Schritte aus:
    1. Senden (Send) (erforderlich): Geben Sie die Zeichenfolge ein, die nach dem Verbindungsaufbau an den Backend-Server gesendet werden soll.
    2. Empfangen (Receive) (erforderlich): Geben Sie den String ein, der vom Backend-Server empfangen werden soll. Der Server wird nur dann als AKTIV eingestuft, wenn der empfangene String mit dieser Definition übereinstimmt.
    Hinweis:

    Für die UDP-Überwachung wird keine Erweiterung unterstützt.

  15. Wenn Sie DNS als Überwachungstyp auswählen, führen Sie die folgenden Schritte aus:
    1. Senden (Send) (erforderlich): Geben Sie den String ein, der nach dem Verbindungsaufbau an den Backend-Server gesendet werden soll.
    2. Empfangen (Receive): Geben Sie den String ein, der vom Back-End-Server empfangen werden soll. Der Server wird nur dann als verfügbar eingestuft, wenn der empfangene String mit dieser Definition übereinstimmt.
    3. Erweiterung (Extension): Geben Sie erweiterte Monitorparameter als Schlüssel=Wert-Paare im Abschnitt „Erweiterung“ ein.

      Zum Beispiel gibt die Erweiterung „Warnung=10“ an, dass der Status eines Servers auf „Warnung“ gesetzt wird, wenn dieser nicht innerhalb von 10 Sekunden antwortet. Dieser Überwachungstyp unterstützt nur das TCP-Protokoll.

      Alle Erweiterungselemente müssen mit einem Wagenrücklaufzeichen getrennt werden.

    Tabelle 4. Erweiterungen für das DNS-Protokoll

    Überwachungserweiterung

    Beschreibung

    querytype=TYPE

    Optional: Abfragetyp für DNS-Datensatz, wobei TYPE A, AAAA, SRV, TXT, MX, CNAME, ANY.

    • A = IPv4-Adresse des Hosts

    • AAAA = Ipv6-Adresse des Hosts

    • SRV = Dienst-Locator

    • TXT = Textdatensatz

    • MX = Mail Exchange für den Domänendatensatz

    • CNAME = der kanonische Name eines Alias-Datensatzes

    Der Standard-Abfrage-Typ ist A.

    expect-authority

    Optional: Erwarten Sie, dass der DNS-Server für die Suche autoritativ ist.

    accept-cname

    Optional: Akzeptieren Sie cname-Antworten als gültiges Ergebnis einer Abfrage. Es wird zusammen mit querytype=CNAME verwendet.

    Die Standardeinstellung ist, die cname-Antworten als Teil des Ergebnisses zu ignorieren.

    warning=seconds

    Optional: Gibt einen WARNHINWEIS aus, wenn die verstrichene Zeit den angegebenen Wert überschreitet.

    Standard ist auf „aus“ eingestellt.

    critical=seconds

    Optional: Gibt eine KRITISCHE Warnung aus, wenn die verstrichene Zeit den angegebenen Wert überschreitet.

    Standard ist auf „aus“ eingestellt.

  16. Wenn Sie MSSQL als Überwachungstyp auswählen, führen Sie die folgenden Schritte aus:
    1. Senden (Send): Geben Sie die Zeichenfolge ein, die nach dem Verbindungsaufbau auf dem Back-End-Server ausgeführt werden soll.
    2. Empfangen (Receive): Geben Sie den String ein, der vom Back-End-Server empfangen werden soll. Der Server wird nur dann als verfügbar eingestuft, wenn der empfangene String mit dieser Definition übereinstimmt.
    3. Benutzername (User Name), Kennwort (Password) und Kennwort bestätigen (Confirm password) (erforderlich): Geben Sie den erforderlichen Benutzernamen und das Kennwort ein und bestätigen Sie das eingegebene Kennwort. Da der Monitor mit einem Pool verknüpft ist, müssen Sie die MSSQL-Server im Pool mit den gleichen Benutzernamen und dem Kennwort, die hier angegeben wurden, festlegen.
    4. Erweiterung (Extension): Geben Sie erweiterte Monitorparameter als Schlüssel=Wert-Paare im Abschnitt „Erweiterung“ ein.

      Zum Beispiel gibt die Erweiterung „Warnung=10“ an, dass der Status eines Servers auf „Warnung“ gesetzt wird, wenn dieser nicht innerhalb von 10 Sekunden antwortet.

      Alle Erweiterungselemente müssen mit einem Wagenrücklaufzeichen getrennt werden.

    Tabelle 5. Erweiterungen für das MSSQL-Protokoll

    Überwachungserweiterung

    Beschreibung

    database=DBNAME

    Optional: Datenbankname für die Herstellung der Verbindung.

    Diese Erweiterung ist erforderlich, wenn der Parameter Senden oder storedproc verwendet wird.

    storedproc=STOREPROC

    Optional: Gespeicherte Prozedur für die Ausführung des MSSQL-Servers.

  17. Wenn Sie LDAP als Überwachungstyp auswählen, führen Sie die folgenden Schritte aus:
    1. Kennwort (Password) und Kennwort bestätigen (Confirm password) (optional): Geben Sie das erforderliche Kennwort ein und bestätigen Sie das eingegebene Kennwort.
    2. Erweiterung (Extension): Geben Sie erweiterte Monitorparameter als Schlüssel=Wert-Paare im Abschnitt „Erweiterung“ ein.

      Zum Beispiel gibt die Erweiterung „Warnung=10“ an, dass der Status eines Servers auf „Warnung“ gesetzt wird, wenn dieser nicht innerhalb von 10 Sekunden antwortet.

      Alle Erweiterungselemente müssen mit einem Wagenrücklaufzeichen getrennt werden.

    Tabelle 6. Erweiterungen für das LDAP-Protokoll

    Überwachungserweiterung

    Beschreibung

    attr=’ATTR’

    Optional: LDAP-Attribut für Suche (Standard: „(objectclass=*)“.

    Sie müssen attr zusammen mit dem Bereich crit-entires verwenden.

    base=’cn=admin,dc=example,dc=com’

    Erforderlich: LDAP-Basis (z. B. ou=Meine Einheit, o=Meine Org, c=at

    ver2 oder ver3

    Optional:

    • ver2: Verwenden Sie LDAP-Protokoll, Version 2.

    • ver3: Verwenden Sie LDAP-Protokoll, Version 3.

    Standard-Protokollversion ist ver2.

    bind=BINDDN

    Optional: LDAP bindet definierten Namen (DN, falls erforderlich).

    Weitere Informationen finden Sie unter https://www.ldap.com/the-ldap-bind-operation.

    crit=DOUBLE

    Optional: Antwortzeit nach KRITISCHEM gemeldetem Status (in Sekunden).

    crit-entries=low:high

    Optional: Anzahl der gefundenen Einträge, die den kritischen Status hervorrufen.

    Wenn die Anzahl der gefundenen Einträge außerhalb des Bereichs [niedrig, hoch] liegt, ist das Ergebnis der Systemstatusprüfung KRITISCH.

  18. Klicken Sie auf OK.

Nächste Maßnahme

Weisen Sie einem Pool einen Dienstmonitor zu.