Nasazení prostředků pozorovatelnosti a nastavení protokolů
Důležité
Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi Preview. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.
Až bude dostupná obecně dostupná verze, budete muset nasadit novou instalaci operací Azure IoT. Nebudete moct upgradovat instalaci verze Preview.
Právní podmínky, které se vztahují na funkce Azure, které jsou ve verzi beta, ve verzi Preview nebo které ještě nejsou vydány v obecné dostupnosti, najdete v dodatečných podmínkách použití pro verze Microsoft Azure Preview.
Pozorovatelnost poskytuje přehled o každé vrstvě konfigurace provozu Azure IoT. Poskytuje přehled o skutečném chování problémů, což zvyšuje efektivitu techniky spolehlivosti lokality. Operace Azure IoT nabízí pozorovatelnost prostřednictvím vlastních kurátorovaných řídicích panelů Grafana hostovaných v Azure. Tyto řídicí panely využívají spravovanou službu Azure Monitor pro Prometheus a Container Insights. V této příručce se dozvíte, jak nastavit Spravované prometheus Azure a Grafana a povolit monitorování clusteru Azure Arc.
Před nasazením operací Azure IoT do clusteru proveďte kroky v tomto článku.
Požadavky
- Cluster Kubernetes s podporou arc.
- Azure CLI nainstalované na vývojovém počítači. Pokyny najdete v tématu Postup instalace Azure CLI.
- Helm je nainstalovaný na vývojovém počítači. Pokyny najdete v tématu Instalace Nástroje Helm.
- Kubectl nainstalovaný na vašem vývojovém počítači. Pokyny najdete v tématu Instalace nástrojů Kubernetes.
Vytvoření prostředků v Azure
Zaregistrujte poskytovatele v předplatném, ve kterém se nachází váš cluster.
Poznámka:
Tento krok stačí spustit jenom jednou pro každé předplatné. K registraci poskytovatelů prostředků potřebujete oprávnění k provedení
/register/action
operace, která je součástí rolí Přispěvatel předplatného a Vlastník. Další informace najdete v tématu Poskytovatelé a typy prostředků Azure.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.OperationalInsights
Nainstalujte rozšíření Azure CLI pro shromažďování metrik pro clustery s podporou Azure Arc a Azure Managed Grafana.
az extension add --name k8s-extension az extension add --name amg
Vytvořte pracovní prostor služby Azure Monitor, který povolí shromažďování metrik pro cluster Kubernetes s podporou Azure Arc.
az monitor account create --name <WORKSPACE_NAME> --resource-group <RESOURCE_GROUP> --location <LOCATION> --query id -o tsv
Uložte ID pracovního prostoru služby Azure Monitor z výstupu tohoto příkazu. ID použijete, když povolíte shromažďování metrik v další části.
Vytvořte instanci Azure Managed Grafana, která vizualizuje metriky Prometheus.
az grafana create --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsv
Uložte ID Grafany z výstupu tohoto příkazu. ID použijete, když povolíte shromažďování metrik v další části.
Vytvořte pracovní prostor služby Log Analytics pro Container Insights.
az monitor log-analytics workspace create -g <RESOURCE_GROUP> -n <LOGS_WORKSPACE_NAME> --query id -o tsv
Uložte ID pracovního prostoru služby Log Analytics z výstupu tohoto příkazu. ID použijete, když povolíte shromažďování metrik v další části.
Povolení shromažďování metrik pro cluster
Aktualizujte cluster Azure Arc tak, aby shromažďoval metriky a odesílal je do dříve vytvořeného pracovního prostoru služby Azure Monitor. Tento pracovní prostor také propošte s instancí Grafany.
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>
Povolte protokoly Container Insights pro shromažďování protokolů.
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>
Po dokončení těchto kroků máte azure Monitor i Grafana nastavené a propojené s clusterem pro pozorovatelnost a shromažďování metrik.
Nasazení kolekce OpenTelemetry
Definujte a nasaďte kolektor OpenTelemetry (OTel) do clusteru Kubernetes s podporou Arc.
Vytvořte volaný
otel-collector-values.yaml
soubor a vložte do něj následující kód, který definuje kolekci OpenTelemetry: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: false
otel-collector-values.yaml
V souboru si poznamenejte následující hodnoty, které použijete vaz iot ops create
příkazu při nasazování operací Azure IoT v clusteru:- fullnameOverride
- grpc.endpoint
- check_interval
Soubor uložte a zavřete.
Nasaďte kolektor spuštěním následujících příkazů:
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
Konfigurace kolekce metrik Prometheus
Nakonfigurujte shromažďování metrik Prometheus ve vašem clusteru.
Vytvořte soubor s názvem
ama-metrics-prometheus-config.yaml
a vložte následující konfiguraci: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-system
Použijte konfigurační soubor spuštěním následujícího příkazu:
kubectl apply -f ama-metrics-prometheus-config.yaml
Nasazení řídicích panelů do Grafany
Operace Azure IoT poskytují ukázkový řídicí panel navržený tak, aby vám poskytl mnoho vizualizací, které potřebujete k pochopení stavu a výkonu nasazení operací Azure IoT.
Provedením následujících kroků nainstalujte řídicí panely Grafana s kurátorovanými operacemi Azure IoT.
Naklonujte nebo stáhněte úložiště azure-iot-operations a získejte ukázkový soubor JSON řídicího panelu Grafana místně: https://github.com/Azure/azure-iot-operations.
Přihlaste se ke konzole Grafana. Ke konzole se dostanete prostřednictvím webu Azure Portal nebo pomocí
az grafana show
příkazu načtete adresu URL.az grafana show --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query url -o tsv
V aplikaci Grafana vyberte + ikonu.
Vyberte Importovat řídicí panel.
Přejděte do adresáře ukázkového řídicího panelu v místní kopii úložiště Azure IoT Operations, ukázek>grafana-operations azure-iot-operations> a pak vyberte soubor řídicího panelu.
aio.sample.json
Po zobrazení výzvy aplikace vyberte spravovaný zdroj dat Prometheus.
Vyberte Importovat.