Transfert des logs (Logs Forwarding) TCP / HTTP / HTTPS du Load Balancer Public Cloud

Base de connaissances

Transfert des logs (Logs Forwarding) TCP / HTTP / HTTPS du Load Balancer Public Cloud


Icons/System/eye-open Created with Sketch. 965 vues 25.09.2024 Cloud / Logs Data Platform

Objectif

L'objectif de ce guide est de vous montrer comment activer le transfert de logs de votre Public Cloud Load Balancer vers Logs Data Platform (LDP), une plateforme qui vous aide à stocker, archiver, interroger et visualiser vos logs. Si vous souhaitez en savoir plus sur Logs Data Platform avant de lire ce guide, reportez-vous au Guide d'introduction de Logs Data Platform.

Glossaire

  • Logs Data Platform : plateforme de gestion de logs entièrement gérée et sécurisée par OVHcloud. Pour plus d'informations, consultez la page de présentation de la solution Logs Data Platform.
  • Data Stream : partition logique de logs que vous créez dans un compte LDP et que vous utiliserez lors de l'ingestion, de la visualisation ou de l'interrogation de vos logs. Plusieurs sources peuvent être stockées dans le même flux de données, et c'est l'unité qui peut être utilisée pour définir un pipeline de logs (politique de rétention, archivage, streaming live, etc.), des droits d'accès et des politiques d'alertes.
  • Transfert de logs : fonctionnalité intégrée à un produit OVHcloud pour ingérer les logs de ses services dans un Data Stream d’un compte LDP dans le même compte OVHcloud. Cette fonctionnalité doit être activée par le client et par service.
  • Abonnement à la redirection de logs : lors de l'activation du transfert de logs pour un service OVHcloud donné vers un LDP Data Stream donné, un abonnement est créé et attaché au Data Stream pour une gestion ultérieure par le client.

Prérequis

  • Un compte Logs Data Platform (LDP) avec au moins un Stream actif configuré. Ce guide vous guidera dans toutes les étapes nécessaires : Quick start for Logs Data Platform.
    • Si vous ne connaissez pas toutes les possibilités de configuration d’un Stream LDP, il vous suffit d'en créer un nouveau avec les options par défaut (indexation & websocket activés, stockage longue durée désactivé) pour suivre ce guide.
  • Un Load Balancer Public Cloud opérationnel.
  • Le compte LDP et le compte Public Cloud Load Balancer doivent appartenir au même compte OVHcloud.

Concepts & limites

A ce jour, les logs des listeners UDP ne sont pas transmis.

Quels sont les logs d'un Load Balancer Public Cloud ?

Les logs transférés sont générés par HAproxy (le composant open source utilisé pour la répartition de charge).

Contenu des logs pour listeners TCP : TCP, HTTP, TERMINATED_HTTPS, HTTPS

Nom du champDescriptionType
accept_dateHorodatage auquel la requête/connexion a été effectuéedatetime (avec résolution en millisecondes) ex. 25/Mar/2024:14:07:19.536
bytes_readNombre d'octets lus par le serveurInteger
bytes_uploadedNombre d'octets envoyés par le serveur au clientInteger
client_ipAdresse IP du client qui a initié la connexion TCP au Load BalancerIP
client_ip_city_nameVille calculée par Geoip à partir de client_ipChaine (String) (ex. Lille)
client_ip_country_codeLe code pays ISO 3166 A-2 calculé par Logstash Geoip à partir de client_ip ISOXX (ex. FR)
client_ip_geolocationLatitude, longitude calculées par Logstash Geoip à partir de client_ipx.x,y.y (ex. 50.624,3.0511) XST6Y7U899O0
client_port_intPort TCP du client qui a initié la connexion TCP au Load BalancerInteger
listener_idID du listener qui a reçu la demande/connexionuuid
load_balancer_idID du load balancer ayant reçu la demande/connexionuuid
memberMembre auquel la requête/connexion a été envoyéeuuid
messageMessage du journal d'origineChaine (String)
poolPool ayant traité la requête / connexionuuid
project_idID du projet Public Cloud auquel appartient le Load Balanceruuid
regionLa région Public Cloud à laquelle appartient le load balancerChaine (String)
tcp_total_session_duration_time_intDurée en millisecondes pendant laquelle la session TCP a été ouverte lorsque cette demande est effectuéeInteger
termination_stateL'indicateur de fin de session : 2 lettres pour TCP, 4 lettres pour HTTP tous les détails sur page de documentation HAProxyChaine (String) (par exemple « ---- »)
timestampHorodatage d'émission du journalChaine (String)

Contenu supplémentaire pour les listeners HTTP & TERMINATED_HTTPS

Nom du champDescriptionType
http_requestLa resource de la requête HTTP par exemple « /index.html »Chaine (String)
http_status_intLe statut HTTP retourné, par exemple « 200 »Integer
http_verbVerbe HTTP utilisé dans la requête, par exemple « GET »Chaine (String)
http_version_numLa version HTTP de la requête, par exemple « 1.1 »Numérique

En pratique

Prenez en compte que l'activation du forwarding est gratuite, mais vous serez facturé pour l'utilisation du service Logs Data Platform selon le tarif standard. Pour la tarification du LDP, consultez cette page.

Activation du Log forwarding du Load Balancer Public Cloud via l’espace client OVHcloud

