Konfiguration des IBM Cloud Logs Routing-Dienstes zur Weiterleitung von Plattformprotokollen an eine IBM Cloud Logs-Instanz in einer Region

Verwenden Sie den IBM Cloud Logs Routing-Dienst, um Plattformprotokolle von Ihrem IBM Cloud-Konto an ein IBM Cloud Logs-Instanz-Ziel zu leiten. Sie müssen einen Mieter in der Region und einen Zielort konfigurieren.

Ein Tenant ist die kontospezifische Konfiguration von IBM Cloud Logs Routing innerhalb einer Region. Die Mandantenkonfiguration umfasst maximal 1 Zieldefinition. Das Ziel definiert, wohin die Protokolle weitergeleitet werden.

Sie müssen in Ihrem Konto in jeder Region, in der Sie IBM Cloud Logs Routing verwenden möchten, einen Tenant anlegen. Jede Region ist unabhängig und die Regionen tauschen keine Daten aus.

Ziele

In diesem Lernprogramm werden Sie:

  • Konfigurieren Sie IBM Cloud Logs Routing, um Plattformprotokolle an eine IBM Cloud Logs Instanz in einer Region weiterzuleiten.

  • Überprüfen Sie, ob die Plattformprotokolle an Ihre IBM Cloud Logs-Instanz weitergeleitet werden.

Vorbereitende Schritte

Führen Sie die folgenden Schritte aus:

  1. Lesen Sie Über IBM® Cloud Logs Routing, um die Konzepte zu verstehen.

  2. Installieren Sie alle vorausgesetzten Tools, wie im Abschnitt Einstieg beschrieben.

  3. Um Details zu einem Tenant über die API abzurufen, überprüfen Sie, ob Sie sich über die Verwaltungs-API mit IBM Cloud Logs Routing verbinden können. Weitere Informationen finden Sie in Mit IBM® Cloud Logs Routing verbinden.

  4. Plattformprotokolle, die an IBM Cloud Logs weitergeleitet werden, enthalten Metadatenfelder, die Sie zur Verwaltung der Daten und zur Konfiguration von Funktionen in Ihrer IBM Cloud Logs-Instanz verwenden können.

    Der Anwendungsname ist die Umgebung, die Protokolle erstellt und an IBM Cloud Logs sendet. In den Plattformprotokollen ist der Anwendungsname auf ibm-platform-log gesetzt.

    Der Name des Subsystems ist der Dienst oder die Anwendung, die Protokolle oder Metriken erstellt und an IBM Cloud Logs sendet. Bei Plattformprotokollen ist der Name des Subsystems auf CRNserviceName:instanceID gesetzt. Für die Protokolle der VPC-Plattform wird das Feld auf is:resourceType gesetzt.

  5. Richten Sie Berechtigungen für die Verwaltung von Zielen im Konto ein. Weitere Informationen finden Sie in IAM-Berechtigungen erteilen.

    Bevor Sie den IBM Cloud Logs Routing-Dienst einrichten können, um Ihre Plattformprotokolle weiterzuleiten, benötigen Sie ein IBM Cloud® Identity and Access Management (IAM)-Zugangs-Token zur Authentifizierung. Die IBM Cloud CLI wird verwendet, um diese Informationen zu erhalten.

    1. Melden Sie sich bei Ihrem IBM Cloud-Konto an. Fügen Sie die Option --sso hinzu, wenn Sie eine föderierte ID verwenden.

      ibmcloud login [--sso]
      

      Die Ausgabe enthält Ihren Benutzernamen in etwa so:

      Targeted account Jane Doe\'s Account (111111111112a21af53a2aeed19a1542a44) <-> 11111156
      
      
       API endpoint:     https://cloud.ibm.com
       Region:           us-south
       User:             Jane.Doe@ibm.com
       Account:          Jane Doe\'s Account (111111111112a21af53a2aeed19a1542a44) <-> 11111156
       Resource group:   No resource group targeted, use 'ibmcloud target -g RESOURCE_GROUP'
      
    2. Um Ihrem Benutzer den Zugang zur Verwendung von IBM Cloud Logs Routing zu gewähren, sammeln Sie den Benutzernamen aus der oben generierten Ausgabe. In unserem Beispiel wäre dies Jane.Doe@ibm.com. Ersetzen Sie <username> im folgenden Befehl durch Ihren Benutzernamen:

      ibmcloud iam user-policy-create <username> --roles Manager --service-name logs-router
      

      Eine gängige Strategie besteht darin, Rollen nicht direkt Identitäten zuzuweisen, sondern sie Zugriffsgruppen zuzuordnen und Identitäten als Mitglieder zu diesen Zugriffsgruppen hinzuzufügen. Weitere Informationen zu Zugriffsgruppen finden Sie in Zugriffsgruppen einrichten.

