Partage via


Configuration du pipeline de périphérie Azure Monitor

Le pipeline Azure Monitor est un pipeline d’ingestion de données qui fournit une collecte de données constante et centralisée pour Azure Monitor. Le pipeline de périphérie active la collecte à grande échelle et le routage des données de télémétrie avant qu’elles ne soient envoyées vers le cloud. Il peut mettre en cache les données localement et se synchroniser avec le cloud lorsque la connectivité est restaurée, et acheminer les données de télémétrie vers Azure Monitor dans les cas où le réseau est segmenté et que les données ne peuvent pas être envoyées directement au cloud. Cet article explique comment activer et configurer le pipeline de périphérie dans votre environnement.

Vue d’ensemble

Le pipeline de périphérie Azure Monitor est une solution conteneurisée déployée sur un cluster Kubernetes avec Arc et tire profit d’OpenTelemetry Collector comme base. Le diagramme ci-après montre les composants du pipeline de périphérie. Un ou plusieurs flux de données écoutent les données entrantes des clients, et l’extension de pipeline transfère les données vers le cloud, en utilisant le cache local si nécessaire.

Le fichier de configuration du pipeline définit les flux de données et les propriétés du cache pour le pipeline de périphérie. La DCR définit le schéma des données envoyées au pipeline cloud, une transformation pour filtrer ou modifier les données et la destination où les données doivent être envoyées. Chaque définition de flux de données pour la configuration du pipeline spécifie la DCR et le flux au sein de cette DCR qui traitera ces données dans le pipeline cloud.

Diagramme de présentation du flux de données pour le pipeline de périphérie Azure Monitor.

Remarque

La liaison privée est prise en charge par le pipeline de périphérie pour la connexion au pipeline cloud.

Les composants et configurations suivants sont nécessaires pour activer le pipeline de périphérie Azure Monitor. Si vous utilisez le Portail Azure pour configurer le pipeline de périphérie, alors chacun de ces composants est créé pour vous. Avec d’autres méthodes, vous devez tous les configurer.

Composant Description
Extension du contrôleur de pipeline de périphérie Extension ajoutée à votre cluster Kubernetes avec Arc pour prendre en charge les fonctionnalités de pipeline - microsoft.monitor.pipelinecontroller.
Instance du contrôleur de pipeline de périphérie Instance du pipeline de périphérie s’exécutant sur votre cluster Kubernetes avec Arc.
Flux de données Combinaison des récepteurs et des exportateurs qui s’exécutent sur l’instance de contrôleur de pipeline. Les récepteurs acceptent les données des clients et les exportateurs fournissent ces données à Azure Monitor.
Configuration du pipeline Fichier de configuration qui définit les flux de données pour l’instance de pipeline. Chaque flux de données inclut un récepteur et un exportateur. Le récepteur écoute les données entrantes et l’exportateur envoie les données vers la destination.
Point de terminaison de collecte de données (DCE) Point de terminaison où les données sont envoyées au pipeline Azure Monitor. La configuration du pipeline inclut une propriété pour l’URL du DCE afin que l’instance de pipeline sache où envoyer les données.
Configuration Description
Règle de collecte de données (DCR) Fichier de configuration qui définit la façon dont les données sont reçues dans le pipeline cloud et où elles sont envoyées. La DCR peut également inclure une transformation pour filtrer ou modifier les données avant qu’elles ne soient envoyées à la destination.
Configuration du pipeline Configuration qui définit les flux de données pour l’instance de pipeline, incluant les flux de données et le cache.

Configurations prises en charge

Distributions prises en charge
Le pipeline de périphérie est pris en charge sur les distributions Kubernetes suivantes :

  • Canonical
  • Cluster API Provider for Azure
  • K3
  • Rancher Kubernetes Engine
  • VMware Tanzu Kubernetes Grid

Emplacements pris en charge
Le pipeline de périphérie est pris en charge dans les régions Azure suivantes :

  • USA Est 2
  • USA Ouest 2
  • Europe Ouest

Prérequis

Workflow

Vous n’avez pas besoin d’une compréhension détaillée des différentes étapes effectuées par le pipeline Azure Monitor pour le configurer en utilisant le Portail Azure. Vous aurez peut-être besoin d’une compréhension plus détaillée de celles-ci si vous utilisez une autre méthode d’installation, ou si vous devez effectuer une configuration plus avancée comme la transformation des données avant stockage dans leur destination.

Les tableaux et diagrammes suivants décrivent les étapes détaillées et les composants du processus de collecte des données à l’aide du pipeline de périphérie, et leur passage au pipeline cloud pour stockage dans Azure Monitor. La configuration requise pour chacun de ces composants est également incluse dans les tableaux.

Étape Action Configuration de prise en charge
1. Le client envoie des données au récepteur du pipeline de périphérie. Le client est configuré avec l’adresse IP et le port du récepteur du pipeline de périphérie et envoie les données au format attendu pour le type de récepteur.
2. Le récepteur transfère les données à l’exportateur. Le récepteur et l’exportateur sont configurés dans le même pipeline.
3. L’exportateur tente d’envoyer les données au pipeline cloud. L’exportateur dans la configuration du pipeline inclut l’URL du DCE, un identificateur unique pour la DCR et le flux dans la DCR qui définit comment les données seront traitées.
3a. L’exportateur stocke les données dans le cache local s’il ne peut pas se connecter au DCE. Le volume persistant pour le cache et la configuration du cache local sont activés dans la configuration du pipeline.

