Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Azure IoT Operations waarneembaarheid biedt inzicht in elke laag van uw configuratie en 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, mogelijk gemaakt door beheerde Azure Monitor-service voor Prometheus en Container Insights.
In dit artikel wordt beschreven hoe u waarneembaarheidsresources voor Azure IoT Operations implementeert, Azure Managed Prometheus en Grafana instelt en uitgebreide bewaking voor uw Azure Arc-cluster inschakelt.
Vereisten
- Een Kubernetes-cluster met Arc.
 - Azure CLI is geïnstalleerd op uw clustercomputer. Zie De Azure CLI installeren voor instructies.
 - Helm is geïnstalleerd op uw clustercomputer. Zie Helm installeren voor instructies.
 - Kubectl geïnstalleerd op uw clustercomputer. Zie Kubernetes-hulpprogramma's installeren voor instructies.
 
Resources maken in Azure
Registreer providers bij het abonnement waar uw cluster zich bevindt.
Notitie
Voer deze stap slechts één keer per abonnement uit. Als u resourceproviders wilt registreren, moet u gemachtigd zijn om de
/register/actionbewerking uit te voeren, die is opgenomen in de rollen Inzender en Eigenaar van het abonnement. Zie Azure-resourceproviders en -typen voor meer informatie.az account set -s <SUBSCRIPTION_ID> az provider register --namespace Microsoft.AlertsManagement az provider register --namespace Microsoft.Monitor az provider register --namespace Microsoft.Dashboard az provider register --namespace Microsoft.Insights az provider register --namespace Microsoft.OperationalInsightsInstalleer Azure CLI-extensies voor metrische gegevensverzameling voor clusters met Azure Arc en Azure Managed Grafana.
az extension add --upgrade --name k8s-extension az extension add --upgrade --name amgMaak een Azure Monitor-werkruimte om metrische verzameling in te schakelen voor uw Kubernetes-cluster met Azure Arc.
az monitor account create --name <WORKSPACE_NAME> --resource-group <RESOURCE_GROUP> --location <LOCATION> --query id -o tsvSla de Azure Monitor-werkruimte-id op uit de uitvoer van deze opdracht. U gebruikt de id wanneer u verzameling metrische gegevens inschakelt in de volgende sectie.
Maak een Azure Managed Grafana-exemplaar om uw prometheus-metrische gegevens te visualiseren.
az grafana create --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsvSla de Grafana-id op uit de uitvoer van deze opdracht. U gebruikt de id wanneer u verzameling metrische gegevens inschakelt in de volgende sectie.
Maak een Log Analytics-werkruimte voor Container Insights.
az monitor log-analytics workspace create -g <RESOURCE_GROUP> -n <LOGS_WORKSPACE_NAME> --query id -o tsvSla de Log Analytics-werkruimte-id op uit de uitvoer van deze opdracht. U gebruikt de id wanneer u verzameling metrische gegevens inschakelt in de volgende sectie.
Verzameling metrische gegevens inschakelen voor het cluster
Werk het Azure Arc-cluster bij om metrische gegevens te verzamelen en naar de Azure Monitor-werkruimte te verzenden die u hebt gemaakt. U koppelt deze werkruimte ook aan het Grafana-exemplaar.
az k8s-extension create --name azuremonitor-metrics --cluster-name <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics --configuration-settings azure-monitor-workspace-resource-id=<AZURE_MONITOR_WORKSPACE_ID> grafana-resource-id=<GRAFANA_ID>
Schakel Container Insights-logboeken in voor logboekverzameling.
az k8s-extension create --name azuremonitor-containers --cluster-name <CLUSTER_NAME> --resource-group <RESOURCE_GROUP> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID=<LOG_ANALYTICS_WORKSPACE_ID>
Nadat u deze stappen hebt voltooid, hebt u zowel Azure Monitor als Grafana ingesteld en gekoppeld aan uw cluster voor waarneembaarheid en metrische gegevensverzameling.
OpenTelemetry Collector implementeren
Definieer en implementeer een OTel-collector (OpenTelemetry) in uw Kubernetes-cluster met Arc.
Maak een bestand met de naam
otel-collector-values.yamlen plak de volgende code erin om een OpenTelemetry Collector te definiëren:mode: deployment fullnameOverride: aio-otel-collector image: repository: otel/opentelemetry-collector tag: 0.107.0 config: processors: memory_limiter: limit_percentage: 80 spike_limit_percentage: 10 check_interval: '60s' receivers: jaeger: null prometheus: null zipkin: null otlp: protocols: grpc: endpoint: ':4317' http: endpoint: ':4318' exporters: prometheus: endpoint: ':8889' resource_to_telemetry_conversion: enabled: true add_metric_suffixes: false service: extensions: - health_check pipelines: metrics: receivers: - otlp exporters: - prometheus logs: null traces: null telemetry: null extensions: memory_ballast: size_mib: 0 resources: limits: cpu: '100m' memory: '512Mi' ports: metrics: enabled: true containerPort: 8889 servicePort: 8889 protocol: 'TCP' jaeger-compact: enabled: false jaeger-grpc: enabled: false jaeger-thrift: enabled: false zipkin: enabled: falseNoteer in het
otel-collector-values.yamlbestand de volgende waarden die u in de opdracht gebruikt bij hetaz iot ops createimplementeren van Azure IoT-bewerkingen op het cluster:- fullnameOverride
 - grpc.endpoint
 - check_interval
 
