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:
-
Lesen Sie Über IBM® Cloud Logs Routing, um die Konzepte zu verstehen.
-
Installieren Sie alle vorausgesetzten Tools, wie im Abschnitt Einstieg beschrieben.
-
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.
-
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-loggesetzt.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:instanceIDgesetzt. Für die Protokolle der VPC-Plattform wird das Feld aufis:resourceTypegesetzt. -
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.
-
Melden Sie sich bei Ihrem IBM Cloud-Konto an. Fügen Sie die Option
--ssohinzu, 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' -
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-routerEine 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:
-
Klicken Sie in der IBM Cloud-Konsole auf Verwalten > Zugriff (IAM) und wählen Sie Autorisierungen aus.
-
Klicken Sie auf Erstellen.
-
Konfigurieren Sie das Quellkonto. Wählen Sie Dieses Konto.
-
Wählen Sie Logs Routing als Quelldienst. Legen Sie dann den Bereich des Zugriffs auf Alle Ressourcen fest.
-
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.
-
Wählen Sie im Abschnitt Dienstzugang die Option Sender, um dem Quelldienst, der auf den Zieldienst zugreift, Zugang zu gewähren.
-
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:
-
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_TOKENDie Ausgabe sollte mit
Bearerbeginnen, gefolgt von einer Zeichenfolge mit Buchstaben, Zahlen und Symbolen. -
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
| 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:
-
Klicken Sie auf das Menüsymbol
> Beobachtbarkeit.
-
Klicken Sie auf Logging > Routing.
-
Klicken Sie auf Ziel setzen.
-
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.
-
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:
-
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.
-
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.