Diagramme détaillé des étapes et composants de la collecte de données en utilisant le pipeline de périphérie Azure Monitor.

Étape Action Configuration de prise en charge
4. Le pipeline cloud accepte les données entrantes. La DCR inclut une définition de schéma pour le flux entrant qui doit correspondre au schéma des données provenant du pipeline de périphérie.
5. Le pipeline cloud applique une transformation aux données. La DCR inclut une transformation qui filtre ou modifie les données avant qu’elles ne soient envoyées à la destination. La transformation peut filtrer les données, supprimer ou ajouter des colonnes ou modifier complètement leur schéma. La sortie de la transformation doit correspondre au schéma de la table de destination.
6. Le pipeline cloud envoie les données à la destination. La DCR inclut une destination qui spécifie l’espace de travail Log Analytics et la table où les données seront stockées.

Diagramme détaillé des étapes et composants de la collecte de données en utilisant le pipeline cloud Azure Monitor.

Réseau segmenté

La segmentation de réseau est un modèle dans lequel vous utilisez des périmètres définis par logiciel pour créer une posture de sécurité différente pour les différentes parties de votre réseau. Dans ce modèle, il peut exister un segment réseau qui ne peut pas se connecter à Internet ou à d’autres segments réseau. Le pipeline de périphérie peut être utilisé pour collecter des données depuis ces segments réseau et les envoyer au pipeline cloud.

Diagramme d’un réseau en couches pour le pipeline de périphérie Azure Monitor.

Pour utiliser le pipeline Azure Monitor dans une configuration de réseau en couches, vous devez ajouter les entrées suivantes à la liste d’autorisation du cluster Kubernetes avec Arc. Consultez Configurer la gestion de réseau en couches Azure IoT (préversion) sur un cluster de niveau 4.

- destinationUrl: "*.ingest.monitor.azure.com"
  destinationType: external
- destinationUrl: "login.windows.net"
  destinationType: external

Créer une table dans un espace de travail Log Analytics

Avant de configurer le processus de collecte de données pour le pipeline de périphérie, vous devez créer une table dans l’espace de travail Log Analytics pour recevoir les données. Il doit s’agir d’une table personnalisée, car les tables intégrées ne sont actuellement pas prises en charge. Le schéma de la table doit correspondre aux données qu’elle reçoit, mais il existe plusieurs étapes dans le processus de collecte où vous pouvez modifier les données entrantes. Par conséquent, le schéma de la table n’a pas besoin de correspondre aux données sources que vous collectez. La seule condition requise pour la table dans l’espace de travail Log Analytics est qu’elle ait une colonne TimeGenerated.

Pour plus d’informations sur les différentes méthodes de création d’une table, consultez Ajouter ou supprimer des tables et des colonnes dans les journaux Azure Monitor. Par exemple, utilisez la commande CLI ci-dessous pour créer une table avec les trois colonnes appelées Body, TimeGenerated et SeverityText.

az monitor log-analytics workspace table create --workspace-name my-workspace --resource-group my-resource-group  --name my-table_CL --columns TimeGenerated=datetime Body=string SeverityText=string

Activer le cache

Les appareils de périphérie dans certains environnements peuvent rencontrer une connectivité intermittente en raison de divers facteurs comme une congestion du réseau, des interférences du signal, une panne de courant ou la mobilité. Dans ces environnements, vous pouvez configurer le pipeline de périphérie pour mettre en cache les données en créant un volume persistant dans votre cluster. Le processus pour le faire varie en fonction de votre environnement spécifique, mais la configuration doit répondre aux exigences suivantes :

  • L’espace de noms de métadonnées doit être identique à l’instance spécifiée du pipeline Azure Monitor.
  • Le mode d’accès doit prendre en charge ReadWriteMany.

Une fois le volume créé dans l’espace de noms approprié, configurez-le en utilisant les paramètres du fichier de configuration du pipeline ci-dessous.

Attention

Chaque réplica du pipeline de périphérie stocke les données dans un emplacement du volume persistant spécifique à ce réplica. La diminution du nombre de réplicas pendant que le cluster est déconnecté du cloud empêche que les données ne soient renvoyées lors de la restauration de la connectivité.

Activer et configurer un pipeline

Les options actuelles pour l’activation et la configuration sont détaillées dans les onglets ci-dessous.

Configurer le pipeline en utilisant le Portail Azure

Lorsque vous utilisez le Portail Azure pour activer et configurer le pipeline, tous les composants requis sont créés en fonction de vos sélections. Cela vous permet de réduire la complexité de créer chaque composant individuellement, mais vous pourriez avoir besoin d’utiliser d’autres méthodes.