Erstellen einer Dienst-zu-Dienst-Autorisierung

Sie müssen IBM Cloud® Identity and Access Management (IAM) verwenden, um eine Berechtigung zu erstellen, die IBM Cloud Logs Routing Zugriff auf IBM Cloud Logs gewährt.

Erstellen einer Dienst-zu-Dienst-Autorisierung über die Benutzeroberfläche

Führen Sie die folgenden Schritte aus:

  1. Melden Sie sich bei Ihrem IBM Cloud Konto an.

  2. Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Zugriff (IAM) und wählen Sie Autorisierungen aus.

  3. Klicken Sie auf Erstellen.

  4. Konfigurieren Sie das Quellkonto. Wählen Sie Dieses Konto.

  5. Wählen Sie Logs Routing als Quelldienst. Legen Sie dann den Bereich des Zugriffs auf Alle Ressourcen fest.

  6. Wählen Sie Cloud Logs als Zieldienst. Legen Sie dann den Zugriffsbereich auf Alle Ressourcen fest, was den Zugriff auf alle IBM Cloud Logs-Instanzen gewährt, oder auf eine einzelne Instanz, indem Sie Ressourcen auf der Grundlage ausgewählter Attribute > Service-Instanz konfigurieren.

    Andere Attribute werden für diese Art der Berechtigung nicht unterstützt.

  7. Wählen Sie im Abschnitt Dienstzugang die Option Sender, um dem Quelldienst, der auf den Zieldienst zugreift, Zugang zu gewähren.

  8. Klicken Sie auf Autorisieren.

Erstellen einer Dienst-zu-Dienst-Autorisierung mit Hilfe der CLI

Sie müssen eine Dienst zu Dienst (S2S) Autorisierung zwischen IBM Cloud Logs und IBM® Cloud Logs Routing, damit der IBM® Cloud Logs Routing-Dienst Protokolle an Ihren Tenant senden kann.

Führen Sie die folgenden Schritte aus:

  1. Abrufen des IAM-Trägertokens und Exportieren als Umgebungsvariable. Führen Sie den folgenden Befehl aus:

    Sie benötigen ein IBM Cloud® Identity and Access Management (IAM) Zugriffstoken, um Ihre Anfragen an den IBM® Cloud Logs Routing Dienst zu authentifizieren. Weitere Informationen finden Sie unter Zugriffstoken abrufen.

    Sie können beispielsweise Ihr IAM-Träger-Token abrufen und es als Umgebungsvariable exportieren, indem Sie den folgenden CLI-Befehl ausführen:

    export IAM_TOKEN=`ibmcloud iam oauth-tokens --output json | jq -r '.iam_token'`
    

    Überprüfen Sie, ob Ihr Token korrekt exportiert wurde, indem Sie es in Ihrem Terminal anzeigen lassen.

    echo $IAM_TOKEN
    

    Die Ausgabe sollte mit Bearer beginnen, gefolgt von einer Zeichenfolge mit Buchstaben, Zahlen und Symbolen.

  2. Erstellen Sie eine Autorisierungsrichtlinie.

    ibmcloud iam authorization-policy-create logs-router logs Sender
    

Weitere Informationen finden Sie unter Erstellen einer S2S-Berechtigung, um den Zugriff auf das Senden von Protokollen an IBM Cloud Logs.

