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-active für vorhandene Lastausgleichsfunktionen den Wert true fest.

  • 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:

Datenpfad-Protokollfelder
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:

  • PRIORITY gibt die jeder Nachricht zugeordnete Protokollebene für die Priorität des Protokolls an. Derzeit stellt info die einzige Option dar.
  • MSG_timestamp ist die Zeitmarke in koordinierter Weltzeit (UTC).
  • SentByHost ist die VIP der Appliance. Bei öffentlichen Lastausgleichsfunktionen handelt es sich hierbei um die variable IP-Adresse, bei privaten Lastausgleichsfunktionen um eine private IP-Adresse.
  • MESSAGE ist der Inhalt der Protokollnachricht.
  • logSourceCRN gibt an, welche Instanz von Log Analysis zum Speichern der Protokolle für das Konto verwendet werden soll.
  • saveServiceCopy ist mit false (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.