Configurer la journalisation

Cette page explique comment Cloud Network Insights s'intègre à AppNeta pour générer des alarmes et comment ces alarmes sont envoyées à Google Cloud pour analyse, affichage et création de règles d'alerte.

Les tâches de journalisation et d'alerte sont réparties entre Google Cloud et AppNeta. La journalisation Cloud Network Insights permet de suivre les cas où les métriques collectées par les points de surveillance dépassent les seuils que vous configurez avec les règles d'alarme dans AppNeta.

Créez des alarmes et des règles d'alarme dans AppNeta pour générer des journaux d'alarme. Les journaux d'alarmes et d'événements sont ensuite exportés vers Cloud Logging. Vous pouvez ensuite utiliser des règles d'alerte pour envoyer des alertes et des notifications lorsqu'un incident réseau se produit.

Avant de commencer

Vous devez déployer un point de surveillance avant de pouvoir créer des règles d'alarme.

Alarmes dans AppNeta

Les alarmes et les règles d'alarme sont créées dans AppNeta. Les alarmes vous avertissent en cas de problème sur votre réseau. Si une métrique que vous suivez, comme la latence, dépasse un seuil défini dans un intervalle spécifique, cela constitue un non-respect de la règle d'alarme. Vous pouvez choisir de déclencher une alarme après une seule ou plusieurs infractions au cours d'un intervalle défini.

Par exemple, si la latence dépasse 160 ms à deux reprises en trois minutes, vous pouvez configurer l'alarme pour qu'elle déclenche un avertissement. Cette alarme est envoyée à Google Cloud sous forme de journal. Une fois le journal arrivé dans Cloud Logging, vous pouvez envoyer une alerte et avertir votre équipe.

Pour en savoir plus sur les alarmes, consultez Présentation des alarmes ou Alarmes : bonnes pratiques dans la documentation AppNeta.

Créer des règles d'alarme dans AppNeta

Créez des règles d'alarme qui définissent des seuils de performances.

  1. Ouvrez la console Google Cloud et accédez à Informations sur le réseau > Cloud Network Insights > Règles d'alerte.

    Accéder aux règles d'alerte

  2. Cliquez sur Create Alarm Rules (Créer des règles d'alarme) pour ouvrir la page Alarm Rule Edit (Modifier les règles d'alarme) dans AppNeta.

  3. Définissez des règles spécifiant les métriques, les seuils, les stratégies de non-respect et la gravité. Vous pouvez utiliser ou personnaliser les règles par défaut.

Une fois une alarme déclenchée, le journal d'alarme est envoyé à Cloud Logging. Une fois le journal envoyé à Google Cloud, vous pouvez accéder à Cloud Network Insights et définir vos règles d'alerte.

Pour en savoir plus sur la création de règles d'alarme, consultez Règles d'alarme dans la documentation AppNeta.

Afficher les journaux dans Google Cloud

Cloud Network Insights exporte des journaux détaillés dans Cloud Logging pour vous aider à analyser et à résoudre les problèmes liés aux performances du réseau et aux événements importants. Vous pouvez accéder à ces journaux à l'aide de l'explorateur de journaux.

  1. Dans la console Google Cloud , accédez à la page Explorateur de journaux.

    Accéder à l'explorateur de journaux

  2. Créez des requêtes pour recevoir des alertes sur les informations pertinentes.

Les journaux Cloud Network Insights utilisent l'une des valeurs suivantes pour logName :

  • Journaux d'alarme : networkmanagement.googleapis.com/insights_alarm
  • Journaux d'événements – networkmanagement.googleapis.com/insights_event

Pour en savoir plus, consultez Créer et enregistrer des requêtes à l'aide du langage de requête Logging.

Tarifs

Tous les journaux Cloud Network Insights sont écrits dans Cloud Logging. Aucuns frais distincts ne sont facturés par Cloud Network Insights pour ce service. Toutefois, ces journaux peuvent entraîner des coûts de stockage supplémentaires en fonction de la taille des journaux écrits et stockés.

Pour en savoir plus sur les tarifs de Cloud Logging, consultez la page Tarifs de Google Cloud Observability : Cloud Logging.

Détails du journal

Bien que les détails spécifiques de chaque type de journal soient contenus dans le champ jsonPayload, plusieurs autres champs LogEntry standards sont essentiels pour interroger et comprendre les journaux.

