Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit les composants d'une solution d'automatisation en boucle fermée Cisco pour l'automatisation de l'évolutivité du tunnel GRE (Generic Routing Encapsulation) et son adaptabilité à d'autres cas.
Les fournisseurs de services souhaitent contrôler l'utilisation de leur bande passante sur les tunnels GRE de leur réseau et les surveiller étroitement pour faire évoluer les tunnels en fonction des besoins, à l'aide d'une solution d'automatisation intelligente en boucle fermée.
GRE est un protocole de tunneling qui fournit une approche générique simple pour transporter des paquets d'un protocole sur un autre à l'aide de l'encapsulation. Ce document se concentre sur l'exemple basé sur le tunnel GRE pour la plate-forme Cisco IOS® XRv, mais peut également être généralisé à d'autres plates-formes. GRE encapsule une charge utile, un paquet interne qui doit être livré à un réseau de destination à l'intérieur d'un paquet IP externe. Le tunnel GRE se comporte comme une liaison point à point virtuelle avec deux points d'extrémité identifiés par l'adresse source et l'adresse de destination du tunnel.
La configuration d'un tunnel GRE implique la création d'une interface de tunnel et la définition de la source et de la destination du tunnel. Cette image montre la configuration de trois tunnels GRE entre les routeurs A et B. Pour cette configuration, vous devez créer trois interfaces, chacune sur le routeur A, telles que Tunnel-1, Tunnel-2 et Tunnel-3, et créer de même trois interfaces sur le routeur B, telles que Tunnel-1, Tunnel-2 et Tunnel-3. Entre deux routeurs de fournisseur de services, il peut y avoir plusieurs tunnels GRE. Chaque tunnel, comme toute autre interface réseau, a une capacité définie qui est basée sur la capacité de l’interface. Par conséquent, un tunnel ne peut transporter qu'un trafic maximal égal à sa bande passante. Le nombre de tunnels est souvent basé sur la prédiction initiale de la charge de trafic et de l'utilisation de la bande passante entre deux sites (routeurs). Cette utilisation de la bande passante devrait changer en fonction des modifications apportées au réseau et à son extension. Pour optimiser l'utilisation de la bande passante du réseau, il est important d'ajouter de nouveaux tunnels ou de supprimer des tunnels supplémentaires entre deux périphériques en fonction de l'utilisation de la bande passante mesurée sur tous les tunnels entre les deux périphériques.
À partir de cet exemple, vous pouvez dire que la capacité totale des trois tunnels entre les routeurs A et B est la somme des capacités de tunnel-1, tunnel-2 et tunnel-3, qui est appelée bande passante agrégée ou bande passante de niveau de regroupement GRE. Notez que le mot clé « bundle » fait ici référence aux tunnels entre une paire de routeurs ; aucune relation implicite avec le regroupement de liaisons LACP/Etherchannel n'est prévue. En outre, le trafic réel entre les deux routeurs est le trafic agrégé total entre les tunnels 1, 2 et 3. En général, vous pouvez concevoir un concept d'utilisation de la bande passante au niveau du bundle, qui peut être un rapport entre le trafic total à travers les tunnels et la capacité totale de tous les tunnels entre deux routeurs. En général, tout fournisseur de services souhaite prendre des mesures correctives en ajoutant ou en supprimant des tunnels entre deux routeurs s'il constate que la bande passante est surutilisée ou sous-utilisée. Cependant, pour ce document, considérez que le seuil inférieur est de 20 % pour une faible utilisation et de 80 % pour une utilisation élevée pour l'utilisation de niveau de regroupement entre deux routeurs.
La solution d'automatisation en boucle fermée fait appel à plusieurs outils qui travaillent sur l'objectif spécifique de cette solution complète. Cette image montre quels composants et outils nous aident à réaliser l'architecture finale et décrit le rôle de haut niveau. Vous pouvez examiner chaque composant et son utilisation dans les sections suivantes.
d'automatisation boucle fermée
Outil |
Objectif |
Contrôleur réseau Cisco Crosswork (CNC) |
Le contrôleur de réseau Crosswork offre une visibilité en temps réel sur le cycle de vie des services et des périphériques, grâce à une navigation intuitive sur la topologie du réseau, l'inventaire des services, les politiques de transport, l'état de santé des services et des périphériques, et plus encore, en prenant en charge un large éventail d'utilisations avec une expérience utilisateur commune et intégrée. Dans cette solution, il est utilisé comme un outil principalement pour la gestion des périphériques et la collecte de données de performance de tunnel à l'aide de gNMI (gRPC Network Management Interface) ou MDT. Plus de détails : https://www.cisco.com/site/us/en/products/networking/software/crosswork-network-controller/index.html |
Matrice Cisco |
Les services d'analyse CX (packs de fonctions) sont fournis à l'aide de la solution Matrix, qui est une solution d'analyse multidomaine et multifournisseur. Dans cette Solution, la Matrice consomme les données de Kafka envoyées par CNC sur les Rubriques Kafka et effectue en outre l'agrégation des KPI basés sur les tunnels dans les KPI de niveau Bundle en utilisant des recherches de topologie et les stocke sous forme de données de séries chronologiques et les stocke dans la base de données Postgres. Une fois stockées, ces données sont disponibles pour la visualisation et Matrix détecte les anomalies à l'aide d'alertes de franchissement de seuil qui nous permettent de configurer des seuils pour les indicateurs de performance clés que nous collectons à partir du réseau. |
Grappe De Kafka |
Un cluster Kafka est un système qui comprend différents sujets de courtiers, et leurs partitions respectives. Un producteur envoie ou écrit des données/messages au sujet dans le cluster. Un consommateur lit ou consomme des messages du cluster Kafka. Dans cette solution, CNC agit en tant que Producteur qui envoie des données à des sujets Kafka prédéfinis sous la forme de données utiles JSON après avoir converti les données de télémétrie collectées à partir de routeurs. Dans cette solution, Matrix agit en tant que consommateur qui consomme ces données, les traite, les agrège et les stocke en vue d'un traitement ultérieur et d'une détection des anomalies. |
Cisco NSO |
Cisco Crosswork Network Services Orchestrator (NSO) NSO fait partie de la gamme Crosswork d'outils d'automatisation conçus pour les fournisseurs de services et les grandes entreprises. Dans cette solution, NSO collecte des informations relatives à tous les tunnels et périphériques et crée une table topologique personnalisée pour cette solution. En outre, dans cette solution, NSO et les fonctionnalités d'automatisation des processus d'entreprise sont utilisées pour déclencher un workflow de correction et prendre des mesures telles que l'ajout ou la suppression d'un tunnel à partir du périphérique et la suppression des alertes dans la matrice Cisco. Plus de détails : https://www.cisco.com/c/en/us/products/cloud-systems-management/network-services-orchestrator/index.html |
Vitria VIA AIOps |
Vitria VIA AIOps pour Cisco Network Automation fournit une analyse automatisée qui permet de remédier rapidement aux événements affectant les services sur toutes les couches technologiques et applicatives. Dans cette solution, VIA AIOps est utilisé pour corréler les événements de seuil KPI générés par Cisco Matrix pour créer un incident, une notification et déclencher une action automatisée vers Cisco NSO pour augmenter ou diminuer le nombre de tunnels GRE. Plus de détails : https://www.cisco.com/c/en/us/products/collateral/cloud-systems-management/crosswork-network-automation/solution-overview-c22-2403404.html |
La solution effectue ces étapes pour répondre à ce cas d'utilisation, qui sont détaillées dans les sections suivantes.
Les applications demandent la collecte de données via des tâches de collecte. Cisco Crosswork attribue ensuite ces tâches de collecte à une passerelle de données Cisco Crosswork pour répondre à la demande. Crosswork Data Gateway prend en charge la collecte de données à partir de périphériques réseau à l'aide de la télémétrie pilotée par modèle (MDT) pour consommer des flux de télémétrie directement à partir de périphériques (pour les plates-formes basées sur Cisco IOS XR uniquement). Cisco Crosswork vous permet de créer des destinations de données externes qui peuvent être utilisées par les tâches de collecte pour déposer des données.Kafka peut être ajouté en tant que nouvelles destinations de données pour les tâches de collecte créées par l'API REST. Dans cette solution, CDG collecte les données des routeurs liées aux statistiques de l'interface de tunnel et envoie les données à la rubrique Kafta.Cisco Matrix consomme les données de la rubrique Kafka et attribue les données à l'application de travail Matrix qui traite les données en tant qu'indicateur de performance clé (KPI) et les enregistre de manière chronologique, comme illustré dans la figure suivante qui décrit le flux du processus.
Les données de séries chronologiques ont des attributs ICP qui sont stockés dans la base de données matricielle.
Attributs ICP |
Objectif |
Noeud |
Périphérique ou source pour lequel l'indicateur de performance clé est stocké Exemple : Router-A |
Heure |
L'heure à laquelle les données sont collectées Exemple : 22-05-2024 10:00:00 |
Indice |
Identificateur unique Exemple : Tunnel-1 |
Valeur |
Valeur de l'indicateur de performance clé - Valeur numérique |
ICP |
Nom KPI Exemple : utilisation du tunnel |
Une fois que vous avez les données de série temporelle comme mentionné dans la section précédente, vous avez les statistiques de trafic collectées par interface de tunnel. Cependant, vous devez identifier quel périphérique avec quelle interface de tunnel source est connecté à quel autre périphérique et quel est le nom de l'interface distante. Il s'agit de l'identification de liaison, qui permet d'identifier le nom du périphérique source. Nom de l'interface source, Nom du périphérique distant et Nom de l'interface distante. Pour interpréter avec précision les informations de liaison et les routeurs, vous avez besoin d’un exemple de référence tel que décrit.
Périphérique source |
Nom d'interface source |
Périphérique distant |
Nom de l'interface distante |
Routeur-A |
Tunnel-1 |
Routeur-B |
Tunnel-1 |
Routeur-A |
Tunnel-2 |
Routeur-B |
Tunnel-2 |
Routeur-A |
Tunnel-3 |
Routeur-B |
Tunnel-3 |
.... |
... |
... |
. |
Pour créer cette table de liens de topologie dans cette solution, vous pouvez remplir une table personnalisée, Table de données de liens, intégrée à Matrix en fonction d'un script exécuté sur le serveur tous les jours à l'heure souhaitée. Ce script effectue un appel d'API à BPA-NSO et récupère une sortie JSON des groupes GRE entre les paires de routeurs. Il analyse ensuite les données d’interface pour créer la topologie au format JSON. Le script prend également cette sortie JSON et l'écrit dans la table de données de liens tous les jours. Chaque fois qu'il charge les nouvelles données dans la table, il les écrit également dans un cache Redis afin de réduire les recherches dans la base de données et d'améliorer l'efficacité.
Par conséquent, toutes les liaisons entre les deux mêmes périphériques font nécessairement partie de l'offre groupée identifiée comme appartenant à la même offre groupée.Une fois que les indicateurs de performance clés de niveau tunnel brut sont disponibles, vous avez créé une application KPI_aggregate personnalisée sur Matrix qui effectue le travail de calcul des utilisations de niveau offre groupée et de stockage en tant qu'indicateur de performance clé.
Cette application prend les entrées suivantes :
Attribut de configuration |
Objectif |
Onglet Croisé |
Fréquence à laquelle la tâche périodique d'agrégation doit s'exécuter |
Case Activé |
Activer/Désactiver cette configuration |
Nom ICP interface tunnel |
Nom de l'indicateur de performance clé brut utilisé pour calculer l'indicateur de performance clé agrégé. Le nom d'indicateur de performance clé d'agrégation est automatiquement créé sous la forme <Raw_KPI_Name>_agg |
Plage de dates |
Fréquence des données brutes. |
La tâche d'agrégation prend les entrées de la base de données de liens et de données brutes KPI et identifie les tunnels qui font partie du même lot et les ajoute à un groupe basé sur cette logique.
KPI Name: <Raw_KPI_Name>_agg
Example: tunnel_utilization_agg
Value = sum (tunnel_interface_tx_link_utilization of all the interfaces on the device connected to same remote device)/ Number of tunnel interfaces in the group
Index: <local device> _<remote device>
Router-A _Router-B
Node: <Local-Device>
Router-A
Par exemple, dans ce cas, le nom de l'indicateur de performance clé est généré sous la forme « tunnel-utilisation_agg » pour l'indicateur de performance clé de tunnel brut tunnel tunnel-utilisation. Une fois que le calcul est terminé pour toutes les valeurs KPI brutes pour tous les routeurs et les combinaisons de tunnels, ces données sont envoyées pour chaque lien vers la rubrique Kafka, qui doit être la même rubrique qui ingère l'indicateur KPI traité. De cette façon, ces informations persistent comme tout autre ICP normal reçu de sources valides. Le consommateur de base de données utilise cette rubrique et conserve l'indicateur de performance clé dans la table des résultats d'indicateur de performance clé de la base de données matricielle pour les indicateurs de performance clés agrégés.
Le seuil d'indicateur de performance clé configuré dans Matrix est de 85 %, ce qui signifie que lorsque la valeur de cet indicateur de performance clé dépasse le seuil, une alerte critique est générée et lorsqu'elle passe sous le seuil, une alerte claire est générée. Ces alertes sont enregistrées dans la base de données Matrix et également transmises à Vitria dans cette solution pour l'exemple d'utilisation de l'automatisation en boucle fermée. Si la valeur calculée de l'IPC dépasse le seuil, une alerte est envoyée à Vitria (VIA-AIOPs) via Kafka avec l'état actuel comme Critique dans le message. De même, si la valeur retourne dans les valeurs de seuil à partir des valeurs critiques, elle doit envoyer une alerte aux VIA-AIOP via Kafka avec l'état actuel comme Clear dans le message. Un exemple de message a été envoyé au système et ses attributs sont les suivants.
{ "node" : "Router-A", "node_type" : "Routeur", "kpi" : "tunnel_use_agg", "kpi_description" : "Utilisation au niveau du bundle", "schéma" : "", "index" : "Routeur-A_Routeur-B", "heure" : "2023-08-09 05:45:00+00:00", "valeur" : "86.0", "état_précédent" : "EFFACER", "current_state" : "CRITIQUE", "link_name" : "Routeur-A_Routeur-B" } |
||
Attribut de message d'alerte Kafka |
Exemple de valeur |
Objectif |
noeud |
Routeur-A |
Nom du périphérique réseau |
type_noeud |
Routeur |
Type de périphérique |
ICP |
agg_utilisation_tunnel |
Nom KPI |
kpi_description |
Utilisation au niveau du bundle |
Description ICP |
Schéma |
S. O. |
S. O. |
index |
Routeur-A_Routeur-B |
<périphérique_local>-<périphérique_distant> |
Heure |
"2023-08-09 05:45:00+00:00" |
Heure |
valeur |
86.0 |
valeur ICP |
état_précédent |
DÉGAGER |
État d'alerte précédent |
état_actuel |
CRITICAL (CRITIQUE) |
État d'alerte actuel |
nom_lien |
Routeur-A_Routeur-B |
Attribut de corrélation |
l'attribut link_name est un nom alphabétique des périphériques présents dans la valeur d'index. Cela permet d'établir une corrélation au niveau des AIO VIA, où les AIO VIA doivent corréler les alertes provenant de la même liaison de bundle. Par exemple, lorsque plusieurs alertes arrivent sur des AIOP VIA avec le même link_name, cela signifie que les alertes appartiennent à la même liaison groupée dans le réseau désignée par des noms de périphériques dans le nom de la liaison.
VIA AIOps doit être configuré pour la réception d'événements d'anomalie d'indicateur de performance clé (KPI) à partir d'un sujet Kafka désigné. Ces événements, tels qu'ils sont reçus par les messages Kafka, sont traités par VIA AIOps par l'intermédiaire de l'analyseur d'événements JASO pour une réception ultérieure. Il est essentiel pour les AIO VIA d'identifier précisément les événements d'anomalie KPI liés aux tunnels GRE, de déterminer leur association avec des paires de périphériques spécifiques (par exemple, Routeur A - Routeur B), et de déterminer si l'anomalie nécessite le lancement de l'automatisation de l'évolutivité du tunnel GRE - soit une mise à niveau, soit une mise à niveau inférieure.
L'analyseur d'événements JASO dans VIA AIOps doit être configuré pour extraire et interpréter les dimensions pertinentes de l'événement d'anomalie KPI de la matrice, à savoir l'« hôte », l'« indicateur de performance clé », l'« index » et la « valeur ». Une dimension supplémentaire, appelée « automation_action », doit être configurée pour être mise à jour dynamiquement par l'analyseur d'événements JASO, en fonction de la métrique « value » présente dans l'événement d'anomalie ICP de la matrice. Cette dimension est essentielle pour déterminer si une réponse automatisée doit être mise en oeuvre, en particulier si des procédures « GRE Tunnel Scale Up » ou « GRE Tunnel Scale Down » doivent être déclenchées en traitant le champ « Valeur ICP ». Dans VIA AIOps, un signal représente une consolidation des états des événements. Pour améliorer ce processus de corrélation, nous devons configurer des signaux distincts avec état qui correspondent aux dimensions « host », « link name », « kpi » et « automation_action ». Le tableau illustre les signaux, les groupes de corrélation et leurs configurations de corrélation respectives.
Par exemple, le signal identifié comme GRE_KPIA_SCALEUP serait émis après l'ingestion d'un message d'anomalie ICP spécifié, tel que détaillé dans la section 3, par le système AIOps de VIA.
Nom du signal VIA AIOps |
Touches de corrélation des signaux |
Nom de règle de groupe de corrélation |
GRE_KPIA_SCALEUP |
Hôte,IPC, Nom du lien, Automated_action |
Extension du tunnel GRE |
GRE_KPIB_SCALEUP |
Hôte,IPC, Nom du lien, Automated_action |
|
GRE_KPIA_SCALEDOWN |
Hôte,IPC, Nom du lien, Automated_action |
Diminution de l'évolutivité du tunnel GRE |
GRE_KPIB_SCALEDOWN |
Hôte,IPC, Nom du lien, Automated_action |
La règle de groupe de corrélation est conçue pour faciliter l'agrégation de signaux concernant le dispositif A, le dispositif B et leurs tunnels respectifs A, B et C en un incident unifié. Cette règle de corrélation garantit que, pour tout couplage spécifique du périphérique A et du périphérique B, un maximum de deux incidents distincts sont générés : un incident pour une mise à l'échelle du tunnel GRE impliquant le périphérique A et le périphérique B, et un autre incident pour une mise à l'échelle du tunnel GRE pour le même couplage de périphériques. L'infrastructure d'agent VIA AIOps peut interagir avec Business Process Automation (BPA) et Network Services Orchestrator (NSO).
Voici un exemple de notification d'API d'extension de tunnel GRE envoyée à BPA/NSO depuis VIA AIOps.
{
"create": [
{
"gre-tunnels-device-cla": [
{
"index": "RouterA-RouterB",
"tunnelOperation": "SCALE UP",
"MatrixData": [
{ "node": "RouterA", "kpi": "tunnel_utilization_agg" },
{ "node": "RouterB", "kpi": "tunnel_utilization_agg" }
]
}
]
}
]
}
À la réception d'un appel d'API de VIA AIOps, Cisco Business Process Automation (BPA) lance les directives d'évolutivité requises, par le biais de requêtes internes adressées à Cisco Network Service Orchestrator (NSO). Le BPA évalue la charge utile des données fournies par VIA AIOps, qui inclut les détails de fonctionnement du tunnel, un index et des données matricielles. Les informations d'opération d'index et de tunnel sont utilisées pour établir une interface avec le NSO, fournissant des paramètres pour l'opération d'échelle. Simultanément, les données de la matrice sont traitées par le « module de mise à jour de la matrice », qui est chargé de résoudre les événements d'anomalie d'indicateur de performance clé en établissant une interface avec les API de la matrice.
Avant d'entreprendre des opérations de mise à l'échelle, un modèle d'action YANG doit être élaboré pour l'ONS. Ce modèle définit les actions spécifiques que le NSO doit effectuer pour augmenter ou diminuer le nombre de tunnels entre les routeurs A et B. Le système Business Process Automation (BPA) commence à faire évoluer les opérations en s'engageant avec l'orchestrateur de services réseau (NSO) pour effectuer un « essai à blanc ». Il s’agit de la phase initiale de l’opération au cours de laquelle le BPA demande à l’ONS de simuler les modifications de configuration prévues sans les appliquer. L'essai à sec fonctionne comme une étape de validation essentielle, garantissant que les actions d'échelle proposées, telles que définies par le modèle d'action YANG, peuvent être exécutées sans provoquer d'erreurs ou de conflits dans la configuration du réseau.
Si le test à sec est considéré comme réussi, ce qui indique que les actions de mise à l'échelle sont validées, le BPA passe alors à l'étape « commit ». À ce stade, le BPA demande au NSO d'implémenter les modifications de configuration réelles nécessaires pour augmenter ou diminuer le nombre de tunnels GRE entre les routeurs A et B. Le BPA déclenche le « Matrix Update Module » vers Matrix à l'aide d'un appel API pour fermer l'événement KPI en tandem avec VIA AIOps. Une fois cette anomalie fermée sur Matrix, Matrix envoie également une alerte avec la gravité « Effacé » à VIA AIOps, qui ferme l'incident à sa fin. De cette manière, le cycle de correction au niveau du réseau est terminé. Une version généralisée du flux de données au sein de l'application, utilisée dans cette automatisation en boucle fermée, est représentée dans cette image.
La solution abordée dans ce document est délibérément abordée avec un exemple de mise à l'échelle du bundle GRE basée sur les anomalies du réseau pour nous aider à établir des liens avec les différents blocs de construction de cette solution. Nous étudions en résumé comment Cisco Technology Stack, qui inclut Cisco NSO, Cisco Matrix et Cisco BPA, peut s'intégrer en toute transparence à des composants tels que VIA AIOps, Kafka et une autre pile logicielle pour nous aider à surveiller et à résoudre automatiquement les problèmes de réseau. Cette solution ouvre des possibilités pour tous les autres cas d'utilisation du réseau qui peuvent être des problèmes typiques se produisant dans les réseaux de fournisseurs de services ou d'entreprises.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
18-Aug-2024 |
Première publication |