Abruf Ihrer IBM Cloud Logs Informationen

Um Daten an eine IBM Cloud Logs-Instanz weiterzuleiten, benötigen Sie Informationen über das Ziel, an das die Protokolle geliefert werden sollen. Sie benötigen die folgenden Informationen für Ihre IBM Cloud Logs Instanz:

  • Die Instanz CRN
  • Endpunkt und Anschluss für die Aufnahme (Ingress)

Verwenden Sie diesen Befehl, um URL und ID abzurufen:

ibmcloud resource service-instances --service-name logs --long --output JSON | jq '[.[] | {name: .name, id: .id, region: .region_id, ingestion_endpoint: .extensions.external_ingress}]'

Wenn Sie mehrere Instanzen haben, wählen Sie eine aus, die Sie für den Empfang der Plattformprotokolle verwenden möchten, und speichern Sie die Informationen für später.

Der Endpunkt ist ähnlich wie:

ingestion_endpoint: 3a622101-7521-4002-bf91-8c26e17eedcf.ingress.eu-de.logs.cloud.ibm.com

Die ID ist ähnlich wie:

"crn:v1:bluemix:public:logs:eu-es:a/15ff25632a21af53a2aeed19a1542a44:3a622101-7521-4002-bf91-8c26e17eedcf::"

Um alle Informationen über die Instanz zu erhalten, können Sie ibmcloud resource service-instances --service-name logs --long --output JSON Dieser Befehl listet alle Ihre IBM Cloud Logs Instanzen auf. Sie benötigen die folgenden Felder: ID, das die CRN der Instanz enthält, extensions.external_ingress, das den Ingress-Endpunkt enthält, und extensions.virtual_private_endpoints.endpoints.ports.port_max, das den Port-Wert enthält.

Anlegen eines Mieters und eines Ziels

Um Ihre Plattformprotokolle zu erhalten, müssen Sie einen Tenant mit dem Dienst IBM Cloud Logs Routing erstellen.

Sie müssen Ihren Tenant in der Region erstellen, in der Sie Plattformprotokolle sammeln und an die Instanz IBM Cloud Logs weiterleiten möchten.

Erstellen eines Mieters und eines Ziels mit Hilfe der API

Führen Sie die folgende cURL-Anfrage über die Befehlszeile aus:

Der Erstellungsauftrag legt den Mieter in der Region und dem Ziel an.

curl -X POST https://<MANAGEMENT-API-ENDPOINT>:443/v1/tenants \
-H "Content-Type: application/json" \
-H "Authorization: ${IAM_TOKEN}" \
-H 'IBM-API-Version: DATE' \
--data '{
    "name": "TENANT_NAME",
    "targets": [
        {
            "log_sink_crn": "CLOUD_LOGS_INSTANCE_ID",
            "name": "TARGET_NAME",
            "parameters": {
                "host": "CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT",
                "port": PORT
            }
        }
    ]
}'

Wo

Parameterbeschreibungen
Parameter Beschreibung
MANAGEMENT-API-ENDPOINT Der Endpunkt des IBM® Cloud Logs Routing-Dienstes. Weitere Informationen finden Sie unter Endpunkte. Beispiel: https://management.eu-es.logs-router.cloud.ibm.com
IAM_TOKEN Das IAM-Token, das Sie zuvor erhalten haben. Wenn Sie sie in Ihrer Umgebung wie oben beschrieben exportiert haben, wird sie automatisch ersetzt.
DATE Das aktuelle Datum. Beispiel: 2024-03-01
TENANT_NAME Name des Mieters. Der Name muss für alle Mieter dieses Kontos eindeutig sein und kann bis zu 35 Zeichen lang sein. Der Wert darf nur diese Zeichen enthalten: a-z,0-9,-./ Ein Beispiel wäre eu-es-tenant.
TARGET_NAME Name des Zielortes. Der Name muss für alle Ziele innerhalb einer Region eindeutig sein und kann bis zu 35 Zeichen lang sein. Der Wert darf nur diese Zeichen enthalten: a-z,0-9,-./ Sie können zum Beispiel den Namen Ihrer IBM Cloud Logs Instanz wählen. Ein Beispiel wäre platformlogs-eu-es.
CLOUD_LOGS_INSTANCE_ID Die CRN Ihrer IBM Cloud Logs Instanz.
CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT Endpunkt Ihrer IBM Cloud Logs-Instanz
PORT Setzen auf 443