Sla het bestand op en sluit het bestand.
Implementeer de collector door de volgende opdrachten uit te voeren:
kubectl get namespace azure-iot-operations || kubectl create namespace azure-iot-operations helm repo add open-telemetry https://open-telemetry.github.io/opentelemetry-helm-charts helm repo update helm upgrade --install aio-observability open-telemetry/opentelemetry-collector -f otel-collector-values.yaml --namespace azure-iot-operations
Verzameling metrische gegevens van Prometheus configureren
Configureer de verzameling metrische gegevens van Prometheus in uw cluster.
Maak een bestand met de naam
ama-metrics-prometheus-config.yamlen plak de volgende configuratie:apiVersion: v1 data: prometheus-config: |2- scrape_configs: - 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-systemPas het configuratiebestand toe door de volgende opdracht uit te voeren:
kubectl apply -f ama-metrics-prometheus-config.yaml
Waarneembaarheidsconfiguratie instellen
U kunt de waarneembaarheidsconfiguratie van uw Azure IoT Operations-implementatie op elk gewenst moment instellen. Zodra waarneembaarheidsresources zijn geconfigureerd, kunt u de configuratie voor waarneembaarheid bijwerken door de az iot ops upgrade opdracht uit te voeren met de --ops-config parameter om de nieuwe configuratiewaarden op te geven.
az iot ops upgrade --resource-group <rg name> -n <instance name> --ops-config observability.metrics.openTelemetryCollectorAddress=<>
| Kenmerk | Waarde | Beschrijving | 
|---|---|---|
--ops-config | 
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT> | 
Geef het adres van de OTel-collector (OpenTelemetry) op dat u hebt geconfigureerd in het bestand otel-collector-values.yaml. In de instructies in dit artikel worden de voorbeeldwaarden fullnameOverride=aio-otel-collector en grpc.endpoint=4317 gebruikt.  | 
--ops-config | 
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL> | 
Geef de check_interval waarde op die u hebt geconfigureerd in het bestand otel-collector-values.yaml. In de instructies in dit artikel wordt de voorbeeldwaarde check_interval=60 gebruikt.  | 
Notitie
In preview-versies werkt de opdracht niet voor het az iot ops upgrade upgraden naar een preview-versie, maar het werkt voor het configureren van de Azure IoT-bewerkingen voor waarneembaarheid.
Dashboards implementeren in Grafana
Azure IoT Operations biedt een voorbeelddashboard dat is ontworpen voor een groot aantal visualisaties 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.
Kloon of download de opslagplaats azure-iot-operations om het JSON-voorbeeldbestand Grafana Dashboard lokaal op te halen: https://github.com/Azure/azure-iot-operations
Meld u aan bij de Grafana-console. U kunt de console openen via Azure Portal of de
az grafana showopdracht gebruiken om de URL op te halen.az grafana show --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query url -o tsvSelecteer op de landingspagina van Grafana de tegel Uw eerste dashboard maken .
Selecteer Dashboard importeren.
Blader naar de voorbeelddashboardmap in uw lokale kopie van de Azure IoT Operations-opslagplaats, azure-iot-operations>samples>grafana-dashboard en selecteer vervolgens het
aio.sample.jsondashboardbestand.Wanneer de toepassing hierom wordt gevraagd, selecteert u de beheerde Prometheus-gegevensbron.
Selecteer Importeren.