Details zu Load Balancer-Logs

Loggingdetails für Load Balancer-Logs.

Weitere Informationen finden Sie unter Logging für Load Balancer.

Ressourcen

  • Load Balancer

Logkategorien

API-Wert (ID): Konsole (Anzeigename) Beschreibung
Zugriff Zugriffslogs Load Balancer-Zugriffslogs.
Fehler Fehlerlogs Load Balancer-Fehlerlogs.

Verfügbarkeit

LBaaS-Zugriffslogs sind in allen Regionen der kommerziellen Realms verfügbar.

Load Balancer-Zugriffslog

Load Balancer-Zugriffslogs erfassen detaillierte Informationen zu Anforderungen, die an den Load Balancer gesendet werden. Jeder Zugriffslogeintrag enthält:
  • Die Zeit, zu der die Anforderung eingegangen ist.
  • IP-Adressen von Clients und zwischengeschalteten HTTP-Proxys.
  • Zeit, die der Load Balancer und das Backend benötigen, um die Anforderung zu verarbeiten.
Einschränkungen und Überlegungen

Aufgrund von Kapazitätsproblemen oder Systemfehlern kann es vorkommen, dass ein Teil des Traffics während eines Erfassungsfensters nicht geloggt wird. In diesen Fällen wird die folgende Fehlerlogmeldung geloggt.

{"timestamp":"2020-08-05T00:12:39+00:00","errorLog":{"type":"General","errorDetails": "Missed 100 access logs" }}

Bei Traffic, der für die öffentliche IP eines Load Balancers bestimmt ist, erfassen Zugriffslogs die entsprechende private IP.

Inhalt eines Zugriffslogs

Zugriffslogs werden als Wert im Feld Logdaten angezeigt. Bei dem Wert handelt es sich um JSON-formatierte Daten mit den folgenden Feldern:

Feld Beispiel Beschreibung
timestamp 2020-04-20T00:56:18+00:00 Generierungszeit für Logeinträge im Format ISO-8601.
clientAdd 192.168.0.33:7870 IP-Adresse und Portnummer des anfordernden Clients.
forwardedForAddr 192.168.0.33 IP-Adresse des Clients und von HTTP-Proxys, die zwischen Client und Load Balancer geschaltet sind.
host a.com Domainname, der in die dem Load Balancer zugewiesene VIP-Adresse aufgelöst wird.
backendAddr 192.168.0.34:8080 IP-Adresse und Portnummer des Backend-Servers, der die Clientanforderung verarbeitet hat.
requestProcessingTime 0.003 Gesamte aufgewendete Zeit (in Sekunden mit Millisekundengenauigkeit) ab dem Zeitpunkt, zu dem der Load Balancer beginnt, die Anforderung vom Client zu empfangen, bis zum Zeitpunkt, zu dem die Übermittlung der Antworten an den Client abgeschlossen ist.
backendConnectTime 0.00 Zeitaufwand (in Sekunden mit Millisekundengenauigkeit), um eine Backend-Serververbindung herzustellen.
backendProcessingTime 0.002 Gesamte aufgewendete Zeit ab dem Zeitpunkt, zu dem vom Load Balancer eine Verbindung zu einem Backend hergestellt wird, bis zum Zeitpunkt, zu dem er die Antwort vom Backend vollständig erhalten hat.
lbStatusCode 200 Statuscode der Antwort vom Load Balancer.
backendStatusCode 200 Statuscode der Antwort vom Ziel.
receivedBytes 150 Gesamtgröße der Anforderung (in Byte), die vom Client empfangen wird.
sentBytes 450 Gesamtgröße der Antwort (in Byte), die vom Load Balancer an den Client gesendet wird.
request "GET / HTTP/1.1" Vom Client empfangene Anforderungszeile.
sslCipher ECDHE-RSA-AES256-GCM-SHA384 Ausgehandelte SSL-Cipher zwischen Client und Load Balancer.
listenerName http_listener_1 Listener, der die eingehende Trafficanforderung an die IP-Adresse des Load Balancers empfangen hat.
sslProtocol TLSv1.2 Ausgehandeltes SSL-Protokoll zwischen Client und Load Balancer.
userAgent curl/7.29.0 Benutzer-Agent, der die Anforderung an den Load Balancer gesendet hat.
routingRulesMatchedRule RoutingPolicy_test_rule1 Name der Routing-Policy-Regel, die mit dieser spezifischen Clientanforderung übereinstimmt.
routingRulesRuleHits 1 Anzahl der Routingregeln, die mit der Anforderung übereinstimmen. Entweder 1 (für eine Übereinstimmung) oder 0 (für keine Übereinstimmung).
routingRulesRuleMisses 4 Anzahl der Routingregeln, die für die Anforderung als "false" ausgewertet wurden.
routingRulesEngineErrors 0 Fehler der Routingregel-Engine während der Policy-Auswertung für die Anforderung. Entweder 0 (kein Fehler) oder 1, wenn ein Fehler auftritt. Wenn ein Fehler auftritt, werden Anforderungen an das dem Listener angehängte Standard-Backend-Set weitergeleitet.
requestId 0123456789abcdef0123456789abcdef Eindeutige Anforderungs-ID im Hexadezimalformat (16 Byte).
responseProvider 192.168.0.34:8080