Cette fonctionnalité n'est pas encore disponible dans l'espace client

Activation de Audit Log Forwarding via API

Vous devrez définir le Stream ciblé de l'un de vos comptes LDP sur lequel vous souhaitez que vos logs soient transférés. L'activation du transfert va créer un abonnement pour cet ID de flux.

Vous pouvez récupérer les spécifications de l'API dans le portail OVH API.

Étape 1 - récupérer le Stream (et l'ID) cible

Listez les flux de données de votre compte Logs Data Platform (renseignez votre identifiant LDP au format ldp-xx-xxxx dans le champ « serviceName ») :

Obtenez les détails d'un flux de données :

Étape 2 - créer votre abonnement

Utilisez l'appel API suivant pour créer un abonnement :

Vous devrez remplacer :

  • loadBalancerId : il s'agit de l'identifiant du Load Balancer, que vous pouvez retrouver dans la page de détails de votre Load Balancer dans votre espace client OVHcloud ou en utilisant l'appel API dédié.
  • regionName : la région OpenStack, par exemple, GRA11.
  • serviceName : il s’agit de l’identifiant du projet Public Cloud, que vous pouvez retrouver dans votre espace client OVHcloud sous le nom de votre projet ou en utilisant l’appel API dédié.

La requête POST a une charge utile qui nécessite les informations suivantes :

  • kind : le type de journal que vous voulez transférer. Notez que la seule valeur actuellement prise en charge pour Public Cloud Load Balancer est « haproxy » (vous pouvez trouver les types disponibles en utilisant l'appel API dédié).
  • streamId : flux de données cible de votre compte LDP vers lequel vous souhaitez que vos logs du service Public Cloud Load Balancer soient transférés.
POST /cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription
{
  "kind": "string", // Currently the only supported value is 'haproxy'.
  "streamId": "18d602ec-af40-4000-8e59-41ecc8c23f80" // The streamID of the targeted Stream.
}

Vous obtiendrez en réponse un operationId :

{
  "operationId": "f550aa1c-89ab-4b1a-81ae-4fba4959966f",
  "serviceName": "ldp-xxxxx"
}

Vous pouvez utiliser le operationId pour récupérer le subscriptionId à des fins de gestion ultérieure à l'aide de l'appel API suivant :

Une fois l'opération terminée, vous pouvez également récupérer les abonnements à l'aide de l'appel API suivant :

Une fois en possession du subscriptionId, vous pouvez obtenir les détails via l'appel API suivant :

GET /cloud/project/{serviceName}/region/{regionName}/loadbalancing/loadbalancer/{loadBalancerId}/log/subscription/{subscriptionId}

{
  "createdAt": "2024-01-31T15:45:25.286Z",
  "kind": "string",
  "resource": {
    "name": "string",
    "type": "string"
  },
  "serviceName": "string",
  "streamId": "string",
  "subscriptionId": "18d60324-b260-4000-83db-b484f4db6e80",
  "updatedAt": "2024-01-31T15:45:25.286Z"
}

Comment utiliser les logs du Load Balancer Public Cloud ?

Maintenant que vos logs sont ingérés et stockés dans votre flux de données Logs Data Platform, vous pouvez interroger vos logs et créer des tableaux de bord pour avoir une représentation graphique de vos logs en utilisant l'interface web de Graylog.

  • Depuis votre espace client, récupérez l'identifiant LDP (ex: logs-xxxx) et son mot de passe sur la page d'accueil de votre compte Logs Data Platform. Vous pouvez vous référer à la documentation Quick start for Logs Data Platform.
  • Ouvrez l'interface utilisateur Graylog. Vous pouvez récupérer le lien sur la page d'accueil de votre compte ou en utilisant votre point d'accès en fonction de la région de votre compte (par exemple : la région de Gravelines est https://gra1.logs.ovh.com/).
  • Connectez-vous à Graylog en utilisant votre nom d'utilisateur et votre mot de passe Logs Data Platform.
  • Parcourez vos logs dans le flux de données de votre compte Logs Data Platform. Vous pouvez consulter la documentation Graylog writing search queries pour plus de détails sur la syntaxe de recherche.

Reportez-vous à la documentation suivante : Logs Data Platform - Visualizing, querying and exploiting your logs pour plus de détails sur l'utilisation de vos logs avec Logs Data Platform, y compris sur la façon de :

  • mettre en place des alertes ;
  • consulter les logs en temps réel grâce à un WebSocket ;
  • créer une visualisation avec les tableaux de bord OpenSearch ;
  • créer une intégration avec l'API OpenSearch ;
  • se connecter avec Grafana.  

Comment gérer vos abonnements ?

À tout moment, vous pouvez récupérer les abonnements attachés à votre flux Logs Data Platform et choisir de désactiver la redirection en annulant votre abonnement sur votre flux, de sorte que votre flux Logs Data Platform ne reçoive plus vos journaux d'audit.

Notez que cela ne supprime pas les logs stockés avant l'annulation de l'abonnement, car les données stockées dans un flux de logs sont immuables, sauf si vous supprimez le flux entier.

Pour supprimer votre abonnement, vous pouvez utiliser l'appel API suivant :

Aller plus loin

Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.

Échangez avec notre communauté d'utilisateurs.

Articles associés