Effectuez l’une des opérations suivantes dans le Portail Azure pour lancer le processus d’installation du pipeline Azure Monitor :

  • Dans le menu Pipelines Azure Monitor (préversion), cliquez sur Créer.
  • Dans le menu de votre cluster Kubernetes avec Arc, sélectionnez Extensions, puis ajoutez l’Extension de pipeline Azure Monitor (préversion).

L’onglet Essentiel vous invite à entrer les informations suivantes pour déployer l’extension et l’instance de pipeline sur votre cluster.

Capture d’écran de l’écran Créer un pipeline Azure Monitor.

Les paramètres de cet onglet sont décrits dans le tableau suivant.

Propriété Description
Nom de l’instance Nom de l’instance de pipeline Azure Monitor. Doit être unique pour l’abonnement.
Abonnement Abonnement Azure dans lequel créer l’instance de pipeline.
Resource group Groupe de ressources pour créer l’instance de pipeline.
Nom du cluster Sélectionnez votre cluster Kubernetes avec Arc sur lequel le pipeline sera installé.
Emplacement personnalisé Emplacement personnalisé de votre cluster Kubernetes avec Arc. Ceci sera rempli automatiquement avec le nom d’un emplacement personnalisé qui sera créé pour votre cluster, ou vous pouvez sélectionner un autre emplacement personnalisé dans le cluster.

L’onglet Flux de données vous permet de créer et de modifier des flux de données pour l’instance de pipeline. Chaque flux de données inclut les informations suivantes :

Capture d’écran de Créer un flux de données.

Les paramètres de cet onglet sont décrits dans le tableau suivant.

Propriété Description
Nom Nom du flux de données. Doit être unique pour ce pipeline.
Type de source Type de données collectées. Les types de ressource suivants sont pris en charge :
- Syslog
- OTLP
Port Port sur lequel le pipeline écoute les données entrantes. Si deux flux de données utilisent le même port, ils reçoivent et traitent tous deux les données.
Espace de travail Log Analytics Espace de travail Log Analytics vers lequel envoyer les données.
Nom de table Nom de la table dans l’espace de travail Log Analytics vers laquelle envoyer les données.

Vérifier la configuration

Vérifier les composants du pipeline en cours d’exécution dans le cluster

Dans le Portail Azure, accédez au menu Services Kubernetes et sélectionnez votre cluster Kubernetes avec Arc. Sélectionnez Services et entrées et vérifiez que vous voyez les services suivants :

  • <nom du pipeline>-external-service
  • <nom du pipeline>-service

Capture d’écran des composants du cluster prenant en charge le pipeline de périphérie Azure Monitor.

Cliquez sur l’entrée pour <nom du pipeline>-external-service et notez l’adresse IP et le port dans la colonne Points de terminaison. Il s’agit de l’adresse IP externe et du port auxquels vos clients enverront des données.

Vérifier la pulsation

Chaque pipeline configuré dans votre instance de pipeline enverra un enregistrement de pulsation à la table Heartbeat dans votre espace de travail Log Analytics toutes les minutes. Le contenu de la colonne OSMajorVersion doit correspondre au nom de votre instance de pipeline. S’il existe plusieurs espaces de travail dans l’instance de pipeline, alors le premier configuré sera utilisé.

Récupérez les enregistrements de pulsation à l’aide d’une requête de journal comme dans l’exemple suivant :

Capture d’écran de la requête de journal qui retourne des enregistrements de pulsation pour le pipeline de périphérie Azure Monitor.

Configuration de client

Une fois l’extension et l’instance de pipeline de périphérie installées, vous devez configurer vos clients pour qu’ils envoient des données au pipeline.

Récupérer le point de terminaison d’entrée

Chaque client a besoin de l’adresse IP externe du pipeline. Utilisez la commande suivante pour récupérer cette adresse :

kubectl get services -n <namespace where azure monitor pipeline was installed>

Si l’application produisant des journaux est externe au cluster, copiez la valeur external-ip du service nginx-controller-service avec le type d’équilibreur de charge. Si l’application se trouve sur un pod au sein du cluster, copiez la valeur cluster-ip. Si le champ external-ip est défini sur en attente, vous devrez configurer une adresse IP externe pour cette entrée manuellement, en fonction de la configuration de votre cluster.

Client Description
syslog Mettre à jour les clients Syslog pour qu’ils envoient des données au point de terminaison du pipeline et au port de votre flux de données Syslog.
OTLP Le pipeline de périphérie Azure Monitor expose un point de terminaison OTLP basé sur gRPC sur le port 4317. La configuration de votre instrumentation pour envoyer vers ce point de terminaison OTLP dépendra de la bibliothèque d’instrumentation elle-même. Consultez Point de terminaison OTLP ou Collecteur pour la documentation OpenTelemetry. La méthode de variable d’environnement est documentée à l’adresse Configuration de l’exportateur OTLP.

Vérifier les données

La dernière étape consiste à vérifier que les données sont reçues dans l’espace de travail Log Analytics. Vous pouvez effectuer cette vérification en exécutant une requête dans l’espace de travail Log Analytics pour récupérer des données de la table.

Capture d’écran de la requête de journal qui retourne la collection Syslog.

Étapes suivantes