Informationen darüber, woher die Antwort kommt. Kann Folgendes enthalten:

  • Backend-IP-Adresse und -Port, wenn die Antwort von einem Backend stammt.

  • Load-Balancer-Regeltyp (eine der "Load-Balancer-HTTP-Methodenregeln", "Load-Balancer-IP-ACL-Regel", "Load-Balancer-Umleitungsregel"), wenn die Antwort von einer Load-Balancer-Regel generiert wird.

  • WAF-Regelmodul und -Name, wenn dem Load Balancer WAF zugeordnet ist und die Anforderung von WAF blockiert wird.

  • Leere Zeichenfolge, wenn die Anforderungsverarbeitung im Load Balancer wegen eines Fehlers gestoppt wird (z.B. 400 ungültige Anforderung).

Load Balancer-Fehlerlog

Load Balancer-Fehlerlogs erfassen detaillierte Informationen zu Anforderungen, die sich auf die Fehlerbehebung und das Monitoring beziehen. Jeder Fehlerlogeintrag enthält Informationen wie beispielsweise den Zeitpunkt, zu dem die Anforderung empfangen wurde, den Fehlertyp sowie zusätzliche Details zum jeweiligen Fehler.

Inhalt eines Fehlerlogs

Bei dem Wert handelt es sich um JSON-formatierte Daten mit den folgenden Feldern:

Feld Beispiel Beschreibung
timestamp 2020-08-04T21:25:27+00:00 Generierungszeit für Logeinträge im Format ISO-8601.
type frontDoor Fehlerlogkategorie.
errorDetails Access for client 160.34.88.6 forbidden by ACL rule Ausführliche Beschreibung der Fehlermeldung.
Beispielfehlerlogs
Typ Szenario Beschreibung Beispiel
healthChecker Verbindungstimeout Backend Health Check wegen Verbindungstimeout nicht erfolgreich. {"timestamp":"2020-08-05T00:12:39+00:00","errorLog":{"type":"healthChecker","errorDetails":{"healthStatus":"Healthy to Unhealthy",

"backendSetName":"newtest","backend":"10.10.100.7:80","details":{"date":1596586352368,"failures":3,"successes":6,"skips":0,"message":
{"msg":"connect timed out","elapsed":3000}}}}}

