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.
Ouvrez la console Google Cloud et accédez à Informations sur le réseau > Cloud Network Insights > Règles d'alerte.
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.
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.
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
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/NetworkMonitoringProvidernetworkmanagement.googleapis.com/MonitoringPointnetworkmanagement.googleapis.com/NetworkPath
labels: paires clé-valeur identifiant l'instance de ressource spécifique, telles queresource_container(ID du projet),location,network_monitoring_provider_id,path_idoumonitoring_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 ChangeouMonitoring 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_routeoucomplete_routeterminal_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_loopfirst_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_changeprevious_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_changelast_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_changeprevious_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_changeprevious_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. |