Weiterleitung von Datenpfadprotokollen
Daten- und Statusprüfungsprotokolle sind beim Debugging und bei der Wartung hilfreich. Wenn die Datenpfadprotokollierungsfunktion aktiviert ist, leitet IBM Cloud® Virtual Private Cloud Application Load Balancer for VPC (ALB) diese Protokolle an das Dashboard Ihres Kontos weiter IBM Cloud Logs dashboard weiter.
Sie können die Datenpfadprotokollierung auf verschiedene Weise aktivieren bzw. inaktivieren:
-
Erstellen Sie eine Lastausgleichsfunktion und aktivieren bzw. inaktivieren Sie die Umschaltfläche.
-
Legen Sie über die Befehlszeilenschnittstelle für die Eigenschaft
--logging-datapath-activefür vorhandene Lastausgleichsfunktionen den Werttruefest. -
Aktivieren Sie die Datenpfadprotokollierung über die API.
Wenn Sie noch keine Instanz von Log Analysis haben, müssen Sie vor der Aktivierung der Datenpfadprotokollierung zunächst eine Instanz erstellen.
Beispiele für die Protokollausgabe
Im Folgenden finden Sie ein Beispiel für die Ausgabe der Datenpfadprotokollierung mit IBM Cloud Application Load Balancer for VPC:
Sep 28 11:25:04 is-load-balancer crn:v1:bluemix:public:is:us-south:a/a1234567::load-balancer:r006-6ba32c0e-830c-483c-871a-0240c10662cf
{"PRIORITY":"info", "MSG_timestamp":"2020-09-28T03:25:03.136101+00:00", "SentByHost":"150.238.66.162", "MESSAGE":" Connect from 222.72.143.92:38605 to 10.240.128.5:62776 (r006-6ba32c0e-830c-483c-871a-0240c10662cf/HTTP)", "logSourceCRN":"crn:v1:bluemix:public:is:us-south:a/a1234567::load-balancer:r006-6ba32c0e-830c-483c-871a-0240c10662cf", "saveServiceCopy":false}
Die Protokolle enthalten den Protokollheader und die JSON-Zeichenfolge.
Der Protokollheader wird mit Datum/Uhrzeit (Sep 28 11:25:04), Protokollquelle (is-load-balancer) und Protokollquellen-CRN (crn:v1:bluemix:public:is:us-south...) erstellt.
Bei dem Datenpfadprotokoll handelt es sich um eine JSON-Zeichenfolge mit den folgenden Feldern:
| Feldname | Typ | Beschreibung |
|---|---|---|
| PRIORITÄT | Zeichenfolge | Die jeder Nachricht zugeordnete Protokollebene für die Priorität des Protokolls |
| MSG_timestamp | Zeichenfolge | Die Zeitmarke für den Zeitpunkt, an dem das Protokoll generiert wurde |
| SentByHost | Zeichenfolge | Die IP-Adresse des Hosts |
| NACHRICHT | Zeichenfolge | Eine Beschreibung der Protokolldatei |
| logSourceCRN | Zeichenfolge | Die Speicherposition der Protokolldatei in der Instanz von Log Analysis des im CRN angegebenen Kontos |
| saveServiceCopy | bool | Angabe, ob das Protokoll im STS von Log Analysis gespeichert werden soll. Standardwert: false. |
Im Folgenden finden Sie ein Beispiel für das JSON-Schema eines Datenpfadprotokolls:
{
"type": "object",
"properties": {
"PRIORITY": {
"type": "string"
},
"MSG_timestamp": {
"type": "string"
},
"SentByHost": {
"type": "string"
},
"MESSAGE": {
"type": "string"
},
"logSourceCRN": {
"type": "string"
},
"saveServiceCopy": {
"type": "boolean"
}
}
}
Dabei ist Folgendes zu beachten:
PRIORITYgibt die jeder Nachricht zugeordnete Protokollebene für die Priorität des Protokolls an. Derzeit stelltinfodie einzige Option dar.MSG_timestampist die Zeitmarke in koordinierter Weltzeit (UTC).SentByHostist die VIP der Appliance. Bei öffentlichen Lastausgleichsfunktionen handelt es sich hierbei um die variable IP-Adresse, bei privaten Lastausgleichsfunktionen um eine private IP-Adresse.MESSAGEist der Inhalt der Protokollnachricht.logSourceCRNgibt an, welche Instanz von Log Analysis zum Speichern der Protokolle für das Konto verwendet werden soll.saveServiceCopyist mitfalse(Standardwert) definiert. Diese Einstellung kann nicht geändert werden.
Das Format der Protokolle wird möglicherweise durch interne Upgrades geändert. Es wird empfohlen, die Nachrichten nur für Debugging-Zwecke zu verwenden, nicht für die Buildautomatisierung.