Condividi tramite


Introduzione: configurare l'osservabilità nell'anteprima di Operazioni IoT di Azure

Importante

Anteprima delle operazioni di Azure IoT: abilitata da Azure Arc è attualmente disponibile in ANTEPRIMA. Non è consigliabile usare questo software di anteprima negli ambienti di produzione.

Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.

L'osservabilità offre visibilità su ogni livello della configurazione delle operazioni di Azure IoT. Offre informazioni dettagliate sul comportamento effettivo dei problemi, aumentando così l'efficacia della progettazione dell'affidabilità del sito. Le operazioni di Azure IoT offrono l'osservabilità tramite dashboard Grafana personalizzati ospitati in Azure. Questi dashboard sono basati sul servizio gestito di Monitoraggio di Azure per Prometheus e da Container Insights. Questo articolo illustra come configurare i servizi necessari per l'osservabilità.

Prerequisiti

Configurare la sottoscrizione

Eseguire il codice seguente per registrare i provider con la sottoscrizione in cui si trova il cluster:

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

Installare i componenti di osservabilità

I passaggi descritti in questa sezione installano le risorse di monitoraggio condiviso e configurano il cluster con abilitazione di Arc per generare segnali di osservabilità a queste risorse. Le risorse di monitoraggio condiviso includono Grafana gestita di Azure, area di lavoro di Monitoraggio di Azure, Prometheus gestito di Azure, Azure Log Analytics e Informazioni dettagliate sui contenitori.

  1. Nella console passare a una cartella locale in cui si vuole clonare il repository operazioni IoT di Azure:

    Nota

    Il repository contiene la definizione di distribuzione di Operazioni IoT di Azure ed esempi che includono i dashboard di esempio usati in questo articolo.

  2. Clonare il repository nel computer locale usando il comando seguente:

    git clone https://github.com/Azure/azure-iot-operations.git
    
  3. Passare al percorso seguente nella copia locale del repository:

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

  4. Per distribuire i componenti di osservabilità, eseguire il comando seguente. Usare l'ID sottoscrizione e il gruppo di risorse del cluster abilitato per Arc da monitorare.

    Nota

    Per individuare altri parametri facoltativi che è possibile impostare, vedere il file bicep. I parametri facoltativi possono specificare elementi come percorsi alternativi per le risorse del 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
    

    Il comando precedente concede l'accesso amministratore per l'istanza di Grafana appena creata all'utente che lo esegue. Se l'accesso non è quello desiderato, eseguire invece il comando seguente. È necessario configurare manualmente le autorizzazioni prima che chiunque possa accedere all'istanza di 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
    

    Per configurare manualmente le autorizzazioni, aggiungere un'assegnazione di ruolo all'istanza di Grafana per tutti gli utenti che devono avere accesso. Assegnare uno dei ruoli Grafana (Grafana Amministrazione, Grafana Editor, Grafana Viewer) a seconda del livello di accesso desiderato.

Se la distribuzione ha esito positivo, alla fine dell'output del comando vengono stampate alcune informazioni. Le informazioni includono l'URL di Grafana e gli ID risorsa per le risorse di Log Analytics e Monitoraggio di Azure create. L'URL di Grafana consente di passare all'istanza di Grafana configurata in Distribuire dashboard in Grafana. I due ID risorsa consentono di configurare altri cluster con abilitazione di Arc seguendo i passaggi descritti in Aggiungere un cluster abilitato per Arc all'infrastruttura di osservabilità esistente.

Configurare la raccolta delle metriche di Prometheus

  1. Copiare e incollare la configurazione seguente in un nuovo file denominato ama-metrics-prometheus-config.yaml e salvare il file:

    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. Per applicare il file di configurazione creato, eseguire il comando seguente:

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

Distribuire dashboard in Grafana

Azure IoT Operations offre una raccolta di dashboard progettati per offrire molte delle visualizzazioni necessarie per comprendere l'integrità e le prestazioni della distribuzione di Azure IoT Operations.

Completare i passaggi seguenti per installare i dashboard di Grafana curati per le operazioni IoT di Azure.

  1. Accedere alla console di Grafana, quindi nell'area superiore destra dell'applicazione Grafana selezionare l'icona +

  2. Selezionare Importa dashboard, seguire le istruzioni per passare al percorso samples\grafana-dashboards nella copia clonata locale del repository e selezionare un file del dashboard JSON

  3. Quando l'applicazione richiede, selezionare l'origine dati Prometheus gestita

  4. Seleziona Importa