Partage via


Bien démarrer : configurer l’observabilité dans Opérations Azure IoT (préversion)

Important

Opérations Azure IoT (préversion) – activé parc Azure Arc est actuellement en PRÉVERSION. Vous ne devez pas utiliser ce logiciel en préversion dans des environnements de production.

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.

L’observabilité offre une visibilité sur chaque couche de votre configuration Opérations Azure IoT. Elle vous donne un aperçu du comportement réel des problèmes, ce qui augmente l’efficacité de l’ingénierie de fiabilité du site. Opérations Azure IoT offre une observabilité via des tableaux de bord Grafana organisés personnalisés hébergés dans Azure. Ces tableaux de bord sont alimentés par le service géré Azure Monitor pour Prometheus et par Container Insights. Cet article explique comment configurer les services dont vous avez besoin pour l’observabilité.

Prérequis

Configurer votre abonnement

Exécutez le code suivant pour inscrire des fournisseurs auprès de l’abonnement où se trouve votre cluster :

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

Installer des composants d’observabilité

Les étapes décrites dans cette section installent les ressources de supervision partagée et configurent votre cluster avec Arc pour qu’il émette des signaux d’observabilité vers ces ressources. Les ressources de supervision partagée incluent Azure Managed Grafana, Azure Monitor Workspace, Azure Managed Prometheus, Azure Log Analytics et Container Insights.

  1. Dans votre console, accédez à un dossier local dans lequel vous souhaitez cloner le dépôt Opérations Azure IoT :

    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. Clonez le dépôt sur votre machine locale à l’aide de la commande suivante :

    git clone https://github.com/Azure/azure-iot-operations.git
    
  3. Accédez au chemin suivant dans votre copie locale du dépôt :

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

  4. Pour déployer les composants d’observabilité, exécutez la commande suivante. Utilisez l’ID d’abonnement et le groupe de ressources du cluster avec Arc que vous souhaitez surveiller.

    Remarque

    Pour découvrir d’autres paramètres facultatifs à définir, consultez le fichier bicep. Les paramètres facultatifs peuvent spécifier des éléments tels que d’autres emplacements pour les ressources de cluster.

    az deployment group create \
          --subscription <subscription-id> \
          --resource-group <cluster-resource-group> \
          --template-file observability-full.bicep \
          --parameters grafanaAdminId=$(az ad user show --id $(az account show --query user.name --output tsv) --query=id --output tsv) \
                        clusterName=<cluster-name> \
                        sharedResourceGroup=<shared-resource-group> \
                        sharedResourceLocation=<shared-resource-location> \
          --query=properties.outputs
    

    La commande précédente accorde l’accès administrateur pour l’instance Grafana nouvellement créée à l’utilisateur qui l’exécute. Si cet accès n’est pas ce que vous souhaitez, exécutez la commande suivante à la place. Vous devez configurer manuellement les autorisations avant que quiconque puisse accéder à l’instance Grafana.

    az deployment group create \
        --subscription <subscription-id> \
        --resource-group <cluster-resource-group> \
        --template-file observability-full.bicep \
        --parameters clusterName=<cluster-name> \
                      sharedResourceGroup=<shared-resource-group> \
                      sharedResourceLocation=<shared-resource-location> \
        --query=properties.outputs
    

    Pour configurer manuellement les autorisations, ajoutez une attribution de rôle à l’instance Grafana pour tous les utilisateurs qui doivent avoir accès. Attribuez l’un des rôles Grafana (Administrateur Grafana, Éditeur Grafana, Viewer Grafana) en fonction du niveau d’accès souhaité.

Si le déploiement réussit, quelques informations sont imprimées à la fin de la sortie de commande. Les informations incluent l’URL Grafana et les ID de ressource pour les ressources Log Analytics et Azure Monitor qui ont été créées. L’URL Grafana vous permet d’accéder à l’instance Grafana que vous configurez dans Déployer des tableaux de bord sur Grafana. Les deux ID de ressource vous permettent de configurer d’autres clusters avec Arc en suivant les étapes décrites dans Ajouter un cluster avec Arc à une infrastructure d’observabilité existante.

Configurer la collection de métriques Prometheus

  1. Copiez et collez la configuration suivante dans un nouveau fichier nommé ama-metrics-prometheus-config.yaml, puis enregistrez le fichier :

    apiVersion: v1
    data:
      prometheus-config: |2-
            scrape_configs:
            - job_name: e4k
              scrape_interval: 1m
              static_configs:
              - targets:
                - aio-mq-diagnostics-service.azure-iot-operations.svc.cluster.local:9600
            - job_name: nats
              scrape_interval: 1m
              static_configs:
              - targets:
                - aio-dp-msg-store-0.aio-dp-msg-store-headless.azure-iot-operations.svc.cluster.local:7777
            - job_name: otel
              scrape_interval: 1m
              static_configs:
              - targets:
                - aio-otel-collector.azure-iot-operations.svc.cluster.local:8889
            - job_name: aio-annotated-pod-metrics
              kubernetes_sd_configs:
              - role: pod
              relabel_configs:
              - action: drop
                regex: true
                source_labels:
                - __meta_kubernetes_pod_container_init
              - action: keep
                regex: true
                source_labels:
                - __meta_kubernetes_pod_annotation_prometheus_io_scrape
              - action: replace
                regex: ([^:]+)(?::\\d+)?;(\\d+)
                replacement: $1:$2
                source_labels:
                - __address__
                - __meta_kubernetes_pod_annotation_prometheus_io_port
                target_label: __address__
              - action: replace
                source_labels:
                - __meta_kubernetes_namespace
                target_label: kubernetes_namespace
              - action: keep
                regex: 'azure-iot-operations'
                source_labels:
                - kubernetes_namespace
              scrape_interval: 1m
    kind: ConfigMap
    metadata:
      name: ama-metrics-prometheus-config
      namespace: kube-system
    
  2. Pour appliquer le fichier de configuration que vous avez créé, exécutez la commande suivante :

    kubectl apply -f ama-metrics-prometheus-config.yaml

Déployer des tableaux de bord sur Grafana

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.

Effectuez les étapes suivantes pour installer les tableaux de bord Grafana organisés par Opérations Azure IoT.

  1. Connectez-vous à la console Grafana, puis dans la zone supérieure droite de l’application Grafana, sélectionnez l’icône +

  2. Sélectionnez Importer un tableau de bord, suivez les invites pour accéder au chemin samples\grafana-dashboards dans votre copie clonée locale du dépôt, puis sélectionnez un fichier de tableau de bord JSON.

  3. Lorsque l’application vous y invite, sélectionnez votre source de données Prometheus managée

  4. Sélectionnez Importer