Utiliser la journalisation et la surveillance

Logging

La journalisation Cloud NAT vous permet de consigner les connexions et les erreurs NAT. Lorsque la journalisation Cloud NAT est activée, une entrée de journal peut être générée pour chacun des scénarios suivants :

  • Lorsqu'une connexion réseau utilisant la NAT est créée
  • Lorsqu'un paquet est supprimé car aucun port n'était disponible pour la NAT

Vous pouvez choisir de consigner les deux types d'événements, ou seulement l'un ou l'autre.

Les journaux créés sont envoyés à Cloud Logging.

Spécifications

Les spécifications suivantes s'appliquent à la journalisation Cloud NAT :

  • La journalisation Cloud NAT ne traite que le trafic TCP et UDP.

  • La journalisation Cloud NAT consigne uniquement les paquets supprimés s'il s'agit de paquets TCP et UDP sortants. Les paquets entrants supprimés ne sont pas consignés. Par exemple, si une réponse entrante à une requête sortante est supprimée pour une raison quelconque, aucune erreur n'est consignée.

Chaque instance de VM ne peut générer qu'un certain nombre d'entrées de journal par unité de temps, proportionnellement à son nombre de processeurs virtuels. La VM peut générer entre 50 et 100 entrées de journal par seconde et par processeur virtuel.

  • Ce seuil de fréquence affecte le nombre d'événements pouvant être consignés. Même si certains événements sont filtrés, leur occurrence est comptabilisée dans le nombre d'entrées de journal possibles. Limiter les journaux aux erreurs ou aux connexions de traduction d'adresse réseau n'augmente pas nécessairement le nombre d'entrées de journal consultées. Par exemple, si vous décidez de ne consigner que les connexions réussies, les périodes de tentatives de connexion en échec et d'erreurs NAT excessives peuvent toujours limiter le nombre d'entrées de journal de connexions réussies.

  • La journalisation Cloud NAT ne consigne pas tous les paquets. Même si le seuil de fréquence de la VM n'a pas été atteint, certaines conditions peuvent être omises du journal. Vous devez compter sur la présence d'entrées dans la journalisation Cloud NAT pour prendre des décisions avisées, mais l'absence d'entrées ne signifie pas forcément qu'aucun événement ne s'est produit.

Configurer la journalisation

Pour configurer la journalisation Cloud NAT, procédez comme suit.

Activer la journalisation

Si la journalisation est activée, tous les journaux collectés sont envoyés par défaut à Cloud Logging. Vous pouvez les filtrer de sorte que seuls certains journaux soient envoyés.

Vous pouvez également spécifier ces valeurs lorsque vous créez ou modifiez une passerelle NAT. Les instructions suivantes montrent comment activer la journalisation pour une passerelle NAT existante.

Console

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accéder à la page Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur (modifier).

  4. Cliquez sur Journalisation, nombre minimal de ports, délai avant expiration pour ouvrir cette section.

  5. Sous Stackdriver Logging, sélectionnez l'une des options suivantes :

    • Aucune journalisation : désactive la journalisation
    • Traduction et erreurs : envoie tous les journaux à Logging
    • Traduction uniquement : envoie un journal uniquement lorsqu'une connexion est créée. Ne consigne pas les paquets supprimés.
    • Erreurs uniquement : envoie un journal lorsqu'un paquet est supprimé car aucun port n'était disponible. Ne consigne pas les nouvelles connexions.
  6. Cliquez sur Enregistrer.

gcloud

Les commandes suivantes permettent d'activer la journalisation d'une passerelle NAT existante.

Dans chaque commande, remplacez les éléments suivants :

  • NAT_GATEWAY : nom de la passerelle NAT
  • ROUTER_NAME : nom du routeur cloud qui héberge la passerelle NAT
  • REGION : région du routeur cloud

Pour consigner les événements de traduction d'adresse réseau et les erreurs, procédez comme suit :

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging

Pour consigner uniquement les événements de traduction d'adresse réseau :

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=TRANSLATIONS_ONLY

Pour consigner uniquement les erreurs :

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=ERRORS_ONLY

Supprimer les filtres de journal

Si vous avez défini un ensemble de filtres, vous pouvez le supprimer. Lorsque vous supprimez un filtre de journal, les événements de traduction d'adresse réseau et les erreurs sont consignés, à condition que la journalisation soit activée.

