Share via


Aan de slag: waarneembaarheid configureren in Azure IoT Operations Preview

Belangrijk

Azure IoT Operations Preview: ingeschakeld door Azure Arc is momenteel in PREVIEW. Gebruik deze preview-software niet in productieomgevingen.

Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.

Waarneembaarheid biedt inzicht in elke laag van uw Azure IoT Operations-configuratie. Het geeft u inzicht in het werkelijke gedrag van problemen, waardoor de effectiviteit van sitebetrouwbaarheidstechniek wordt verhoogd. Azure IoT Operations biedt waarneembaarheid via aangepaste gecureerde Grafana-dashboards die worden gehost in Azure. Deze dashboards worden mogelijk gemaakt door de beheerde Azure Monitor-service voor Prometheus en Container Insights. In dit artikel leest u hoe u de services configureert die u nodig hebt voor waarneembaarheid.

Vereisten

Uw abonnement configureren

Voer de volgende code uit om providers te registreren bij het abonnement waar uw cluster zich bevindt:

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

Waarneembaarheidsonderdelen installeren

In de stappen in deze sectie worden gedeelde bewakingsbronnen geïnstalleerd en het cluster met Arc geconfigureerd om waarneembaarheidssignalen naar deze resources te verzenden. De gedeelde bewakingsbronnen omvatten Azure Managed Grafana, Azure Monitor-werkruimte, Azure Managed Prometheus, Azure Log Analytics en Container Insights.

  1. Navigeer in uw console naar een lokale map waar u de Azure IoT Operations-opslagplaats wilt klonen:

    Notitie

    De opslagplaats bevat de implementatiedefinitie van Azure IoT-bewerkingen en voorbeelden die de voorbeelddashboards bevatten die in dit artikel worden gebruikt.

  2. Kloon de opslagplaats naar uw lokale computer met behulp van de volgende opdracht:

    git clone https://github.com/Azure/azure-iot-operations.git
    
  3. Navigeer naar het volgende pad in uw lokale kopie van de opslagplaats:

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

  4. Voer de volgende opdracht uit om de waarneembaarheidsonderdelen te implementeren. Gebruik de abonnements-id en resourcegroep van uw cluster met Arc dat u wilt bewaken.

    Notitie

    Als u andere optionele parameters wilt detecteren die u kunt instellen, raadpleegt u het bicep-bestand. De optionele parameters kunnen bijvoorbeeld alternatieve locaties voor clusterbronnen opgeven.

    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
    

    Met de vorige opdracht verleent u beheerderstoegang voor het zojuist gemaakte Grafana-exemplaar aan de gebruiker die deze uitvoert. Als deze toegang niet is wat u wilt, voert u in plaats daarvan de volgende opdracht uit. U moet machtigingen handmatig instellen voordat iedereen toegang heeft tot het Grafana-exemplaar.

    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
    

    Als u handmatig machtigingen wilt instellen, voegt u een roltoewijzing toe aan het Grafana-exemplaar voor gebruikers die toegang moeten hebben. Wijs een van de Grafana-rollen (Grafana Beheer, Grafana Editor, Grafana Viewer) toe, afhankelijk van het gewenste toegangsniveau.

Als de implementatie slaagt, worden enkele stukjes informatie aan het einde van de opdrachtuitvoer afgedrukt. De informatie bevat de Grafana-URL en de resource-id's voor zowel de Log Analytics- als Azure Monitor-resources die zijn gemaakt. Met de Grafana-URL kunt u navigeren naar het Grafana-exemplaar dat u configureert in Dashboards implementeren in Grafana. Met de twee resource-id's kunt u andere Arc-clusters configureren door de stappen in Een cluster met Arc toe te voegen aan een bestaande waarneembaarheidsinfrastructuur.

Verzameling metrische gegevens van Prometheus configureren

  1. Kopieer en plak de volgende configuratie in een nieuw bestand met de naam ama-metrics-prometheus-config.yaml en sla het bestand op:

    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. Voer de volgende opdracht uit om het configuratiebestand dat u hebt gemaakt toe te passen:

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

Dashboards implementeren in Grafana

Azure IoT Operations biedt een verzameling dashboards die zijn ontworpen om u veel van de visualisaties te bieden die u nodig hebt om inzicht te hebben in de status en prestaties van uw Azure IoT Operations-implementatie.

Voer de volgende stappen uit om de gecureerde Grafana-dashboards van Azure IoT Operations te installeren.

  1. Meld u aan bij de Grafana-console en selecteer vervolgens in de rechterbovenhoek van de Grafana-toepassing het + pictogram

  2. Selecteer Dashboard importeren, volg de aanwijzingen om naar het pad samples\grafana-dashboards in uw lokale gekloonde kopie van de opslagplaats te bladeren en selecteer een JSON-dashboardbestand

  3. Wanneer de toepassing hierom wordt gevraagd, selecteert u de beheerde Prometheus-gegevensbron

  4. Selecteer Importeren