Ce document explique comment configurer et utiliser Cloud Logging et Cloud Monitoring pour les équilibreurs de charge réseau passthrough externes globaux.
Journalisation
Les journaux fournissent des informations utiles pour dépanner et surveiller votre équilibreur de charge réseau passthrough externe global. 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 mondial. 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 global pour résoudre les problèmes.
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) accédant à un équilibreur de charge réseau passthrough externe global configuré avec deux adresses IP anycast globales 136.124.69.214 attribuées au groupe de disponibilité 0 (AG0) et 136.124.83.205 attribuées au groupe de disponibilité 1 (AG1), ainsi qu'à des instances de backend (10.10.0.2 et 10.20.0.2).Les journaux de l'équilibreur de charge réseau passthrough externe mondial pour les connexions du client à l'instance backend sont formatés comme suit :
connection.clientIp: 203.0.113.7connection.serverIp: 136.124.69.214 (AG0) ou 136.124.83.205 (AG1)bytesSent: 1256bytesReceived: 4521
Échantillonnage et collecte des journaux
Cloud de Confiance é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. Cloud de Confiance é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 Cloud de Confiance. Vous ne pouvez pas ajuster le taux d'échantillonnage.
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, Cloud de Confiance 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.sampleRateest 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 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 mondial 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 mondial.
Activer la journalisation sur un nouveau service de backend
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 \
--global \
--load-balancing-scheme=EXTERNAL_PASSTHROUGH \
--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.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 être comprise entre
0.0 to 1.0,0.0signifiant qu'aucun journal n'est rapporté et1.0signifiant que les journaux sont générés pour chaque paquet échantillonné. 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_OPTIONALpour inclure tous les champs facultatifs.EXCLUDE_ALL_OPTIONAL(par défaut) pour exclure tous les champs facultatifs.CUSTOMpour 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_OPTIONALest défini surCUSTOM.
API
Envoyez une requête POST à la
méthode backendServices.insert.
POST https://compute.s3nsapis.fr/compute/v1/projects/`PROJECT_ID`/global/backendServices
Exclure tous les champs facultatifs
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE
}
}
Inclure tous les champs facultatifs
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE,
"optionalMode": "INCLUDE_ALL_OPTIONAL"
}
}
Inclure une liste personnalisée de champs facultatifs
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE,
"optionalMode": "CUSTOM",
"optionalFields": ["field1","field2",...]
}
}
Activer la journalisation sur un service de backend existant
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 \
--global \
--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.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 être comprise entre
0.0 to 1.0,0.0signifiant qu'aucun journal n'est rapportée et1.0signifiant que les journaux sont générés pour chaque paquet échantillonné. 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_OPTIONALpour inclure tous les champs facultatifs.EXCLUDE_ALL_OPTIONAL(par défaut) pour exclure tous les champs facultatifs.CUSTOMpour 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_OPTIONALest défini surCUSTOM.
API
Envoyez une requête PATCH à la
méthode backendServices/patch.
PATCH https://compute.s3nsapis.fr/compute/v1/projects/`PROJECT_ID`/global/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_PASSTHROUGH",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE,
"optionalMode": "INCLUDE_ALL_OPTIONAL"
}
}
Inclure une liste personnalisée de champs facultatifs
{
"name": "BACKEND_SERVICE",
"loadBalancingScheme": "EXTERNAL_PASSTHROUGH",
"logConfig": {
"enable": true,
"sampleRate": SAMPLE_RATE,
"optionalMode": "CUSTOM",
"optionalFields": ["field1","field2",...]
}
}
Activer la journalisation sur un service de backend existant
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 \
--global \
--no-enable-loggingRemplacez les éléments suivants :
BACKEND_SERVICE: nom du service de backend.
API
Envoyez une requête PATCH à la méthode backendServices/patch.
PATCH https://compute.s3nsapis.fr/compute/v1/projects/`PROJECT_ID`/global/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 global, procédez comme suit :
Console
Dans la console Cloud de Confiance , 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 la console Cloud de Confiance , 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_IDpar 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 global pour un service de backend spécifique, procédez comme suit :
Requête de la console
Dans la console Cloud de Confiance , 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_IDpar l'ID de votre projet etBACKEND_SERVICE_NAMEpar 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 global pour un groupe d'instances backend spécifique, procédez comme suit :
Requête de la console
Dans la console Cloud de Confiance , 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_IDpar l'ID de votre projet etBACKEND_GROUP_NAMEpar 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 | Obligatoire | 5-tuple décrivant cette connexion. |
| startTime | chaîne | Obligatoire | Code temporel (au format de chaîne de date RFC 3339) du premier paquet observé pendant l'intervalle de temps cumulé. |
| endTime | chaîne | Obligatoire | Code temporel (au format de chaîne de date RFC 3339) du dernier paquet observé pendant l'intervalle de temps cumulé. |
| bytesSent | int64 | Obligatoire | Nombre d'octets envoyés par le serveur au client. |
| bytesReceived | int64 | Obligatoire | Nombre d'octets reçus par le serveur en provenance du client. |
| packetsSent | int64 | Obligatoire | Nombre de paquets envoyés par le serveur au client. |
| packetsReceived | int64 | Obligatoire | Nombre de paquets reçus par le serveur en provenance du client. |
| rtt | chaîne | Obligatoire | 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 Cloud de Confiance by S3NS. |
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 | chaîne | 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 | chaîne | Région de la VM |
| Zone | chaîne | 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 globaux 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.
Vous ne pouvez pas interroger ni filtrer les métriques de surveillance à l'aide de la règle de transfert globale parente. En effet, chaque règle de transfert enfant de son groupe de disponibilité implémente le trafic à équilibrage de charge, le routage du plan de données et les vérifications de l'état. Par conséquent, vous devez interroger et filtrer les métriques à l'aide des règles de transfert enfants que Cloud de Confiance génère pour chaque groupe de disponibilité. Cloud de Confiancenomme ces règles enfants en concaténant le nom de la règle de transfert parente avec-ag0et-ag1. La surveillance à ce niveau de précision des règles de transfert enfant vous permet d'afficher les métriques par groupe de disponibilité. Pour en savoir plus, consultez la section Règles de transfert.
Afficher les tableaux de bord Monitoring
Console
Dans la console Cloud de Confiance , 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 mondial 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 global 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 mondial.
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 la console Cloud de Confiance , 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 global, recherchez le préfixe
loadbalancing.googleapis.com/l3/external.Cliquez sur Enregistrer.
Définir des alertes de surveillance
Vous pouvez définir des alertes Monitoring concernant différentes métriques de l'équilibreur de charge réseau passthrough externe global :
Console
Dans la console Cloud de Confiance , 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 global, recherchez
loadbalancing.googleapis.com/l3/externaldans 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 mondiaux 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
Cette section décrit les métriques et les types de ressources pour les équilibreurs de charge réseau passthrough externes globaux.
Métriques
Les métriques suivantes pour les équilibreurs de charge réseau passthrough externes globaux sont consignées dans Monitoring. Vous pouvez utiliser ces noms de métriques lorsque vous effectuez des requêtes d'API.
| metric_name | 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 mondial. 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 mondial. |
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 global 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 global 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 global. Disponible uniquement pour le trafic TCP. |
Types de ressources
Les équilibreurs de charge réseau passthrough externes globaux utilisent les types de ressources suivants :
tcp_lb_ruleudp_lb_ruleloadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
Un équilibreur de charge réseau passthrough externe mondial 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 global. 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 |
string | Identifiant du projet Cloud de Confiance associé à cette ressource. |
load_balancer_name |
string | Nom de l'équilibreur de charge. |
region |
string | Région où se situe le backend de l'équilibreur de charge (par exemple, us-central1, europe-west1, asia-east1). |
network_name |
string | 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.
La valeur valide est BACKEND_SERVICE. |
backend_target_name |
string | Nom du service de backend. |
forwarding_rule_name |
string | Nom de la règle de transfert. Il s'agit du nom de l'une des règles de transfert enfants générées par Cloud de Confiance(avec le suffixe |
forwarding_rule_network_tier |
string | Niveau de réseau de la règle de transfert. |
backend_name |
chaîne | Nom du backend ayant géré la connexion. 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. |
backend_type |
string | Type de backend ayant géré la connexion. La valeur peut être |
backend_scope |
string | Zone ou région du groupe d'instances backend ou du NEG. |
backend_scope_type |
string | Type de champ d'application du groupe backend ayant géré la connexion. Les valeurs valides sont |
backend_subnetwork_name |
string | 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 |
string | Identifiant du projet Cloud de Confiance associé à cette ressource. |
region |
string | 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.
La valeur valide est BACKEND_SERVICE. |
backend_service_name |
string | Nom du service de backend ayant géré la connexion. |
forwarding_rule_name |
string | Nom de la règle de transfert. Il s'agit du nom de l'une des règles de transfert enfants générées par Cloud de Confiance(avec le suffixe |
backend_group_name |
string | Nom du backend ayant géré la connexion. |
backend_group_type |
string | Type de groupe backend ayant géré la connexion. Si |
backend_group_scope |
string | Champ d'application du groupe de backend (nom de la zone ou de la région) ayant géré la connexion. |
backend_subnetwork_name |
string | Nom du sous-réseau du backend ayant reçu la connexion. |
backend_zone |
string | 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 |
string | Pays du client ayant initié la connexion à l'équilibreur de charge réseau passthrough externe global. |
client_continent |
string | Continent du client ayant initié la connexion à l'équilibreur de charge réseau passthrough externe global. |
protocol |
string | 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 équilibreurs de charge réseau passthrough externes globaux à 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 globaux 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 globaux 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 mondial 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 :
2019-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/