Journaux des alarmes

  • Nom du journal : networkmanagement.googleapis.com/insights_alarm
  • Déclenchée : générée lorsque les conditions d'une règle d'alarme sont remplies.
  • Libellés de ressource : décrit la ressource surveillée associée au journal. Voici quelques exemples :
    • type : type de ressource (peut être l'un des suivants) :
      • networkmanagement.googleapis.com/NetworkMonitoringProvider
      • networkmanagement.googleapis.com/MonitoringPoint
      • networkmanagement.googleapis.com/NetworkPath
    • labels : paires clé-valeur identifiant l'instance de ressource spécifique, telles que resource_container (ID du projet), location, network_monitoring_provider_id, path_id ou monitoring_point_id.
  • Champs JSON clés : les journaux d'alarme fournissent des informations sur les alarmes déclenchées.
  • Mappage de la gravité : la gravité est enregistrée différemment entre AppNeta et Google Cloud.
    Gravité AppNeta Gravité des journaux Google Cloud
    Critique CRITICAL
    Majeur ERREUR
    Mineur AVERTISSEMENT
    Avertissement AVIS

Champs du journal des alarmes

Le jsonPayload d'un journal d'alarme contient les champs suivants.

Champ Type Description
alarm_id string Identifiant unique de l'alarme dans AppNeta.
alarm_severity enum Gravité de l'alarme. Il peut s'agir de CRITICAL, MAJOR, MINOR ou WARNING.
alarm_type enum Type d'alarme. Le type QUALITY_OF_SERVICE est accepté.
cleared_time timestamp Heure à laquelle l'alarme a été effacée. Ce champ est vide si l'état du journal d'alarmes est RAISED ou UPDATED.
description string Description de l'alarme dans un format lisible.
first_violation_time timestamp Heure à laquelle la condition d'alarme a été enfreinte pour la première fois.
item objet Entité associée à l'alarme. Pour en savoir plus, consultez Structures d'éléments courants.
provider_link string Lien hypertexte vers l'alarme dans l'UI AppNeta.
raised_time timestamp Heure à laquelle l'alarme a été déclenchée.
receiveTimestamp string Heure à laquelle l'alarme a été créée dans Google Cloud.
rule string Nom de la règle d'alarme qui a déclenché l'alarme.
state enum État de l'alarme. Peut être RAISED, UPDATED (les détails de l'alarme ont été mis à jour dans AppNeta, mais pas encore effacés) ou CLEARED.
timestamp string Heure à laquelle l'alarme a été créée dans AppNeta.

Journaux des événements

  • Nom du journal : networkmanagement.googleapis.com/insights_event
  • Déclencheur : généré lorsqu'un changement structurel se produit (par exemple, Route Change, MTU Change ou Monitoring Point Offline).
  • Gravité : toujours INFO.
  • Champs JSON clés : les journaux d'événements fournissent des informations sur les événements déclenchés.

Champs du journal des événements

Le jsonPayload d'un journal d'événements contient les champs suivants.

Champ Type Description
event_detail objet Détails spécifiques au type d'événement. Peut être défini sur route_change_event, mtu_change_event ou qos_change_event. Un objet vide sera renvoyé pour les événements qui n'ont pas d'autres détails. Pour en savoir plus, consultez Champs d'informations sur les événements.
event_id string Identifiant unique de cet événement.
event_type enum Type d'événement. Il peut s'agir de MONITORING_POINT_OFFLINE, MONITORING_POINT_ONLINE, ROUTE_CHANGE, MTU_CHANGE ou QOS_CHANGE.
item objet Entité associée à l'événement. Pour en savoir plus, consultez Structures d'éléments courantes.
receiveTimestamp string Heure de création de l'événement Google Cloud.
timestamp string Heure à laquelle l'événement a été créé dans AppNeta.

Champs d'informations sur l'événement

L'objet event_detail contient des informations spécifiques au type d'événement. Selon le event_type, il contient l'un des objets imbriqués suivants :

Un objet vide est renvoyé pour les événements sans autre détail.

Événement de modification de la MTU (mtu_change_event)

Cet objet capture les détails chaque fois que la taille de l'unité de transmission maximale est modifiée.

Champ Type Description
new_mtu int32 La MTU nouvellement mesurée.
previous_mtu int32 MTU précédente, le cas échéant (omis au démarrage).

Événement de modification de la QoS (qos_change_event)

Cet objet indique le remappage de la qualité de service sur tous les chemins détectés.

Champ Type Description
configured_qos int32 La QoS configurée dans les paramètres du job.
remapped_qos int32 Une qualité de service modifiée a été détectée sur le chemin.
ip_address string Adresse IP du saut où la modification de la qualité de service a été détectée, si elle est connue.

Événement de modification de l'itinéraire (route_change_event)

L'objet capture les différences dans le nombre de sauts ou la séquence d'adresses IP connues entre les traceroutes consécutifs.

Champ Type Description
previous_route_change_time timestamp Code temporel du traceroute qui a détecté l'itinéraire précédent pour la première fois.
protocol string Protocole utilisé pour le traceroute (par exemple, TCP, UDP et ICMP).
hop_count int32 Nombre total de sauts sur l'itinéraire.
target_ip string Adresse IP cible du traceroute.
route_changes tableau d'objets Tableau de toutes les modifications détectées. Chaque objet contient une chaîne route_change_type et un objet details. Consultez Détails des modifications d'itinéraire.

