Ce document explique comment configurer et utiliser Cloud Logging et Cloud Monitoring pour les équilibreurs de charge réseau passthrough externes.
Journalisation
Les journaux fournissent des informations utiles pour dépanner et surveiller votre équilibreur de charge réseau passthrough externe. Les journaux sont agrégés par connexion et exportés en quasi-temps réel. Les journaux sont générés pour chaque flux TCP, UDP, ESP, GRE, ICMP et ICMPv6 des instances à équilibrage de charge pour le trafic entrant et sortant. Pour en savoir plus sur les champs fournis dans l'entrée de journal, consultez la section Champs de journal.
L'utilisation des journaux n'entraîne aucuns frais supplémentaires. Selon la manière dont vous importez les journaux, les tarifs standards pour Cloud Logging, BigQuery ou Pub/Sub s'appliquent. L'activation des journaux n'a aucun effet sur les performances de l'équilibreur de charge.
Logging offre les avantages suivants :
Surveillance du trafic de l'équilibreur de charge réseau passthrough externe. La journalisation par connexion vous indique comment chaque connexion est acheminée vers les backends de diffusion.
Dépannage du réseau. Vous pouvez utiliser les journaux de l'équilibreur de charge réseau passthrough externe à des fins de résolution des problèmes. Pour en savoir plus, consultez la page Résoudre les problèmes liés aux équilibreurs de charge réseau passthrough externes.
Exemple de format de journal pour un flux de clients externes vers des VM
Le schéma suivant illustre le trafic entrant et sortant pour un client externe (203.0.113.7), un équilibreur de charge réseau passthrough externe (198.51.100.99) et une instance backend (10.240.0.2).
Les journaux de l'équilibreur de charge réseau passthrough externe pour les connexions du client à l'instance backend sont formatés comme suit :
connection.clientIp
: 203.0.113.7connection.serverIp
: 198.51.100.99bytesSent
: 1256bytesReceived
: 4521
Échantillonnage et collecte des journaux
Google Cloud échantillonne les paquets qui quittent les VM de backend de l'équilibreur de charge et y entrent. Ces paquets échantillonnés sont traités afin de générer des journaux.
Tous les paquets ne sont pas échantillonnés. Google Cloud échantillonne un sous-ensemble variable de paquets en fonction du volume de trafic sur l'hôte physique. Le taux d'échantillonnage le plus faible est de un paquet sur 1 024. Le taux d'échantillonnage est contrôlé de manière dynamique par Google Cloud. Vous ne pouvez pas l'ajuster.
L'échantillonnage de paquets interagit avec les règles de pare-feu de la manière suivante :
- Les paquets sont échantillonnés avant l'application des règles de pare-feu de sortie.
- Les paquets sont échantillonnés après l'application des règles de pare-feu d'entrée.
Après échantillonnage des paquets, Google Cloud traite les paquets échantillonnés en suivant la procédure suivante :
Agrégation : les paquets échantillonnés sont agrégés sur un intervalle de cinq secondes pour produire une seule entrée de flux.
Échantillonnage de journal configurable (secondaire) : il s'agit d'un deuxième processus d'échantillonnage, qui échantillonne les flux. Vous contrôlez la fraction des entrées de flux qui sont émises en tant qu'entrées de journal grâce au paramètre logConfig.sampleRate. Lorsque la valeur de
logConfig.sampleRate
est définie sur1.0
(100 %), cela signifie que tous les paquets échantillonnés sont traités.Écriture dans Logging : les entrées de journal sont écrites dans Cloud Logging.
Champs facultatifs
Les enregistrements de journal contiennent des champs obligatoires et des champs facultatifs. La section Champs de journal permet de savoir quels champs sont facultatifs et lesquels sont obligatoires. Tous les champs obligatoires sont toujours inclus. Vous pouvez personnaliser quels sont les champs facultatifs à conserver.
Si vous sélectionnez Inclure tous les champs facultatifs, tous les champs facultatifs du format d'enregistrement du journal sont inclus dans les journaux de flux. Lorsque de nouveaux champs facultatifs sont ajoutés au format d'enregistrement, les journaux de flux incluent automatiquement les nouveaux champs.
Si vous sélectionnez Exclure tous les champs facultatifs, tous les champs facultatifs sont omis.
Si vous sélectionnez Personnalisé, vous pouvez spécifier les champs facultatifs que vous souhaitez inclure par le champ parent, tels que
serverInstance
, ou par leur nom complet, par exempleserverInstance.vm
.
Lorsque de nouveaux champs facultatifs sont ajoutés au format d'enregistrement, les journaux n'incluent pas ces champs, sauf s'il s'agit d'un nouveau champ dans un champ parent que vous avez spécifié.
Si vous spécifiez un champ facultatif personnalisé à l'aide de champs parents, lorsque de nouveaux champs facultatifs sont ajoutés au format d'enregistrement au sein de ce champ parent, les journaux incluent automatiquement les nouveaux champs. Par exemple, si vous choisissez d'inclure optionalFieldA
, un nouveau champ ajouté aux journaux portant le nom optionalFieldA.subField1
est inclus automatiquement.
Pour obtenir des instructions sur la personnalisation des champs facultatifs, consultez la section Activer la journalisation sur un nouveau service de backend.
Exigences relatives à l'adresse IP source du paquet de réponse
La journalisation de l'équilibreur de charge réseau n'échantillonne les paquets de réponse des VM de backend que si l'adresse IP source de ces paquets correspond à l'adresse IP de la règle de transfert de l'équilibreur de charge. Pour les connexions TCP, les paquets de réponse doivent toujours avoir des sources correspondant à la destination du paquet de requête. Toutefois, pour d'autres protocoles, il est possible que les paquets de réponse utilisent une adresse IP source différente. Pour plus d'informations, consultez la section Adresses IP pour les paquets de requêtes et de retours.
Le processus d'échantillonnage des paquets utilisé par la journalisation de l'équilibreur de charge réseau passthrough externe omet tous les paquets de réponse des VM de backend, si ces paquets ont des sources qui ne correspondent pas à l'adresse IP d'une règle de transfert pour un équilibreur de charge réseau passthrough externe.
Activer la journalisation sur un nouveau service de backend
Console
Dans la console Google Cloud, accédez à la page Équilibrage de charge.
- Cliquez sur le nom de votre équilibreur de charge.
- Cliquez sur Modifier, puis sur Configuration du backend.
- Sélectionnez Créer un service de backend, puis renseignez les champs obligatoires du service de backend.
- Dans la section Journalisation, cochez la case Activer la journalisation.
- Définissez un taux d'échantillonnage. Vous pouvez définir un taux de
0.0
à1.0
(par défaut). - Facultatif : pour inclure tous les champs facultatifs dans les journaux, dans la section Champs facultatifs, cliquez sur Inclure tous les champs facultatifs.
- Pour terminer la modification du service de backend, cliquez sur Mettre à jour.
- Pour terminer la modification de l'équilibreur de charge, cliquez sur Mettre à jour.
gcloud
Créez le service de backend pour activer la journalisation avec la commande gcloud compute backend-services create
.
gcloud compute backend-services create BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE \ --logging-optional=LOGGING_OPTIONAL \ --logging-optional-fields=OPTIONAL_FIELDS
Remplacez les éléments suivants :
BACKEND_SERVICE
: nom du service de backend.REGION
: région du service de backend à créer.SAMPLE_RATE
: ce champ ne peut être spécifié que si la journalisation est activée pour ce service de backend.
La valeur du champ doit provenir de
0.0 to 1.0
, où0.0
signifie qu'aucun journal n'est généré et1.0
signifie qu'ils sont générés pour tous les Exemples de paquets. L'activation de la journalisation en définissant le taux d'échantillonnage sur0.0
équivaut à désactiver la journalisation. La valeur par défaut est1.0
.LOGGING_OPTIONAL
: champs facultatifs que vous souhaitez inclure dans les journaux :INCLUDE_ALL_OPTIONAL
pour inclure tous les champs facultatifs.EXCLUDE_ALL_OPTIONAL
(par défaut) pour exclure tous les champs facultatifs.CUSTOM
pour inclure une liste personnalisée de champs facultatifs que vous spécifiez dansOPTIONAL_FIELDS
.
OPTIONAL_FIELDS
: liste de champs facultatifs séparés par une virgule que vous souhaitez inclure dans les journaux.Par exemple,
serverInstance.vm,serverGkeDetails
. Ne peut être défini que siLOGGING_OPTIONAL
est défini surCUSTOM
.
API
Envoyez une requête POST
à la méthode regionBackendServices.insert
.
POST https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices
Exclure tous les champs facultatifs
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Inclure tous les champs facultatifs
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "INCLUDE_ALL_OPTIONAL" } }
Inclure une liste personnalisée de champs facultatifs
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "CUSTOM", "optionalFields": ["field1","field2",...] } }
Activer la journalisation sur un service de backend existant
Console
Dans la console Google Cloud, accédez à la page Équilibrage de charge.
- Cliquez sur le nom de votre équilibreur de charge.
- Cliquez sur Modifier, puis sur Configuration du backend.
- À côté de votre service de backend, cliquez sur Modifier.
- Dans la section Journalisation, cochez la case Activer la journalisation.
- Définissez un taux d'échantillonnage. Vous pouvez définir un taux de
0.0
à1.0
(par défaut). - Facultatif : pour inclure tous les champs facultatifs dans les journaux, dans la section Champs facultatifs, cliquez sur Inclure tous les champs facultatifs.
- Pour terminer la modification du service de backend, cliquez sur Mettre à jour.
- Pour terminer la modification de l'équilibreur de charge, cliquez sur Mettre à jour.
gcloud
Activez la journalisation sur un service de backend existant à l'aide de la commande gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE \ --logging-optional=LOGGING_OPTIONAL \ --logging-optional-fields=OPTIONAL_FIELDS
Remplacez les éléments suivants :
BACKEND_SERVICE
: nom du service de backend.REGION
: région du service de backend à créer.SAMPLE_RATE
: ce champ ne peut être spécifié que si la journalisation est activée pour ce service de backend.
La valeur du champ doit provenir de
0.0 to 1.0
, où0.0
signifie qu'aucun journal n'est signalé et1.0
signifie que tous les journaux sont générés pour tous les Exemples de paquets. L'activation de la journalisation en définissant le taux d'échantillonnage sur0.0
équivaut à désactiver la journalisation. La valeur par défaut est1.0
.LOGGING_OPTIONAL
: champs facultatifs que vous souhaitez inclure dans les journaux :INCLUDE_ALL_OPTIONAL
pour inclure tous les champs facultatifs.EXCLUDE_ALL_OPTIONAL
(par défaut) pour exclure tous les champs facultatifs.CUSTOM
pour inclure une liste personnalisée de champs facultatifs que vous spécifiez dansOPTIONAL_FIELDS
.
OPTIONAL_FIELDS
: liste de champs facultatifs séparés par une virgule que vous souhaitez inclure dans les journaux.Par exemple,
serverInstance.vm,serverGkeDetails
. Ne peut être défini que siLOGGING_OPTIONAL
est défini surCUSTOM
.
API
Envoyez une requête PATCH
à la méthode regionBackendServices/patch
.
PATCH https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices/`BACKEND_SERVICE`
Exclure tous les champs facultatifs
"logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "EXCLUDE_ALL_OPTIONAL" }
Inclure tous les champs facultatifs
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "INCLUDE_ALL_OPTIONAL" } }
Inclure une liste personnalisée de champs facultatifs
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "CUSTOM", "optionalFields": ["field1","field2",...] } }
Activer la journalisation sur un service de backend existant
Console
Dans la console Google Cloud, accédez à la page Équilibrage de charge.
Cliquez sur le nom de votre équilibreur de charge.
Cliquez sur
Modifier, puis sur Configuration du backend.Pour désactiver complètement la journalisation, décochez la case Activer la journalisation dans la section Journalisation.
Si vous laissez la journalisation activée, vous pouvez définir un autre taux d'échantillonnage. Vous pouvez définir une valeur de
0.0
à1.0
(valeur par défaut). Pour ne générer des journaux que pour 20% des paquets échantillonnés, définissez la valeur sur0.2
.Pour terminer la modification du service de backend, cliquez sur Mettre à jour.
Pour terminer la modification de l'équilibreur de charge, cliquez sur Mettre à jour.
gcloud
Désactivez la journalisation sur le service de backend à l'aide de la commande gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
Remplacez les éléments suivants :
BACKEND_SERVICE
: nom du service de backend.REGION
: région du service de backend.
API
Envoyez une requête PATCH
à la méthode regionBackendServices/patch
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
/regions/REGION
/backendServices/BACKEND_SERVICE
{ "logConfig": { "enable": false } }
Afficher les journaux
Lorsque les journaux sont ingérés dans Cloud Logging et non exclus via un récepteur de routeur de journaux, vous pouvez les lire à l'aide de l'API Cloud Logging et Google Cloud CLI.
Pour afficher tous les journaux de l'équilibreur de charge réseau passthrough externe, procédez comme suit :
Console
Dans la console Google Cloud, accédez à la page Explorateur de journaux.
Sélectionnez le type de ressource Règle d'équilibreur de charge réseau passthrough externe.
Sélectionnez le nom du journal loadbalancing.googleapis.com/flows.
Requête de la console
Dans Google Cloud Console, accédez à la page Explorateur de journaux.
Cliquez sur le bouton Afficher la requête.
Collez le texte suivant dans le champ de la requête. Remplacez
PROJECT_ID
par votre ID de projet :resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
Cliquez sur Exécuter la requête.
Afficher les journaux d'un service de backend spécifique
Pour afficher les journaux de l'équilibreur de charge réseau passthrough externe pour un service de backend spécifique, procédez comme suit :
Requête de la console
Dans Google Cloud Console, accédez à la page Explorateur de journaux.
Cliquez sur le bouton Afficher la requête.
Collez le texte suivant dans le champ de la requête. Remplacez
PROJECT_ID
par l'ID de votre projet etBACKEND_SERVICE_NAME
par le nom de votre service de backend.resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows" resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
Cliquez sur Exécuter la requête.
Afficher les journaux pour un groupe d'instances backend
Pour afficher les journaux de l'équilibreur de charge réseau passthrough externe pour un groupe d'instances backend spécifique, procédez comme suit :
Requête de la console
Dans Google Cloud Console, accédez à la page Explorateur de journaux.
Cliquez sur le bouton Afficher la requête.
Collez le texte suivant dans le champ de la requête. Remplacez
PROJECT_ID
par l'ID de votre projet etBACKEND_GROUP_NAME
par le nom du groupe d'instances.resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows" resource.labels.backend_group_name="BACKEND_GROUP_NAME"
Cliquez sur Exécuter la requête.
Champs de journal
Les enregistrements de journal contiennent des champs obligatoires (les champs par défaut de chaque enregistrement de journal) et des champs facultatifs qui ajoutent des informations supplémentaires. Les champs facultatifs peuvent être omis pour réduire les coûts de stockage.
Le format "multi-champs" de certains champs affiche plusieurs données dans un même champ. Par exemple, le champ connection
est au format IpConnection
, qui contient l'adresse IP et les ports sources et de destination ainsi que le protocole, dans un seul champ. Ces champs particuliers sont décrits dans le tableau relatif au format des enregistrements ci-dessous.
La ressource surveillée est loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.
Champ | Format du champ | Type de champ : obligatoire ou facultatif | Description |
---|---|---|---|
connexion | IpConnection | Requis | 5-tuple décrivant cette connexion. |
startTime | string | Requis | Horodatage (format de chaîne de date RFC 3339) du premier paquet observé pendant l'intervalle de temps cumulé. |
endTime | string | Requis | Horodatage (format de chaîne de date RFC 3339) du dernier paquet observé pendant l'intervalle de temps cumulé. |
bytesSent | int64 | Requis | Nombre d'octets envoyés par le serveur au client. |
bytesReceived | int64 | Requis | Nombre d'octets reçus par le serveur en provenance du client. |
packetsSent | int64 | Requis | Nombre de paquets envoyés par le serveur au client. |
packetsReceived | int64 | Requis | Nombre de paquets reçus par le serveur en provenance du client. |
rtt | string | Requis | La latence n'est mesurée que pour les connexions TCP. La latence correspond à la somme du délai aller-retour (DAR) estimé sur le réseau et du temps dédié au traitement du paquet dans le système d'exploitation du client. Pour les paquets échantillonnés, le DAR est calculé du point de vue d'un backend à équilibrage de charge, en mesurant le temps écoulé entre le backend qui envoie un segment TCP et le backend qui reçoit un accusé de réception TCP pour le numéro de séquence du segment envoyé. La latence est formatée sous forme de chaîne commençant par le nombre de secondes et se terminant par "s" pour indiquer les secondes. Les nanosecondes sont exprimées en fractions de seconde. Par exemple, une latence de 250 millisecondes est au format "0,250000000s". |
serverInstance | InstanceDetails | Facultatif | Détails de l'instance de VM de backend. |
clientLocation | GeographicDetails | Facultatif | Métadonnées d'emplacement disponibles du client. |
serverGkeDetails | GkeDetails | Facultatif | Métadonnées GKE pour le backend de serveur. Disponible uniquement si le backend est un point de terminaison GKE. |
networkTier | NetworkTierDetails | Facultatif | Niveau de réseau pour les connexions externes, renseigné uniquement lorsque le client ne se trouve pas dans Google Cloud. |
Format de champ IpConnection
Champ | Type | Description |
---|---|---|
clientIp | chaîne | Adresse IP du client |
clientPort | int32 | Port client. Défini pour les connexions TCP et UDP uniquement. |
serverIp | string | Adresse IP du serveur (adresse IP de la règle de transfert) |
serverPort | int32 | Port du serveur. Défini pour les connexions TCP et UDP uniquement. |
protocol | int32 | Numéro de protocole IANA |
Format de champ InstanceDetails
Champ | Type | Description |
---|---|---|
projectId | string | ID du projet contenant la VM |
vm | string | Nom d'instance de la VM |
region | string | Région de la VM |
Zone | string | Zone de la VM |
vmIp | chaîne | Adresse IPv4 interne principale de l'interface réseau qui a diffusé la connexion |
Format de champ GeographicDetails
Champ | Type | Description |
---|---|---|
continent | string | Nom du continent |
regionCode | string | Code de région CLDR au format Unicode, tel que US ou FR . Pour la plupart des pays, ces codes correspondent directement aux codes ISO-3166-2. |
subRegion | string | ID de subdivision CLDR au format Unicode. Par exemple, une province ou un État du pays, tel que USCA ou CAON . Ces codes Unicode sont dérivés des subdivisions définies par la norme ISO-3166-2.
|
city | string | Nom de la ville. Par exemple Mountain View pour Mountain View en Californie. Il n'existe pas de liste canonique de valeurs valides pour cette variable. Les noms de villes peuvent contenir des lettres, des chiffres et des espaces au format US-ASCII, ainsi que les caractères suivants : !#$%&'*+-.^_`|~ . |
asn | int32 | Numéro ASN (Autonomous System Number) du réseau externe auquel appartient ce point de terminaison. |
Format de champ GkeDetails
Champ | Type | Description |
---|---|---|
Cluster | ClusterDetails | Métadonnées du cluster GKE. |
pod | PodDetails | Métadonnées du pod GKE, renseignées lorsque la source ou la destination du trafic est un pod |
service | ServiceDetails | Métadonnées du service GKE, renseignées seulement dans les points de terminaison du service. L'enregistrement contient jusqu'à deux services. S'il existe plus de deux services pertinents, ce champ contient un seul service avec un marqueur MANY_SERVICES spécial. |
Format de champ ClusterDetails
Champ | Type | Description |
---|---|---|
Cluster | string | Nom du cluster GKE |
clusterLocation | string | Emplacement du cluster. L'emplacement du cluster peut être une zone ou une région. |
Format de champ PodDetails
Champ | Type | Description |
---|---|---|
pod | string | Nom du pod |
podNamespace | string | Espace de noms du pod |
Format de champ ServiceDetails
Champ | Type | Description |
---|---|---|
service | string | Nom du service. S'il existe plus de deux services pertinents, le champ est défini sur un marqueur MANY_SERVICES spécial. |
serviceNamespace | string | Espace de noms du service. |
Format de champ NetworkTierDetails
Champ | Type | Description |
---|---|---|
networkTier | string | NetworkTier utilisé dans la connexion, parmi les suivants : [PREMIUM, STANDARD, FIXED_STANDARD, UNKNOWN]. |
Surveillance
Les équilibreurs de charge réseau passthrough externes exportent des métriques clés vers Cloud Monitoring.
Les métriques de surveillance peuvent être utilisées aux fins suivantes :
- Évaluer la configuration, l'utilisation et les performances d'un équilibreur de charge
- Dépannage
- Améliorer l'utilisation des ressources et l'expérience utilisateur
En plus des tableaux de bord prédéfinis proposés dans Monitoring, vous pouvez créer des tableaux de bord personnalisés, configurer des alertes et interroger les métriques via l'API Monitoring.
Afficher les tableaux de bord Monitoring
Console
Dans Google Cloud Console, accédez à la page Monitoring.
Dans le volet de navigation, sélectionnez Tableaux de bord.
Sélectionnez le tableau de bord Équilibreurs de charge Google Cloud. Tous les équilibreurs de charge sont affichés.
Sélectionnez le nom de l'équilibreur de charge dans la liste des équilibreurs de charge.
Le volet Détails de l'équilibreur de charge réseau passthrough externe affiche diverses informations sur l'équilibreur de charge sélectionné. Ce volet affiche vos configurations actuelles.
Le volet Métriques clés affiche des graphiques pour chaque métrique clé. Cliquez sur le lien Répartitions pour afficher des répartitions spécifiques. Ce volet présente les données basées sur les configurations historiques, tandis que le volet Détails de l'équilibreur de charge réseau passthrough externe n'affiche que les configurations actuelles. Pour en savoir plus, consultez la page Utiliser des tableaux de bord et des graphiques.
Définir des tableaux de bord Monitoring personnalisés
Vous pouvez créer des tableaux de bord Monitoring personnalisés pour les métriques de l'équilibreur de charge réseau passthrough externe.
Pour obtenir la liste des métriques disponibles, consultez la section Métriques et types de ressources. Pour obtenir la liste des attributs utiles pour filtrer les résultats, reportez-vous à la section Filtres.
Console
Dans Google Cloud Console, accédez à la page Monitoring.
Sélectionnez Tableaux de bord > Créer un tableau de bord.
Cliquez sur Add chart (Ajouter un graphique).
Indiquez un titre pour le graphique.
Sélectionnez des métriques et des filtres.
Pour rechercher les métriques de l'équilibreur de charge réseau passthrough externe, recherchez le préfixe
loadbalancing.googleapis.com/l3/external
.Cliquez sur Enregistrer.
Définir des alertes Monitoring
Vous pouvez définir des alertes Monitoring concernant différentes métriques de l'équilibreur de charge réseau passthrough externe :
Console
Dans Google Cloud Console, accédez à la page Monitoring.
Sélectionnez Alertes > Créer une règle.
Sélectionnez des types de ressources et des métriques.
Pour trouver les types de ressources et les métriques d'équilibreur de charge réseau passthrough externe, recherchez
loadbalancing.googleapis.com/l3/external
dans le champ Rechercher un type de ressource et une métrique.Créez une configuration pour définir les conditions de déclenchement d'une alerte.
Ajoutez des filtres si nécessaire.
Cliquez sur Enregistrer.
Fréquence et conservation des rapports sur les métriques
Les métriques des équilibreurs de charge réseau passthrough externes sont exportées vers Monitoring par lots de précision d'une minute. Les données de surveillance sont conservées pendant six semaines. Les métriques sont basées sur l'échantillonnage du trafic (le taux d'échantillonnage est dynamique et ne peut pas être ajusté). Le tableau de bord fournit une analyse des données à des intervalles par défaut d'une heure (1H), six heures (6H), un jour (1D), une semaine (1W) et six semaines (6W). Vous pouvez demander manuellement une analyse à un intervalle compris entre 60 secondes et six semaines.
Métriques et types de ressources
Métriques
Les métriques suivantes pour les équilibreurs de charge réseau passthrough externes sont consignées dans Monitoring. Vous pouvez utiliser ces noms de métriques lorsque vous effectuez des requêtes d'API.
Nom de la métrique | Type | Description |
---|---|---|
loadbalancing.googleapis.com/l3/external/ingress_bytes_count |
compteur | Nombre d'octets envoyés par un client au backend d'un équilibreur de charge réseau passthrough externe. Pour les flux TCP, seuls les octets du flux d'application sont comptabilisés. |
loadbalancing.googleapis.com/l3/external/ingress_packets_count |
compteur | Nombre de paquets envoyés par un client au backend d'un équilibreur de charge réseau passthrough externe. |
loadbalancing.googleapis.com/l3/external/egress_bytes_count |
compteur | Nombre d'octets envoyés depuis le backend d'un équilibreur de charge réseau passthrough externe vers un client. Pour les flux TCP, seuls les octets du flux d'application sont comptabilisés. |
loadbalancing.googleapis.com/l3/external/egress_packets_count |
compteur | Nombre de paquets envoyés depuis le backend d'un équilibreur de charge réseau passthrough externe vers un client. |
loadbalancing.googleapis.com/l3/external/rtt_latencies |
distribution | Répartition du délai aller-retour (DAR) calculé à partir des connexions TCP pour les flux de l'équilibreur de charge réseau passthrough externe. Disponible uniquement pour le trafic TCP. |
Types de ressources
Les équilibreurs de charge réseau passthrough externes utilisent les types de ressources suivants :
tcp_lb_rule
udp_lb_rule
loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
Un équilibreur de charge réseau passthrough externe peut prendre en charge le trafic TCP, UDP, ESP, GRE, ICMP et ICMPv6.
Vous pouvez spécifier le type de ressource en tant que tcp_lb_rule
ou udp_lb_rule
pour limiter les données surveillées aux protocoles TCP ou UDP.
Vous pouvez spécifier le type de ressource en tant que loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
pour surveiller tous les protocoles acceptés, y compris les protocoles TCP, UDP, ESP, GRE, ICMP et ICMPv6.
Filtres
Les métriques sont agrégées pour chaque équilibreur de charge réseau passthrough externe. Vous pouvez filtrer les métriques agrégées selon les dimensions suivantes.
Libellés de ressources pour tcp_lb_rule
ou udp_lb_rule
Vous pouvez limiter votre requête en fonction des ressources. Vous pouvez également regrouper les résultats en fonction de ces valeurs.
resource.label.<var>LABEL_KEY</var>:
label_key | Type | Description |
---|---|---|
project |
chaîne | Identifiant du projet Google Cloud associé à cette ressource. |
load_balancer_name |
chaîne | Nom de l'équilibreur de charge. |
region |
chaîne | Région où se situe le backend de l'équilibreur de charge (par exemple, us-central1 , europe-west1 , asia-east1 ). |
network_name |
chaîne | Réseau VPC dans lequel réside le backend de l'équilibreur de charge. |
backend_target_type |
chaîne | Indique si l'équilibreur de charge réseau passthrough externe est basé sur un pool cible ou sur un service de backend. Les valeurs valides sont BACKEND_SERVICE ou TARGET_POOL . |
backend_target_name |
chaîne | Pour les équilibreurs de charge réseau passthrough externes basés sur un pool cible, nom du pool cible. Pour les équilibreurs de charge réseau passthrough externes basés sur un service de backend, le nom du service de backend. |
forwarding_rule_name |
chaîne | Nom de la règle de transfert. |
forwarding_rule_network_tier |
chaîne | Niveau de réseau de la règle de transfert. |
backend_name |
chaîne | Nom du backend ayant géré la connexion. Pour un équilibreur de charge réseau passthrough externe basé sur un service de backend, la valeur est le nom du groupe d'instances backend ou du groupe de points de terminaison du réseau (NEG) ayant géré la connexion. Pour un équilibreur de charge réseau passthrough externe basé sur un pool cible, la valeur est le nom du pool cible. |
backend_type |
chaîne | Type de backend ayant géré la connexion. Pour un équilibreur de charge réseau passthrough externe basé sur un service de backend, la valeur peut être Pour un équilibreur de charge réseau passthrough externe basé sur un pool cible, la valeur est |
backend_scope |
chaîne | Pour un équilibreur de charge réseau passthrough externe basé sur un service de backend, la zone ou la région du groupe d'instances backend (ou NEG). Pour un équilibreur de charge réseau basé sur un pool cible, la valeur est |
backend_scope_type |
chaîne | Type de champ d'application du groupe backend ayant géré la connexion. Les valeurs valides sont Pour un équilibreur de charge réseau basé sur un pool cible, la valeur est |
backend_failover_configuration |
chaîne | Configuration du basculement du groupe backend ayant géré la connexion. Les valeurs valides sont PRIMARY , BACKUP ou UNKNOWN . |
backend_subnetwork_name |
chaîne | Nom du sous-réseau du backend ayant reçu la connexion. |
endpoint_zone |
chaîne | Zone de la VM backend ayant géré la connexion. |
Libellés de ressources pour loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
Vous pouvez limiter votre requête en fonction des ressources. Vous pouvez également regrouper les résultats en fonction de ces valeurs.
resource.label.<var>LABEL_KEY</var>:
label_key | Type | Description |
---|---|---|
project |
chaîne | Identifiant du projet Google Cloud associé à cette ressource. |
region |
chaîne | Région où se situe le backend de l'équilibreur de charge (par exemple, us-central1 , europe-west1 , asia-east1 ). |
backend_network_name |
chaîne | Réseau VPC dans lequel réside le backend de l'équilibreur de charge. |
backend_target_type |
chaîne | Type de cible backend ayant géré la connexion. Les valeurs valides sont BACKEND_SERVICE ou TARGET_POOL . |
backend_service_name |
chaîne | Nom du service de backend ayant géré la connexion. Si backend_target_type est défini sur TARGET_POOL , la valeur est UNSUPPORTED_FOR_TARGET_POOL . |
primary_target_pool |
chaîne | Nom du pool cible principal. Si backend_target_type est défini sur BACKEND_SERVICE , la valeur est UNSUPPORTED_FOR_BACKEND_SERVICE . |
target_pool |
chaîne | Nom du pool cible Si backend_target_type est défini sur BACKEND_SERVICE , la valeur est UNSUPPORTED_FOR_BACKEND_SERVICE . |
forwarding_rule_name |
chaîne | Nom de la règle de transfert de l'équilibreur de charge réseau passthrough externe |
backend_group_name |
string | Nom du backend ayant géré la connexion.
Si backend_target_type est défini sur TARGET_POOL , la valeur est UNSUPPORTED_FOR_TARGET_POOL . |
backend_group_type |
chaîne | Type de groupe backend ayant géré la connexion. Si Si |
backend_group_scope |
chaîne | Champ d'application du groupe de backend (nom de la zone ou de la région) ayant géré la connexion. Si backend_target_type est défini sur TARGET_POOL , la valeur est UNSUPPORTED_FOR_TARGET_POOL . |
backend_subnetwork_name |
chaîne | Nom du sous-réseau du backend ayant reçu la connexion. |
backend_zone |
chaîne | Zone de la VM backend ayant géré la connexion. |
Libellés de métriques
Vous pouvez limiter le nombre de requêtes en fonction des libellés de métriques. Vous pouvez également regrouper les résultats en fonction de ces valeurs.
metric.label.<var>LABEL_KEY</var>:
label_key | Type | Description |
---|---|---|
client_country |
chaîne | Pays du client ayant initié la connexion à l'équilibreur de charge réseau passthrough externe. |
client_continent |
chaîne | Continent du client ayant initié la connexion à l'équilibreur de charge réseau passthrough externe. |
protocol |
chaîne | Protocole de connexion de la ressource Ce champ est laissé vide pour les ressources |
Surveiller les requêtes API
Vous pouvez formuler des requêtes arbitraires sur les métriques d'équilibreur de charge réseau passthrough externe à l'aide de larequête projects.timeSeries.list de l'API Monitoring v3. La structure exacte des différentes définitions respecte la sémantique générique des filtres de surveillance.
Exemples de requêtes API
Obtenir le nombre total d'octets envoyés le 01/07/2019 entre 12:00 et 12:02 UTC par tous les équilibreurs de charge réseau passthrough externes du projet, ventilé par lots d'une minute.
Paramètres timeSeries.list :
- nom : projects/
PROJECT_ID
- Filtre :
resource.type = "tcp_lb_rule"
ETmetric.name="loadbalancing.googleapis.com/l3/external/egress_bytes_count"
- interval.start_time :
2019-07-01T12:00:00Z
- interval.end_time :
2019-07-01T12:02:00Z
- aggregation.alignmentPeriod :
60s
- aggregation.crossSeriesReducer :
REDUCE_SUM
- aggregation.perSeriesAligner :
ALIGN_SUM
- nom : projects/
Obtenir un calcul du DAR médian pour tous les équilibreurs de charge réseau passthrough externes du projet le 01/07/2019 entre 12:19 et 12:20 UTC, ventilé par pays du client.
Paramètres timeSeries.list :
- nom : projects/
PROJECT_ID
- Filtre :
resource.type = "tcp_lb_rule"
ETmetric.name="loadbalancing.googleapis.com/l3/external/rtt_latencies"
- interval.start_time :
2019-07-01T12:19:00Z
- interval.end_time :
2019-07-01T12:20:00Z
- aggregation.alignmentPeriod :
60s
- aggregation.crossSeriesReducer :
REDUCE_SUM
- aggregation.groupByFields :
metric.label.client_country
- aggregation.perSeriesAligner :
ALIGN_PERCENTILE_50
- nom : projects/
Obtenir le volume total d'octets envoyés le 01/07/2019 entre 12:19 et 12:20 UTC par un équilibreur de charge réseau passthrough externe en particulier, ventilé par zone de point de terminaison et par continent du client.
Paramètres timeSeries.list :
- nom : projects/
PROJECT_ID
- Filtre :
resource.type = "tcp_lb_rule"
ETresource.label.load_balancer_name = "netlb-bs-1"
ETmetric.name="loadbalancing.googleapis.com/l3/external/ingress_bytes_count"
- interval.start_time :
2019-07-01T12:19:00Z
- interval.end_time :
2017-07-01T12:20:00Z
- aggregation.alignmentPeriod :
60s
- aggregation.crossSeriesReducer :
REDUCE_SUM
- aggregation.groupByFields :
metric.label.client_continent
- aggregation.groupByFields :
resource.label.endpoint_zone
- aggregation.perSeriesAligner :
ALIGN_SUM
- nom : projects/
Étapes suivantes
- Consultez les informations conceptuelles sur les équilibreurs de charge réseau passthrough externes
- Configurez un équilibreur de charge réseau passthrough externe
- Obtenez plus d'informations sur les métriques, séries temporelles et ressources Monitoring
- Apprenez-en plus sur les règles de transfert.
- Découvrez comment résoudre les problèmes de journalisation