Partager via


Déployer manuellement des ressources d’observabilité

Important

Opérations Azure IoT Préversion avec Azure Arc est actuellement en préversion. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.

Lorsqu’une version en disponibilité générale sera publiée, vous devrez déployer une nouvelle installation d’Opérations Azure IoT. Vous ne pourrez pas mettre à niveau une installation en préversion.

Pour connaître les conditions juridiques qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou plus généralement non encore en disponibilité générale, consultez l’Avenant aux conditions d’utilisation des préversions de Microsoft Azure.

Cet article explique comment installer et configurer manuellement les composants d’observabilité des Opérations Azure IoT. Cette approche offre davantage d’options et de contrôle sur votre environnement. Pour un processus de configuration simplifié qui installe tous les composants dont vous avez besoin pour commencer, consultez Déployer des ressources d’observabilité à l’aide d’un script.

Configurer votre abonnement

Exécutez le code suivant pour inscrire les fournisseurs dans l’abonnement où se trouve votre cluster.

Remarque

Cette étape doit être exécutée une seule fois par abonnement. Pour inscrire des fournisseurs de ressources, vous devez disposer de l’autorisation d’effectuer l’opération /register/action qui est incluse dans les rôles Contributeur et Propriétaire de l’abonnement. Pour plus d’informations, consultez Fournisseurs et types de ressources Azure.

az account set -s <subscription-id>
az provider register -n "Microsoft.Insights"
az provider register -n "Microsoft.AlertsManagement"

Installation du service géré Azure Monitor pour Prometheus

Le service managé Azure Monitor pour Prometheus est un composant des métriques Azure Monitor. Ce service géré offre une flexibilité dans les types de données de métriques que vous pouvez collecter et analyser avec Azure Monitor. Les métriques Prometheus partagent certaines fonctionnalités avec des métriques de plateforme et personnalisées. Les métriques Prometheus utilisent également différentes fonctionnalités pour mieux prendre en charge les outils open source tels que PromQL et Grafana.

Le service Azure Monitor géré pour Prometheus vous permet de collecter et d’analyser des métriques à grande échelle en utilisant une solution de monitoring compatible avec Prometheus. Ce service entièrement géré est basé sur le projet Prometheus de Cloud Native Computing Foundation (CNCF). Ce service vous permet d’utiliser le langage de requête Prometheus (PromQL) pour analyser les performances d’une infrastructure et de charges de travail surveillées, ainsi qu’alerter à leur sujet, sans avoir à exploiter l’infrastructure sous-jacente.

Pour configurer la collection de métriques Prometheus pour le nouveau cluster avec Arc, suivez les étapes décrites dans Configurer la collection de métriques Prometheus.

Installer Container Insights

Container Insights surveille les performances des charges de travail de conteneur déployées dans le cloud. Cela vous permet de visualiser les performances en collectant des métriques sur la mémoire et le processeur à partir des contrôleurs, des nœuds et des conteneurs qui sont disponibles dans Kubernetes via l’API Metrics. Une fois que vous avez activé la supervision des clusters Kubernetes, les métriques et les journaux de conteneur sont automatiquement collectés à l’aide d’une version conteneurisée de l’agent Log Analytics pour Linux. Les métriques sont envoyées à la base de données de métriques dans Azure Monitor. Les données du journal sont envoyées à votre espace de travail Log Analytics.

Pour surveiller les performances de la charge de travail de conteneur, effectuez les étapes permettant d’activer les insights de conteneurs.

Installer Grafana

Azure Managed Grafana est une plateforme de visualisation des données basée sur le logiciel Grafana par Grafana Labs. Azure Managed Grafana est un service Azure entièrement géré et pris en charge par Microsoft. Grafana vous aide à rassembler des métriques, des journaux et des traces dans une seule interface utilisateur. Grâce à sa prise en charge étendue des sources de données et des fonctionnalités de graphique, vous pouvez afficher et analyser vos données de télémétrie d’application et d’infrastructure en temps réel.

