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
- Azure IoT Operations Preview geïnstalleerd. Zie quickstart: Azure IoT Operations Preview implementeren in een Kubernetes-cluster met Arc voor meer informatie.
- Git voor het klonen van de opslagplaats.
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.
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.
Kloon de opslagplaats naar uw lokale computer met behulp van de volgende opdracht:
git clone https://github.com/Azure/azure-iot-operations.git
Navigeer naar het volgende pad in uw lokale kopie van de opslagplaats:
azure-iot-operations\tools\setup-3p-obs-infra
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
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
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.
Meld u aan bij de Grafana-console en selecteer vervolgens in de rechterbovenhoek van de Grafana-toepassing het + pictogram
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
Wanneer de toepassing hierom wordt gevraagd, selecteert u de beheerde Prometheus-gegevensbron
Selecteer Importeren