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
- Azure IoT Operations Preview installato. Per altre informazioni, vedere Avvio rapido: Distribuire Azure IoT Operations Preview in un cluster Kubernetes abilitato per Arc.
- Git per la clonazione del repository.
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.
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.
Clonare il repository nel computer locale usando il comando seguente:
git clone https://github.com/Azure/azure-iot-operations.git
Passare al percorso seguente nella copia locale del repository:
azure-iot-operations\tools\setup-3p-obs-infra
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
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
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.
Accedere alla console di Grafana, quindi nell'area superiore destra dell'applicazione Grafana selezionare l'icona +
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
Quando l'applicazione richiede, selezionare l'origine dati Prometheus gestita
Seleziona Importa