Console

  1. Dans Cloud Console, accédez à la page Cloud NAT.

    Accéder à la page Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur (modifier).

  4. Cliquez sur Journalisation, nombre minimal de ports, délai avant expiration pour ouvrir cette section.

  5. Dans Stackdriver Logging, sélectionnez Traduction et erreurs.

  6. Cliquez sur Enregistrer.

gcloud

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --log-filter=ALL

Remplacez l'élément suivant :

  • NAT_GATEWAY : nom de la passerelle NAT
  • ROUTER_NAME : nom du routeur cloud qui héberge la passerelle NAT
  • REGION : région du routeur cloud
  • --log-filter=ALL définit le filtre de journal permettant d'accepter tous les journaux.

Désactiver la journalisation

Pour désactiver la journalisation, procédez comme suit :

Console

  1. Dans Cloud Console, accédez à la page Cloud NAT.

    Accéder à la page Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Cliquez sur (modifier).

  4. Cliquez sur Journalisation, nombre minimal de ports, délai avant expiration pour ouvrir cette section.

  5. Sous Stackdriver Logging, sélectionnez Aucune journalisation.

  6. Cliquez sur Enregistrer.

gcloud

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --no-enable-logging

Remplacez l'élément suivant :

  • NAT_GATEWAY : nom de la passerelle NAT
  • ROUTER_NAME : nom du routeur cloud qui héberge la passerelle NAT
  • REGION : région du routeur cloud

Déterminer l'état de journalisation

Pour déterminer l'état de journalisation, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accéder à la page Cloud NAT

  2. Cliquez sur votre passerelle NAT.

  3. Dans la section Journalisation, nombre minimal de ports, délai avant expiration, inspectez les sélections sous Stackdriver Logging.

gcloud

gcloud compute routers nats describe NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION

Remplacez l'élément suivant :

  • NAT_GATEWAY : nom de la passerelle NAT
  • ROUTER_NAME : nom du routeur cloud qui héberge la passerelle NAT
  • REGION : région du routeur cloud

Afficher les journaux

Pour afficher les journaux NAT, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à la page Visionneuse de journaux.

    Accéder à la page Visionneuse de journaux

    • Pour afficher tous les journaux NAT, sélectionnez Passerelle Cloud NAT dans le premier menu déroulant.
    • Pour afficher les journaux d'une seule région, sélectionnez Passerelle Cloud NAT dans le premier menu déroulant, puis faites glisser le curseur vers la droite pour sélectionner une région.
    • Pour afficher les journaux d'une seule passerelle, sélectionnez Passerelle Cloud NAT dans le premier menu déroulant, faites glisser le curseur vers la droite pour sélectionner une région, puis à nouveau vers la droite pour sélectionner une passerelle unique.

Vous pouvez également accéder à la page Visionneuse de journaux et coller le texte suivant dans le champ Filtrer par libellé ou texte recherché :

resource.type="nat_gateway"
logName="projects/{#project_id}/logs/compute.googleapis.com%2Fnat_flows"

gcloud

gcloud logging read 'resource.type=nat_gateway' \
    --limit=10 \
    --format=json

Où :

  • resource.type=nat_gateway : limite la sortie à vos passerelles NAT
  • --limit=10 : limite la sortie à 10 entrées. Vous pouvez saisir une valeur différente pour afficher plus d'entrées, ou l'omettre complètement pour faire défiler les journaux de façon continue.
  • --format=json : affiche le résultat au format JSON

Plus d'options sont disponibles dans la section Lire les entrées de journal.

Vous pouvez configurer l'exportation de métriques basées sur les journaux pour les journaux de ressources.

Contenu consigné

Les entrées de journal Cloud NAT contiennent des informations utiles pour surveiller et déboguer votre trafic NAT. Il s'agit des types d'informations suivants :

  • Informations générales figurant dans la plupart des journaux Google Cloud, telles que la gravité, l'ID de projet, le numéro de projet et l'horodatage.
  • Informations spécifiques liées à Cloud NAT. Certains champs de journal contiennent des entrées qui sont elles-mêmes des champs multiples. Ces entrées et descriptions de champs sont affichées dans les tableaux suivants.

Champs de journal

Champ Value Signification
connection object(NatIpConnection) Hachage à sept tuples décrivant l'adresse IP et le port source de la VM, l'adresse IP et le port source de la NAT, l'adresse IP et le port de destination, ainsi que le protocole d'adresse IP de cette connexion.
allocation_status énum Indique si cette connexion a été correctement allouée ou supprimée. OK ou DROPPED.
gateway_identifiers object(NatGateway) Configuration de la passerelle NAT utilisée par la connexion.
endpoint object(InstanceDetails) Détails relatifs à l'instance de VM. Dans une configuration de réseau VPC partagé, project_id correspond au projet de service.
vpc object(VpcDetails) Détails relatifs au réseau VPC Dans une configuration de VPC partagé, project_id correspond à l'ID du projet hôte.
destination object(DestinationDetails) Détails de la destination de la connexion.

