Comprendre le format d’exportation de l’interface de télémétrie Junos des données collectées
La Interface de télémétrie Junos deux manières d’exporter des données dans le format tampon de protocole (gbit/s):
Grâce à l’UDP à partir de capteurs dits natifs qui exportent des données au plus près de la source, telles que la carte de ligne ou l’unité de traitement réseau (NPU). Juniper Networks un modèle de données ouvert et extensible.
Via des appels de procédure à distance gRPC (gRPC) qui exportent des données via le moteur de routage. Le modèle de données est défini par OpenConfig, qui prend en charge l’utilisation de modèles de données neutres pour configurer et gérer le réseau. OpenConfig for Junos OS prend en charge les modèles de données YANG. Pour les plates-formes exécutant une version de Junos OS basée sur un noyau FreeBSD mis à niveau uniquement, vous devez installer un package distinct appelé Agent réseau qui fonctionne comme un serveur gRPC et termine les interfaces RPC. . Pour toutes les autres versions de Junos OS, la fonctionnalité Network Agent est intégrée au logiciel. Vous devez également installer OpenConfig pour les Junos OS et les modèles YANG.
Cette section décrit le format des données exportées à partir de capteurs natifs à l’aide de l’UDP. Les données sont encapsulées dans un en-tête UDP, qui à son tour est encapsulé dans la charge utile IPv4. Ce modèle de Interface de télémétrie Junos repose sur une architecture distribuée, à partir de laquelle les données générées par les capteurs configurés sont exportées directement depuis le plan de données, en contournant le plan de contrôle, et en conservant ainsi ces ressources pour exécuter d’autres fonctions nécessaires.
La Interface de télémétrie Junos a été introduite dans Junos OS Release 15.1F3, sur les routeurs MX Series avec des interfaces configurées sur MPC1 à MPC6E, et sur des routeurs PTX Series avec des interfaces configurées sur FPC3. À partir Junos OS version 15.1F5, Interface de télémétrie Junos est également pris en charge sur MPC7E, MPC8E et MPC9E sur MX Series routeurs.
Les routeurs Junos OS de 16.1R3, les modèles FPC1, FPC2 et les deux moteurs de routage PTX Series sont également pris en charge.
Les commutateurs Junos OS version 17.2R1, les QFX10000 et QFX5200 version standard sont également pris en charge. Sur QFX5200, seule la diffusion gRPC est prise en charge.
Depuis la version 17.3R1 de Junos OS, la Interface de télémétrie Junos est prise en charge sur le contrôle et la carte de routage (RCB) sur les routeurs, commutateurs QFX5110 et commutateurs EX4600 et EX9200 PTX3000.
À partir de Junos OS version 17.4R1, les routeurs MX2008 sont pris en charge.
Présentation du format d’encapsulation des données du capteur
Un capteur natif exporte des données au plus près de la source à l’aide de l’UDP. Il est possible d’exporter divers types de données de télémétrie, telles que les statistiques d’interfaces physiques, les statistiques des compteurs de filtres de pare-feu ou les statistiques relatives aux chemins de commutation d’étiquettes (LSP). Un capteur commence à émettre des données dès qu’elles sont activées.
Les données du capteur sont représentées sous la forme d’un message unique de tampon de protocole structuré, nommé TelemetryStream
. Le message, ou le fichier, indiqué ci-dessous, inclut plusieurs attributs permettant d’identifier la source de données, tels qu’une carte d’ligne, un moteur de transfert de paquets ou .proto
une moteur de routage. Le nom du capteur configuré est également inclus. Pour plus d’informations sur la configuration des capteurs, consultez le capteur d’interfaces de télémétrie Junos (CLI Procedure) Pour une liste de capteurs natifs pris en charge, consultez le capteur.
Vous devez également télécharger les fichiers de tous les capteurs pris en charge par un serveur ou .proto
un collecteur de flux. À partir d’un navigateur Web, accédez à l’URL de téléchargement du logiciel Toutes les plates-formes Junos sur Juniper Networks page: https://www.juniper.net/support/downloads/. Après avoir sélectionné le nom de la Junos OS et le numéro de publication, allez à la section Outils et téléchargez le package Interface de télémétrie Junos Data Model Files. Pour plus d’informations sur la configuration d’un serveur de streaming, consultez l’interface de télémétrie Junos.
Définition du message des tampons de protocole
Voici la définition du message dans le langage de TelemetryStream
définition Des tampons de protocole. Il affiche plusieurs structures imbrmbrées en option, telles que , qui portent les données du EnterpriseSensors
capteur défini par privé.
// // This file defines the top level message used for all Juniper // Telemetry packets encoded to the protocol buffer format. // The top level message is TelemetryStream. // import "google/protobuf/descriptor.proto"; extend google.protobuf.FieldOptions { optional TelemetryFieldOptions telemetry_options = 1024; } message TelemetryFieldOptions { optional bool is_key = 1; optional bool is_timestamp = 2; optional bool is_counter = 3; optional bool is_gauge = 4; } message TelemetryStream { // router name or export IP address required string system_id = 1 [(telemetry_options).is_key = true]; // line card / RE (slot number) optional uint32 component_id = 2 [(telemetry_options).is_key = true]; // PFE (if applicable) optional uint32 sub_component_id = 3 [(telemetry_options).is_key = true]; // configured sensor name optional string sensor_name = 4 [(telemetry_options).is_key = true]; // sequence number, monotonically increasesing for each // system_id, component_id, sub_component_id + sensor_name. optional uint32 sequence_number = 5; // timestamp (milliseconds since 00:00:00 UTC 1/1/1970) optional uint64 timestamp = 6 [(telemetry_options).is_timestamp = true]; // major version optional uint32 version_major = 7; // minor version optional uint32 version_minor = 8; optional IETFSensors ietf = 100; optional EnterpriseSensors enterprise = 101; } message IETFSensors { extensions 1 to max; } message EnterpriseSensors { extensions 1 to max; } extend EnterpriseSensors { // re-use IANA assigned numbers optional JuniperNetworksSensors juniperNetworks = 2636; } message JuniperNetworksSensors { extensions 1 to max; }
Le TelemetryStream
message comprend également des structures imbrmbrées en option qui transportent différents types de données. Une seule structure transporte des données d’entreprise, c’est-à-dire des données définies par privé. Des entreprises individuelles, telles que Juniper Networks, définissent et conservent les attributs générés par les capteurs d’entreprise. Un identifiant d’attribut unique est attribué à chaque société. La convention actuelle consiste à utiliser les identifiants de IANA’entreprise assignés MIB de chaque attribut. Pour Juniper Networks, l’identifiant attribué est 2636.
Pour vérifier qu’un type de message particulier a été exporté et reçu, recherchez les attributs sous TelemetryStream.enterprise.juniperNetworks
le message gpb.
Consultez le tableau 1 pour obtenir des descriptions de chaque élément collecté par les données du capteur, y compris la sémantique et le schéma correspondant.
Type d’élément |
Description |
---|---|
Counter |
Un registre non signé qui augmente de façon monotonique. Lorsqu’il atteint sa valeur maximale, il démarre à zéro. |
Jauge |
Un registre non signé 32 bits ou 64 bits qui peut augmenter ou réduire sa valeur. L’exemple de données représentées par cet élément est la valeur instantanée d’une ressource spécifique, telle que la profondeur de la file d’attente ou la température. |
Taux |
Vitesse à laquelle une mesure de base change, telle qu’un compteur ou un calibre. Pour ce type d’élément, les unités de mesure sont définies explicitement (bits par seconde, par exemple), ainsi que l’intervalle sur lequel le taux est collecté. |
Moyenne |
La moyenne de plusieurs exemples d’une mesure de base. Par exemple, un élément de données de profondeur de file d’attente moyen est calculé en inséant plusieurs éléments de la profondeur de la file d’attente. Pour ce type d’élément, il est vivement recommandé de définir le nombre de mesures utilisées pour calculer la moyenne, ainsi que l’intervalle d’heure entre ces mesures. Dans le cas contraire, vous devriez définir clairement les moyens par lesquels cette valeur moyenne est calculée. |
Pic |
Valeur maximale pour plusieurs exemples d’une mesure de base. Par exemple, un élément de profondeur de la file d’attente maximale est calculé en comparant plusieurs mesures de la profondeur de la file d’attente et en sélectionnant le maximum. Pour ce type d’élément de données, il est vivement recommandé de définir le nombre de mesures utilisées pour calcul de la valeur maximale, ainsi que l’intervalle d’heure entre les mesures. Dans le cas contraire, définissez clairement la manière dont cette valeur maximale est définie. Vous devez également savoir si cette valeur n’a jamais été autorisée et représente donc la valeur maximale globale sur le long terme. |
Chaque type d’élément de données comprend également des sous-ensembles d’éléments. Par exemple, les éléments de données et les sous-ensembles des mesures et Counter
des Gauge
rate
average
peak
sous-ensembles.