healthChecker RespCode stimmt nicht überein Backend Health Check nicht erfolgreich, weil RespCode nicht übereinstimmt. {"timestamp":"2020-08-04T23:08:07+00:00","errorLog":{"type":"healthChecker","errorDetails":{"healthStatus":"Healthy to Unhealthy",

"backendSetName":"newtest","backend":"10.10.100.7:80","details":{"date":1596582477049,"failures":3,"successes":0,"skips":0,"message":
{"msg":"invalid statusCode","statusCode":404,"expected":"200"}}}}}

healthChecker RegEx stimmt nicht überein Backend Health Check nicht erfolgreich, weil RegEx nicht übereinstimmt. {"timestamp":"2020-08-04T23:28:52+00:00","errorLog":{"type":"healthChecker","errorDetails":{"healthStatus":"Healthy to Unhealthy",

"backendSetName":"newtest","backend":"10.10.100.7:80","details":{"date":1596583722793,"failures":3,"successes":0,"skips":0,"message":{"expectedRegex":"^notexist$","msg":"response match result: failed",
"base641kData":"CjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3hodG1s
MS10cmFuc2l0aW9uYWwuZHRkIj4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgogIDwhLS0KICAgIE1vZGlmaWVkIGZyb20gdGhlIERlYmlhbiBvcmlnaW5hbCBmb3Ig
VWJ1bnR1CiAgICBMYXN0IHVwZGF0ZWQ6IDIwMTYtMTEtMTYKICAgIFNlZTogaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2J1Z3MvMTI4ODY5MAogIC0tPgogIDxoZWFkPgogICAgPG1ldGEgaH
R0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CiAgICA8dGl0bGU+QXBhY2hlMiBVYnVudHUgRGVmYXVsdCBQYWdlOiBJdCB3b3JrczwvdG
l0bGU+CiAgICA8c3R5bGUgdHlwZT0i"}}}}}

healthChecker Verbindung abgelehnt Backend Health Check wegen Verbindungs-RST nicht erfolgreich. {"timestamp":"2020-08-04T19:53:29+00:00","errorLog":{"type":"healthChecker","errorDetails":{"healthStatus":"Healthy to Unhealthy",

"backendSetName":"newtest","backend":"10.10.100.7:80","details":{"date":1596570799950,"failures":3,"successes":0,"skips":0,"message":
{"msg":"error","error":{"code":"ECONNREFUSED","errno":"ECONNREFUSED",
"syscall":"connect","address":"10.10.100.7","port":80}}}}}}

healthChecker

Host nicht erreichbar Backend Health Check nicht erfolgreich, weil der Host nicht erreichbar ist. {"timestamp":"2020-08-06T22:29:10+00:00","errorLog":{"type":"healthChecker","errorDetails":{"healthStatus":"Healthy to Unhealthy","backendSetName":"http-pool","backend":"10.10.100.8:80","details":{"date":1596752940288,"failures":3,"successes":0,"skips":0,"message":{"msg":"error","error":{"code":"EHOSTUNREACH","errno":"EHOSTUNREACH","syscall":"connect","address":"10.10.100.8","port":80}}}}}}
healthChecker Erfolg (von fehlerhaft zu fehlerfrei) Fehlerhaftes Backend wurde fehlerfrei. {"timestamp":"2020-08-04T20:00:20+00:00","errorLog":{"type":"healthChecker","errorDetails":{"healthStatus":"Unhealthy to Healthy","backendSetName":"newtest","backend":"10.10.100.7:80","details":{"date":1596571210421,"failures":41,"successes":3,"skips":0,"message":{"expectedRegex":"(?:)","msg":"response match result: ok","base641kData":"CjwhRE9DVFlQRSBodG1sIFBVQkxJQyAiLS8vVzNDLy9EVEQgWEhUTUwgMS4wIFRyYW5zaXRpb25hbC8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9UUi94aHRtbDEvRFREL3h

odG1sMS10cmFuc2l0aW9uYWwuZHRkIj4KPGh0bWwgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgogIDwhLS0KICAgIE1vZGlmaWVkIGZyb20gdGhlIERlYmlhbiBvcmlnaW5
hbCBmb3IgVWJ1bnR1CiAgICBMYXN0IHVwZGF0ZWQ6IDIwMTYtMTEtMTYKICAgIFNlZTogaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2J1Z3MvMTI4ODY5MAogIC0tPgogIDxoZWFkPgogI
CAgPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9VVRGLTgiIC8+CiAgICA8dGl0bGU+QXBhY2hlMiBVYnVudHUgRGVmYXVsdCBQYW
dlOiBJdCB3b3JrczwvdGl0bGU+CiAgICA8c3R5bGUgdHlwZT0idGV4dC9j"}}}}}

healthChecker SSL-Backend mit SSL-Fehler Backend Health Check wegen SSL-Fehler nicht erfolgreich. {"timestamp":"2020-08-06T06:45:23+00:00","errorLog":{"type":"healthChecker","errorDetails":{"healthStatus":"Healthy to Unhealthy",

"backendSetName":"ssl-pool","backend":"10.10.100.7:443","details":{"date":1596696313688,"failures":3,"successes":0,"skips":0,"message":
{"msg":"error","error":{"code":"EPROTO","errno":"EPROTO","syscall":"write"}}}}}}

frontDoor ACL-Drop (TCP) Unterbrechung der Clientverbindung aufgrund von ACL-Regeln. {"timestamp":"2020-08-04T21:25:27+00:00","errorLog":{"type":"frontDoor","errorDetails":"Access for client 160.34.88.6 forbidden by TCP ACL rule"}}
sslClient SSL-Fehler, da der Client kein Zertifikat gesendet hat Fehler bei SSL-Handshake, da kein Zertifikat vorhanden ist. {"timestamp":"2020-08-06T06:19:36+00:00","errorLog":{"type":"sslClient","errorDetails":"Client 160.34.89.107 sent no required SSL certificate"}}
backEnd Alle Backends ausgefallen (HTTP) Verbindungsfehler, wenn alle Backends fehlerhaft sind. {"timestamp":"2020-08-06T06:48:54+00:00","errorLog":{"type":"backEnd","errorDetails":"No healthy backends available"}}
backEnd Verbindungsfehler, wenn kein Backend konfiguriert ist (TCP) Verbindungsfehler, wenn alle Backends fehlerhaft sind. {"timestamp":"2020-08-04T19:59:03+00:00","errorLog":{"type":"backEnd","errorDetails":"No healthy backends available"}}
backEnd IOError.(http)Verbindung während der Transaktion geschlossen. Verbindungsfehler, wenn Backend die Verbindung während der Transaktion schließt. {"timestamp":"2020-08-06T22:40:29+00:00","errorLog":{"type":"backEnd","errorDetails":"Backend 10.10.100.7 closed connection abruptly"}}
backEnd Max. Verbindungslimit für Backend erreicht Verbindungsfehler, wenn das Backend bereits max_connection-Verbindungen aufweist. {"timestamp":"2023-11-13T23:21:13+00:00", "errorLog":{"type":"backEnd","errorDetails" "Backend 10.0.4.176 closed connection abruptly"}}
Backend Max. Verbindungslimit für Backend erreicht Verbindungsfehler, wenn alle Backends bereits max_connection-Verbindungen haben. {"timestamp":"2023-11-13T23:21:13+00:00", "errorLog":{"type":"backEnd","errorDetails":"Keine fehlerfreien Backends in verknüpften backendSet bs_lb_2023-1107-1228"}} verfügbar
Allgemein Max. Anzahl von Listener-IP-Verbindungen erreicht Löschen der Clientverbindung, weil das Regellimit von IP_BASED_MAX_CONNECTIONS erreicht wurde. {"timestamp":"2023-11-08T20:56:55+00:00","errorLog":{"type":"general","errorDetails":"Die Verbindung zu 10.0.4.232:80 wurde durch 139.87.112.128:49938"}} abrupt geschlossen