Détails des modifications d'itinéraire

L'objet details à l'intérieur du tableau route_changes dépend de route_change_type :

  • incomplete_route ou complete_route
    • terminal_hop (objet de saut) : dernier saut atteint (ou saut final si le processus est terminé).
    • terminal_network (objet réseau) : informations réseau pour le saut de terminal.
  • route_loop
    • first_hop (objet de saut) : premier saut de la boucle d'itinéraire détectée.
    • last_hop (objet de saut) : dernier saut de la boucle de route détectée.
    • loop_span (int32) : nombre de sauts impliqués dans la boucle.
  • target_ip_change
    • previous_target_ip (chaîne) : adresse IP cible observée dans le traceroute précédent.
    • new_target_ip (chaîne) : adresse IP cible actuelle.
  • sequence_change
    • last_common_hop (objet de saut) : dernier saut commun entre les traceroutes précédentes et actuelles.
    • previous_next_hop (objet hop) : appareil de saut suivant précédent dans la séquence.
    • new_next_hop (objet de saut) : nouvel appareil de saut suivant dans la séquence.
    • previous_hop_count (int32) : nombre total de sauts dans le traceroute précédent.
    • hop_count (int32) : nombre total de sauts dans le traceroute actuel.
  • network_change
    • previous_asns (tableau d'int32) : séquence de réseau ASN pour le chemin d'accès.
    • new_asns (tableau d'int32) : nouvelle séquence de réseau ASN pour le chemin d'accès.
  • isp_change
    • previous_isp (objet réseau) : FAI observé dans le traceroute précédent.
    • new_isp (objet réseau) : FAI actuel observé.

Sous-objets courants

Les objets hop et réseau sont renvoyés pour plusieurs champs.

Saut

Les objets de saut décrivent un saut de réseau spécifique.

Champ Type Description
hop_number int32 Numéro de saut dans le traceroute.
ip_address string Adresse IP du saut.
hostname string Nom d'hôte résolu pour l'adresse IP du saut.

Réseau

Un objet réseau décrit le réseau dans lequel une action s'est produite.

Champ Type Description
asn int32 Numéro de système autonome (ASN) du réseau.
display_name string Nom du réseau (par exemple, nom du FAI ou de l'organisation).

Structures d'éléments courants

Le champ "item" dans le jsonPayload des journaux d'alarmes et d'événements contient des informations sur l'entité associée. La structure dépend du type d'article.

NetworkPathItem

Champ Type Description
destination string Adresse IP ou nom d'hôte de la destination.
destination_monitoring_point MonitoringPointItem Détails de l'élément MonitoringPoint de destination (pour les chemins MonitoringPoint-to-MonitoringPoint uniquement).
display_name string Nom à afficher du chemin réseau défini par l'utilisateur.
monitoring_policy_display_name string Nom à afficher de la règle de surveillance.
monitoring_policy_id string ID de la règle de surveillance.
network_protocol string Protocole réseau utilisé, tel que TCP, UDP ou ICMP.
provider_tags tableau d'objets Balises définies dans AppNeta pour le chemin d'accès.
source_monitoring_point MonitoringPointItem Détails de l'élément MonitoringPointItem source.

WebPathItem

Champ Type Description
destination string URL de destination.
display_name string Nom à afficher du chemin Web défini par l'utilisateur.
monitoring_policy_display_name string Nom à afficher de la règle de surveillance.
monitoring_policy_id string ID de la règle de surveillance.
provider_tags tableau Tags définis dans le fournisseur pour le chemin d'accès.
source_monitoring_point objet Détails du MonitoringPoint source.

MonitoringPointItem

Champ Type Description
display_name string Nom à afficher du point de surveillance défini par l'utilisateur.
host objet Détails de l'hôte du point de surveillance.
id string Identifiant unique du point de surveillance.
provider_tags tableau Tags définis dans le fournisseur pour le point de surveillance.

MonitoringPointHost

Champ Type Description
cloud_instance_id string ID d'instance du fournisseur de services cloud.
cloud_project_id string ID du projet Google Cloud .
cloud_provider string Fournisseur de services cloud tel que GCP, AWS ou AZURE.
cloud_region string Région cloud du point de terminaison (par exemple, us-central1).
cloud_virtual_network_ids tableau de chaînes ID de réseau Cloud Virtual Network visibles par l'utilisateur.
cloud_zone string Zone cloud du point de terminaison, par exemple us-central1-a.
labels carte Étiquettes définies par l'utilisateur configurées sur l'instance de VM.
os string Système d'exploitation de l'hôte du point de surveillance.