Format du champ NatIpConnection

Champ Type Description
src_ip chaîne Adresse IP source
src_port int32 Port source
nat_ip chaîne Adresse IP NAT
nat_port int32 Port NAT attribué
dest_ip chaîne Adresse IP de destination
dest_port int32 Port de destination
protocol int32 Numéro de protocole IANA

Format du champ NatGateway

Champ Type Description
gateway_name chaîne Nom de la passerelle NAT
router_name chaîne Routeur Cloud Router associé à la passerelle NAT
region chaîne Région du routeur Cloud Router

Format de champ InstanceDetails

Champ Type Description
project_id chaîne ID du projet contenant la VM
vm_name chaîne Nom d'instance de la VM
region chaîne Région du routeur Cloud Router
zone chaîne Zone de la VM

Format de champ VpcDetails

Champ Type Description
project_id chaîne ID du projet hébergeant le réseau.
vpc_name chaîne Réseau sur lequel opère la VM.
subnetwork_name chaîne Sous-réseau sur lequel opère la VM.

Format de champ DestinationDetails

Champ Type Description
geo_location object(GeographicDetails) Si la destination de la connexion est externe à Google Cloud, les métadonnées d'emplacement disponibles sont insérées dans ce champ.
instance object(InstanceDetails) Si la destination de la connexion est une instance située dans le même projet que la source, les détails de l'instance de VM sont renseignés dans ce champ.

Format de champ GeographicDetails

Champ Type Description
continent chaîne Continent des points de terminaison externes
country chaîne Pays des points de terminaison externes
region chaîne Région des points de terminaison externes
city chaîne Ville des points de terminaison externes
asn chaîne Numéro ASN (Autonomous System Number) du réseau externe auquel appartient ce point de terminaison

Exemples

Exemple 1 : enregistrement d'une connexion NAT-ed TCP à partir d'une instance de VM dans un réseau VPC partagé vers un serveur externe en France.