Überprüfen Sie Ihren Befehl sorgfältig, da er Werte enthält, die zuvor erfasst wurden. Achten Sie darauf, die notwendigen Ersetzungen vorzunehmen, damit der Befehl wie erwartet funktioniert.

Wenn die Erstellungsanfrage erfolgreich war, wird eine Antwort mit den Metadaten Ihres Mieters zurückgegeben. Beispiel:

{
    "id": "3517d2ed-9429-af34-ad52-34278391cbc8:",
    "created_at": "2023-10-20T18:30:00.143156Z",
    "updated_at": "2023-10-20T18:30:00.143156Z",
    "crn": "crn:v1:bluemix:public:logs-router:eu-de:a/3516b8fa0a174a71899f5affa4f18d78:3517d2ed-9429-af34-ad52-34278391cbc8::",
    "name": "tenant",
    "etag": "\"822b4b5423e225206c1d75666595714a11925cd0f82b229839864443d6c3c049\"",
    "targets": [
    {
        "id": "86432b-66a6-df12-7003-888a21a2b3",
        "log_sink_crn": "crn:v1:bluemix:public:logs:eu-gb:a/91d1d1e42f9b684df920bbd06461c222:743e3b4f-72bc-4669-9fa6-0e6621d0b232::",
        "name": "my-log-sink",
        "etag": "\"c3a43545a7f2675970671ac3a57b8db067a1866b2222e1b950ee8da612e347c6\"",
        "type": "logs",
        "created_at": "2023-10-20T18:30:00.143156Z",
        "updated_at": "2023-10-20T18:30:00.143156Z",
        "parameters": {
            "host": "743e3b4f-72bc-4669-9fa6-0e6621d0b232.ingress.eu-gb.logs.cloud.ibm.com",
            "port": 443
        }
    }
    ]
}

Anlegen eines Mieters über die Benutzeroberfläche

Führen Sie die folgenden Schritte aus:

  1. Melden Sie sich bei Ihrem IBM Cloud Konto an.

  2. Klicken Sie auf das Menüsymbol Menüsymbol > Beobachtbarkeit.

  3. Klicken Sie auf Logging > Routing.

  4. Klicken Sie auf Ziel setzen.

  5. Wählen Sie eine Instanz von IBM Cloud Logs aus der Liste aus. Dies ist die Instanz, in der Sie Protokolle empfangen möchten, die von IBM Cloud Logs Routing weitergeleitet werden.

    Sie können eine IBM Cloud Logs Instanz aus der Liste auswählen oder eine bestimmte CRN angeben.

    Die IBM Cloud Logs-Instanz muss sich im selben Konto befinden, das Sie konfigurieren.

  6. Klicken Sie auf Speichern.

Überprüfung, ob die Protokolle an das Ziel gesendet werden

Um sicherzustellen, dass Ihre Plattformprotokolle erfolgreich nach IBM Cloud Logs fließen, führen Sie die folgenden Schritte durch:

  1. Starten Sie die IBM Cloud Logs Web UI für die IBM Cloud Logs Instanz, die als Ziel zum Sammeln von Plattformprotokollen in einer Region konfiguriert ist. Dies ist die Instanz, die Sie in dem Schritt, in dem Sie ein Ziel einrichten, ausgewählt haben.

  2. Anzeigen von Protokollen über benutzerdefinierte Ansichten. Weitere Informationen finden Sie unter Protokolle anzeigen.

Alle Plattformprotokolle werden in JSON generiert. Sie können Plattformprotokolle in Ihrer Instanz filtern, indem Sie den Wert von ibm-platform-logs als applicationName auswählen.