Opérations Azure IoT fournit une collection de tableaux de bord conçus pour vous donner de nombreuses visualisations dont vous avez besoin pour comprendre l’intégrité et les performances de votre déploiement Azure IoT Operations.

Pour installer Azure Managed Grafana, procédez comme suit :

  1. Utilisez le Portail Azure pour créer une instance Azure Managed Grafana.

  2. Configurez un service géré Azure Monitor pour Prometheus en tant que source de données pour Azure Managed Grafana.

  3. Configurez les tableaux de bord en suivant les étapes décrites dans Déployer des tableaux de bord sur Grafana.

Installer le collecteur OpenTelemetry (OTel)

Le collecteur OpenTelemetry est un composant clé du projet OpenTelemetry, qui est une infrastructure d’observabilité open source destiné à fournir un suivi unifié, des mesures et une journalisation pour les systèmes distribués. Le collecteur est conçu pour recevoir, traiter et exporter des données de télémétrie à partir de plusieurs sources, telles que les applications et l’infrastructure, et l’envoyer à un back-end de supervision. Ce collecteur OTel collecte des mesures à partir d’Opérations Azure IoT et les rend disponibles avec d’autres outils d’observabilité tels que le service géré pour Prometheus Azure Monitor, Container Insights et Grafana.

Pour installer le collecteur OTel, procédez comme suit :

  1. Clonez ou téléchargez le référentiel Opérations Azure IoT sur votre ordinateur local : azure-iot-operations.git.

    Remarque

    Le dépôt contient la définition de déploiement d’Opérations Azure IoT ainsi que des exemples qui incluent les exemples de tableaux de bord utilisés dans cet article.

  2. Parcourez le chemin suivant dans votre copie locale du référentiel :

    azure-iot-operations\tools\setup-3p-obs-infra

  3. Créez un fichier appelé otel-collector-values.yaml et collez le code suivant pour définir un collecteur OpenTelemetry :

    mode: deployment
    fullnameOverride: aio-otel-collector
    image:
      repository: otel/opentelemetry-collector
      tag: 0.107.0
    config:
      processors:
        memory_limiter:
          limit_percentage: 80
          spike_limit_percentage: 10
          check_interval: '60s'
      receivers:
        jaeger: null
        prometheus: null
        zipkin: null
        otlp:
          protocols:
            grpc:
              endpoint: ':4317'
            http:
              endpoint: ':4318'
      exporters:
        prometheus:
          endpoint: ':8889'
          resource_to_telemetry_conversion:
            enabled: true
      service:
        extensions:
          - health_check
        pipelines:
          metrics:
            receivers:
              - otlp
            exporters:
              - prometheus
          logs: null
          traces: null
        telemetry: null
      extensions:
        memory_ballast:
          size_mib: 0
    resources:
      limits:
        cpu: '100m'
        memory: '512Mi'
    ports:
      metrics:
        enabled: true
        containerPort: 8889
        servicePort: 8889
        protocol: 'TCP'
      jaeger-compact:
        enabled: false
      jaeger-grpc:
        enabled: false
      jaeger-thrift:
        enabled: false
      zipkin:
        enabled: false
    
  4. Dans le fichier otel-collector-values.yaml, notez les valeurs suivantes que vous utilisez dans la commande az iot ops init lorsque vous déployez Opérations Azure IoT sur le cluster :

    • fullnameOverride
    • grpc.endpoint
    • check_interval
  5. Enregistrez et fermez le fichier.

  6. Déployez le collecteur en exécutant les commandes suivantes :

    kubectl get namespace azure-iot-operations || kubectl create namespace azure-iot-operations
    helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts
    
    helm repo update
    helm upgrade --install aio-observability open-telemetry/opentelemetry-collector -f otel-collector-values.yaml --namespace azure-iot-operations