{
insertId: "1the8juf6vab1t"
jsonPayload: {
       connection: {
            Src_ip: "10.0.0.1"
            Src_port: 45047
            Nat_ip: "203.0.113.17"
            Nat_port: 34889
            dest_ip : "198.51.100.142"
            Dest_port: 80
            Protocol: "tcp"
       }
       allocation_status: "OK"
       Gateway_identifiers: {
             Gateway_name: "my-nat-1"
             router_name: "my-router-1"
             Region: "europe-west1"
       }
       Endpoint: {
             Project_id: "service-project-1"
             Vm_name: "vm-1"
             Region: "europe-west1"
             Zone: "europe-west1-b"
       }
       Vpc: {
             Project_id: "host-project"
             Vpc_name: "network-1"
             Subnetwork_name: "subnetwork-1"
       }
       Destination: {
             Geo_location: {
                   Continent: "Europe"
                   Country: "France"
                   Region: "Nouvelle-Aquitaine"
                   City: "Bordeaux"
             }
       }
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:08.123456789Z"
resource: {
      labels: {
            region: "europe-west1-d"
            project_id: "host-project"
            router_id: "987654321123456"
            gateway_name: "my-nat-1"
      }
      type: "nat_gateway"
}
labels: {
      nat.googleapis.com/instance_name: "vm-1"
      nat.googleapis.com/instance_zone: "europe-west1-b"
      nat.googleapis.com/nat_ip: "203.0.113.17"
      nat.googleapis.com/network_name: "network-1"
      nat.googleapis.com/router_name: "my-router-1"
      nat.googleapis.com/subnetwork_name: "subnetwork-1"
}
timestamp: "2018-06-28T10:46:00.602240572Z"
}

Exemple 2 : enregistrement d'un paquet supprimé car aucun port n'est disponible. La VM d'envoi essayait d'atteindre l'adresse IP externe d'une autre VM dans le même projet.

{
insertId: "1the8juf6vab1l"
jsonPayload: {
       connection: {
            Src_ip: "10.0.128.1"
            Src_port: 45047
            dest_ip : "192.0.2.87"
            Dest_port: 80
            Protocol: "tcp"
       }
       allocation_status: "DROPPED"
       Gateway_identifiers: {
             Gateway_name: "my-nat-2"
             Cloud_router: "my-router-1"
             Region: "europe-west1"
       }
       Endpoint: {
             Project_id: "service-project-1"
             Vm_name: "vm-1"
             Region: "europe-west1"
             Zone: "europe-west1-b"
       }
       Vpc: {
             Project_id: "host-project"
             Vpc_name: "network-1"
             Subnetwork_name: "subnetwork-1"
       }
       Destination: {
             Instance: {
                   Project_id: "service-project-1"
                   Vm_name: "vm-2"
                   Region: "asia-east1"
                   Zone: "asia-east1-b"
             }
       }
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:09.123456789Z"
resource: {
       labels: {
              region: "europe-west1-d"
              project_id: "host-project"
              router_id: "987654321123456"
              gateway_name: "my-nat-2"
       }
       type: "nat_gateway"
}
timestamp: "2018-06-28T10:46:01.602240572Z"
}

Tarifs de Logging

Pour en savoir plus, consultez la section Tarifs de journalisation.

Monitoring

Cloud NAT expose des métriques clés à Cloud Monitoring qui vous donnent des insights sur l'utilisation des passerelles NAT par votre parc.

Les métriques sont envoyées automatiquement à Cloud Monitoring. Vous pouvez y créer des tableaux de bord personnalisés, configurer des alertes et interroger les métriques.

Les rôles de gestion de l'authentification et des accès (IAM) suivants sont requis :

  • Pour les utilisateurs de VPC partagé avec des VM et des passerelles NAT définies dans différents projets, l'accès aux métriques au niveau de la VM nécessite le rôle IAM roles/monitoring.viewer pour le projet de chaque VM.

  • Pour la ressource de passerelle NAT, l'accès aux métriques de la passerelle nécessite le rôle IAM roles/monitoring.viewer pour le projet contenant la passerelle.

Afficher les tableaux de bord prédéfinis

Cloud NAT fournit un ensemble de tableaux de bord prédéfinis qui affichent l'activité de votre passerelle :

  • Connexions ouvertes
  • Données sortantes traitées
  • Données entrantes traitées
  • Utilisation du port
  • Erreurs d'allocation NAT

Pour afficher les tableaux de bord prédéfinis à partir de la page des détails d'une passerelle spécifique, procédez comme suit :

Console

  1. Dans Cloud Console, accédez à la page Cloud NAT.

    Accéder à la page Cloud NAT

  2. Cliquez sur une passerelle existante.

  3. Cliquez sur l'onglet Surveillance.

  4. Faites défiler la page vers le bas pour afficher tous les tableaux de bord. Vous pouvez modifier l'affichage sur une période allant d'une heure à 30 jours à l'aide du menu situé en haut de la page. Passez la souris sur un point du graphique pour afficher les informations correspondantes.

Définir des tableaux de bord personnalisés

Pour créer des tableaux de bord Cloud Monitoring personnalisés à partir des métriques Cloud NAT, procédez comme suit :

Console

  1. Dans Cloud Console, accédez à Monitoring :

    Accéder à Monitoring

  2. Cliquez sur Tableaux de bord, puis sur Créer un tableau de bord.

  3. Attribuez un nom à votre tableau de bord, puis cliquez sur Confirmer.

  4. Cliquez sur Ajouter un graphique.

  5. Indiquez un titre pour le graphique.

  6. Spécifiez le type de ressource et la métriqu :

    • Pour les métriques Cloud NAT d'une VM, utilisez le préfixe compute.googleapis.com/nat/.
    • Pour les métriques d'une passerelle NAT, utilisez le préfixe router.googleapis.com/nat/.

    Pour obtenir la liste des métriques et des dimensions de filtrage, consultez les pages Utiliser les métriques d'une instance de VM et Utiliser les métriques d'une passerelle NAT.

  7. Spécifiez les dimensions de filtrage.

  8. Cliquez sur Save.

Définir des règles d'alerte

Console

Vous pouvez créer des règles d'alerte pour surveiller les valeurs des métriques et être informé lorsqu'elles ne respectent pas une condition. Pour créer une règle d'alerte qui surveille une ou plusieurs passerelles Cloud NAT ou instances de VM Compute Engine, procédez comme suit :

  1. Dans Google Cloud Console, accédez à Monitoring.

    Accéder à Monitoring

  2. Dans le volet de navigation "Monitoring", sélectionnez  Alertes, puis Créer une règle.
  3. Cliquez sur Ajouter une condition :
    1. Les paramètres du volet Cible permettent de spécifier la ressource et la métrique à surveiller. Cliquez sur la zone de texte pour activer un menu, puis sélectionnez la ressource Passerelle Cloud NAT ou Instance de VM Compute Engine. Sélectionnez ensuite une métrique dans la liste.
    2. Les paramètres du volet Configuration de la règle d'alerte déterminent le moment où l'alerte se déclenche. La plupart des champs de ce volet sont renseignés avec des valeurs par défaut. Pour en savoir plus sur les champs du volet, consultez la section Configuration dans la documentation sur les règles d'alerte.
    3. Cliquez sur Ajouter.
  4. Pour accéder à la section "Notifications", cliquez sur Suivant.
  5. Facultatif : Pour ajouter des notifications à votre règle d'alerte, cliquez sur Canaux de notification. Dans la boîte de dialogue, sélectionnez un ou plusieurs canaux de notification dans le menu, puis cliquez sur OK.

    Si un canal de notification que vous souhaitez ajouter n'est pas répertorié, cliquez sur Gérer les canaux de notification. La page Canaux de notification s'affiche dans un nouvel onglet du navigateur. Sur cette page, vous pouvez mettre à jour les canaux de notification configurés. Une fois vos mises à jour effectuées, revenez à l'onglet d'origine, cliquez sur Actualiser , puis sélectionnez les canaux de notification à ajouter à la règle d'alerte.

  6. Pour accéder à la section "Documentation", cliquez sur Suivant.
  7. Cliquez sur Nom et saisissez un nom pour la règle d'alerte.
  8. Facultatif : Cliquez sur Documentation, puis ajoutez les informations à inclure dans le message de notification.
  9. Cliquez sur Enregistrer.
Pour plus d'informations, consultez la page Règles d'alerte.

Fréquence et conservation des rapports sur les métriques

Les métriques pour Cloud NAT sont regroupées et exportées vers Monitoring toutes les minutes. Les données de surveillance sont conservées pendant six semaines. Le tableau de bord fournit une analyse des données à des intervalles par défaut d'une heure, de six heures, d'un jour, d'une semaine et de six semaines. Vous pouvez demander manuellement une analyse à un intervalle compris entre une minute et six semaines.

Utiliser les métriques d'une instance de VM

Les noms de type de métrique suivants doivent être précédés de compute.googleapis.com/nat/. Ce préfixe a été omis dans les entrées de la table.

metric.type Type Description
sent_bytes_count COMPTEUR Nombre d'octets envoyés (VM -> Internet) via la passerelle NAT.
sent_packets_count COMPTEUR Nombre de paquets envoyés (VM -> Internet) via la passerelle NAT.
received_bytes_count COMPTEUR Nombre d'octets reçus (Internet -> VM) via la passerelle NAT.
received_packets_count COMPTEUR Nombre de paquets reçus (Internet -> VM) via la passerelle NAT.
new_connections_count COMPTEUR Nombre de connexions créées sur la passerelle NAT.
open_connections JAUGE Nombre de connexions actuellement ouvertes sur la passerelle NAT.
closed_connections_count COMPTEUR Nombre de connexions fermées via la passerelle NAT.
dropped_sent_packets_count COMPTEUR Nombre de paquets supprimés par la passerelle NAT (en raison de l'épuisement des ports ou d'un conflit des ports dû au mappage indépendant du point de terminaison).
dropped_received_packets_count COMPTEUR Nombre de paquets reçus et supprimés par la passerelle NAT car aucune connexion n'a été trouvée.
port_usage JAUGE Nombre maximal de connexions entre une VM et un seul point de terminaison Internet (IP:port).
allocated_ports JAUGE Nombre de ports alloués à une VM via la passerelle NAT.

Dimensions de filtrage de l'instance de VM

label_key Type Description
project_id STRING ID de projet de l'instance de VM.
instance_id STRING ID de l'instance de VM.
zone STRING Zone de l'instance de VM.
nat_project_number STRING Numéro du projet auquel appartient la passerelle NAT.
router_id STRING ID du routeur Cloud Router auquel appartient la passerelle NAT.
nat_gateway_name STRING Nom de la passerelle NAT.
nat_ip STRING Adresse IP NAT allouée à la passerelle NAT. Valable pour la métrique allocated_ports.
ip_protocol STRING Protocole de la connexion. Il peut s'agir de TCP, UDP ou ICMP. Valide pour toutes les métriques sauf allocated_ports.
reason STRING

Raison de la suppression de paquets. Les valeurs possibles sont les suivantes :

Valable pour la métrique dropped_sent_packets_count.

Utiliser les métriques d'une passerelle NAT

Les noms de type de métrique suivants doivent être précédés de router.googleapis.com/nat/. Ce préfixe a été omis dans les entrées de la table.

metric.type Type Description
nat_allocation_failed BOOL Indique "true" en cas d'échec lors de l'allocation d'adresses IP NAT à une VM de la passerelle NAT, sinon "false". Une raison fréquente est le manque d'adresses IP NAT dans la passerelle.
sent_bytes_count COMPTEUR Nombre d'octets envoyés (VM -> Internet) via la passerelle NAT.
sent_packets_count COMPTEUR Nombre de paquets envoyés (VM -> Internet) via la passerelle NAT.
received_bytes_count COMPTEUR Nombre d'octets reçus (Internet -> VM) via la passerelle NAT.
received_packets_count COMPTEUR Nombre de paquets reçus (Internet -> VM) via la passerelle NAT.
new_connections_count COMPTEUR Nombre de connexions créées sur la passerelle NAT.
open_connections JAUGE Nombre de connexions actuellement ouvertes sur la passerelle NAT.
closed_connections_count COMPTEUR Nombre de connexions fermées via la passerelle NAT.
dropped_sent_packets_count COMPTEUR Nombre de paquets supprimés par la passerelle NAT (en raison de l'épuisement des ports ou d'un conflit des ports dû au mappage indépendant du point de terminaison).
dropped_received_packets_count COMPTEUR Nombre de paquets reçus et supprimés par la passerelle NAT car aucune connexion n'a été trouvée.
port_usage JAUGE L'utilisation du port pour une seule VM correspond au nombre maximal de connexions de la VM à un seul point de terminaison Internet (IP:port). Ce champ indique l'utilisation la plus élevée du port parmi toutes les VM d'une passerelle NAT.
allocated_ports JAUGE Nombre de ports alloués à toutes les VM via la passerelle NAT.

Dimensions de filtrage de la passerelle

label_key Type Description
project_id STRING ID de projet de la passerelle.
region STRING Région de la passerelle.
router_id STRING ID du routeur Cloud Router auquel appartient la passerelle NAT.
gateway_name STRING Nom de la passerelle NAT.
ip_protocol STRING Protocole de la connexion. Il peut s'agir de TCP, UDP ou ICMP. Valide pour toutes les métriques sauf allocated_ports.
nat_ip STRING Adresse IP NAT allouée à la passerelle NAT. Valable pour la métrique allocated_ports.
reason STRING

Raison de la suppression de paquets. Les valeurs possibles sont les suivantes :

Valable pour la métrique dropped_sent_packets_count.

Utiliser l'API

Vous pouvez créer des requêtes arbitraires pour les métriques Cloud NAT à l'aide de la requête projects.timeSeries.list de l'API Monitoring v3.

Exemple d'API

Obtention des ports alloués d'une VM, avec des agrégats de 1 min et les paramètres timeSeries.list :

  • nom : projects/PROJECT_ID
  • Filtre : resource.type = "gce_instance" AND metric.name="compute.googleapis.com/nat/allocated_ports" AND metric.labels.nat_gateway_name="nat-1-237227-1569344091-5"
  • interval.start_time : 2019-09-24T16:58:53Z
  • interval.end_time : 2019-09-24T16:58:53Z
  • aggregation.alignmentPeriod : 60s
  • aggregation.crossSeriesReducer : REDUCE_SUM
  • aggregation.perSeriesAligner : ALIGN_SUM
"timeSeries": [
    {
      "resource": {
        "labels": {
          "instance_id": "1406292833167995938",
          "project_id": "PROJECT_ID",
          "zone": "us-west1-c"
        },
        "type": "gce_instance"
      },
      "metric": {
        "labels": {
          "nat_ip": "70.32.157.11",
          "nat_gateway_name": "nat-1-237227-1569344091-5",
          "nat_project_number": "PROJECT_NUMBER",
          "router_id": "1380055590921303155"
        },
        "type": "compute.googleapis.com/nat/allocated_ports"
      },
      "metricKind": "GAUGE",
      "points": [
        {
          "interval": {
            "endTime": "2019-09-24T16:58:53.699Z",
            "startTime": "2019-09-24T16:58:53.699Z"
          },
          "value": {
            "int64Value": "64"
          }
        }
      ],
      "valueType": "INT64"
    },

Tarifs de Monitoring

La surveillance de Cloud NAT est gratuite.

Étape suivante