Configurer le service IBM Cloud Logs Routing pour router les logs de la plateforme vers une instance IBM Cloud Logs dans une région
Utilisez le service IBM Cloud Logs Routing pour acheminer les journaux de plate-forme de votre compte IBM Cloud vers la destination cible d'une instance IBM Cloud Logs. Vous devez configurer un locataire dans la région et une destination cible.
Un locataire est la configuration spécifique au compte de IBM Cloud Logs Routing fonctionnant au sein d'une région. La configuration du locataire comprend au maximum une définition de cible. La cible définit l'endroit où les journaux sont acheminés.
Vous devez créer un locataire dans votre compte dans chaque région où vous souhaitez utiliser IBM Cloud Logs Routing. Chaque région est indépendante et les régions ne partagent pas leurs données.
Objectifs
Dans ce tutoriel, vous allez :
-
Configurez IBM Cloud Logs Routing pour qu'il achemine les journaux de la plate-forme vers une instance IBM Cloud Logs dans une région.
-
Vérifiez que les journaux de la plate-forme sont acheminés vers votre instance IBM Cloud Logs.
Avant de commencer
Procédez comme suit :
-
Passez en revue A propos de IBM® Cloud Logs Routing pour comprendre les concepts.
-
Installez tous les outils prérequis comme décrit dans le démarrage.
-
Pour obtenir des détails sur un locataire en utilisant l'API, vérifiez que vous pouvez vous connecter à IBM Cloud Logs Routing en utilisant l'API de gestion. Pour plus d'informations, voir Connexion à IBM® Cloud Logs Routing.
-
Les journaux de la plate-forme qui sont acheminés vers IBM Cloud Logs comprennent des champs de métadonnées que vous pouvez utiliser pour gérer les données et configurer les fonctionnalités de votre instance IBM Cloud Logs.
Le nom de l'application est l'environnement qui produit et envoie les journaux à IBM Cloud Logs. Les journaux de la plate-forme ont le nom de l'application défini comme
ibm-platform-log.Le nom du sous-système est le service ou l'application qui produit et envoie des journaux ou des mesures à IBM Cloud Logs. Les journaux de la plate-forme ont le nom du sous-système défini comme
CRNserviceName:instanceID. Pour les journaux de la plate-forme VPC, le champ est défini suris:resourceType. -
Définir les autorisations pour gérer les cibles dans le compte. Pour plus d'informations, voir Octroi de droits IAM.
Avant de pouvoir configurer le service IBM Cloud Logs Routing pour acheminer les journaux de votre plateforme, vous avez besoin d'un IBM Cloud® Identity and Access Management (jeton d'accès IAM) pour l'authentification. La CLI IBM Cloud est utilisée pour obtenir ces informations.
-
Connectez-vous à votre compte IBM Cloud. Inclure l'option
--ssosi vous utilisez un identifiant fédéré.ibmcloud login [--sso]Le résultat comprendra votre nom d'utilisateur, comme dans l'exemple suivant :
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' -
Pour accorder l'accès à l'utilisation de IBM Cloud Logs Routing à votre utilisateur, collectez le nom d'utilisateur à partir de la sortie générée ci-dessus. Dans notre exemple, ce serait Jane.Doe@ibm.com. Remplacez
<username>par votre nom d'utilisateur dans la commande suivante :ibmcloud iam user-policy-create <username> --roles Manager --service-name logs-routerAu lieu d'attribuer des rôles directement aux identités, une stratégie courante consiste à attribuer des rôles aux groupes d'accès et à ajouter des identités en tant que membres de ces groupes d'accès. Pour plus d'informations sur les groupes d'accès, voir Configuration de groupes d'accès.
-
Création d'une autorisation de service à service
Vous devez utiliser IBM Cloud® Identity and Access Management (IAM) pour créer une autorisation qui accorde IBM Cloud Logs Routing l'accès à IBM Cloud Logs.
Création d'une autorisation de service à service via l'interface utilisateur
Procédez comme suit :
-
Dans la console IBM Cloud, cliquez sur Gérer > Accès (IAM), puis sélectionnez Autorisations.
-
Cliquez sur Créer.
-
Configurer le compte source. Sélectionnez Ce compte.
-
Sélectionnez Logs Routing comme service source. Ensuite, définissez l'étendue de l'accès à Toutes les ressources.
-
Sélectionnez Cloud Logs comme service cible. Ensuite, définissez la portée de l'accès à Toutes les ressources, ce qui donne accès à toutes les instances IBM Cloud Logs, ou à une seule instance en configurant Ressources basées sur des attributs sélectionnés > Instance de service.
D'autres attributs ne sont pas pris en charge pour ce type d'autorisation.
-
Dans la section Service Access, sélectionnez Sender pour attribuer l'accès au service source qui accède au service cible.
-
Cliquez sur Autoriser.
Création d'une autorisation de service à service à l'aide de la CLI
Vous devez définir une autorisation de service à service (S2S) entre IBM Cloud Logs et IBM® Cloud Logs Routing pour que le service IBM® Cloud Logs Routing puisse envoyer des logs à votre locataire.
Procédez comme suit :
-
Récupération du jeton de porteur IAM et exportation de celui-ci en tant que variable d'environnement. Exécutez la commande suivante :
Vous devez obtenir un jeton d'accès IBM Cloud® Identity and Access Management (IAM) pour authentifier vos demandes auprès du service IBM® Cloud Logs Routing. Pour plus d'informations, voir Extraction d'un jeton d'accès.
Par exemple, vous pouvez récupérer votre jeton de porteur IAM et l'exporter en tant que variable d'environnement en exécutant la commande CLI suivante :
export IAM_TOKEN=`ibmcloud iam oauth-tokens --output json | jq -r '.iam_token'`Vérifiez que votre jeton a été correctement exporté en l'affichant dans votre terminal.
echo $IAM_TOKENLa sortie doit commencer par
Bearersuivi d'une chaîne contenant des lettres, des chiffres et des symboles. -
Créer une politique d'autorisation.
ibmcloud iam authorization-policy-create logs-router logs Sender
Pour plus d'informations, voir Création d'une autorisation S2S pour accorder l'accès à l'envoi des journaux à IBM Cloud Logs.
Récupération de vos IBM Cloud Logs informations
Pour acheminer des données vers une instance IBM Cloud Logs, vous avez besoin d'informations sur la destination des journaux. Vous avez besoin des informations suivantes pour votre instance IBM Cloud Logs:
- L'instance CRN
- Le point d'arrivée et le port d'ingestion (ingress)
Utilisez cette commande pour récupérer l' URL e et l'ID :
ibmcloud resource service-instances --service-name logs --long --output JSON | jq '[.[] | {name: .name, id: .id, region: .region_id, ingestion_endpoint: .extensions.external_ingress}]'
Si vous disposez de plusieurs instances, choisissez celle que vous souhaitez utiliser pour recevoir les journaux de la plate-forme et enregistrez les informations pour plus tard.
Le point final est similaire à :
ingestion_endpoint: 3a622101-7521-4002-bf91-8c26e17eedcf.ingress.eu-de.logs.cloud.ibm.com
L'ID est similaire à :
"crn:v1:bluemix:public:logs:eu-es:a/15ff25632a21af53a2aeed19a1542a44:3a622101-7521-4002-bf91-8c26e17eedcf::"
Pour obtenir toutes les informations sur l'instance, vous pouvez exécuter ibmcloud resource service-instances --service-name logs --long --output JSON Cette commande répertorie toutes vos instances IBM Cloud Logs. Vous avez besoin
des champs suivants : ID qui contient le CRN de l'instance, extensions.external_ingress qui contient le point d'entrée, et extensions.virtual_private_endpoints.endpoints.ports.port_max qui contient la
valeur du port.
Création d'un locataire et d'une cible
Pour recevoir les journaux de votre plateforme, vous devez créer un locataire avec le service IBM Cloud Logs Routing.
Vous devez créer votre locataire dans la région où vous souhaitez collecter et acheminer les journaux de plate-forme vers l'instance IBM Cloud Logs.
Création d'un locataire et d'une cible à l'aide de l'API
Exécutez la requête cURL suivante à partir de la ligne de commande :
La demande de création crée le locataire dans la région et la destination.
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
}
}
]
}'
Où
| Paramètre | Description |
|---|---|
MANAGEMENT-API-ENDPOINT |
Le point de terminaison du service IBM® Cloud Logs Routing. Pour plus d'informations, voir Nœuds finaux. Par exemple, https://management.eu-es.logs-router.cloud.ibm.com |
IAM_TOKEN |
Le jeton IAM que vous avez obtenu précédemment. Si vous l'avez exporté dans votre environnement comme décrit ci-dessus, il est remplacé automatiquement. |
DATE |
La date actuelle. Exemple: 2024-03-01 |
TENANT_NAME |
Nom du locataire. Le nom doit être unique pour tous les locataires de ce compte et peut comporter jusqu'à 35 caractères. La valeur ne peut contenir que ces caractères : a-z,0-9,-./ Un exemple serait eu-es-tenant. |
TARGET_NAME |
Nom de la destination cible. Le nom doit être unique pour toutes les cibles d'une région et peut comporter jusqu'à 35 caractères. La valeur ne peut contenir que ces caractères : a-z,0-9,-./ Vous pouvez par exemple choisir
le nom de votre instance IBM Cloud Logs. Un exemple serait platformlogs-eu-es. |
CLOUD_LOGS_INSTANCE_ID |
Le CRN de votre instance IBM Cloud Logs. |
CLOUD_LOGS_INSTANCE_INGRESS_ENDPOINT |
Le point d'extrémité de votre instance IBM Cloud Logs. |
PORT |
Définie à la valeur 443 |
Relisez attentivement votre commande, car elle contient des valeurs qui ont été collectées précédemment. Veillez à effectuer les substitutions nécessaires pour que la commande fonctionne comme prévu.
Si la demande de création a abouti, une réponse contenant les métadonnées de votre locataire est renvoyée. Par exemple :
{
"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
}
}
]
}
Créer un locataire à l'aide de l'interface utilisateur
Procédez comme suit :
-
Cliquez sur l'icône de menu
> Observability.
-
Cliquez sur Logging > Routing.
-
Cliquez sur Set target.
-
Sélectionnez une instance IBM Cloud Logs dans la liste. Il s'agit de l'instance où vous souhaitez recevoir les journaux acheminés par IBM Cloud Logs Routing.
Vous pouvez sélectionner une instance IBM Cloud Logs dans la liste ou spécifier un CRN spécifique.
L'instance IBM Cloud Logs doit être située dans le même compte que celui que vous configurez.
-
Cliquez sur Sauvegarder.
Vérification de l'envoi des journaux à la cible de destination
Pour vous assurer que les journaux de votre plate-forme sont bien transmis à IBM Cloud Logs, procédez comme suit :
-
Lancer l'interface web IBM Cloud Logs pour l'instance IBM Cloud Logs qui est configurée en tant que cible pour collecter les journaux de plate-forme dans une région. Il s'agit de l'instance que vous avez sélectionnée dans l'étape de configuration d'une cible.
-
Visualiser les journaux à l'aide de vues personnalisées. Pour plus d'informations, voir Affichage des journaux.
Tous les journaux de la plateforme sont générés en JSON. Vous pouvez filtrer les journaux de plate-forme dans votre instance en sélectionnant la valeur de ibm-platform-logs comme applicationName.