Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pengamatan Operasi Azure IoT memberikan visibilitas ke setiap lapisan konfigurasi Anda dan memberi Anda wawasan tentang perilaku masalah aktual, yang meningkatkan efektivitas rekayasa keandalan situs. Operasi Azure IoT menawarkan pengamatan melalui dasbor Grafana yang dikumpulkan khusus yang dihosting di Azure, didukung oleh layanan terkelola Azure Monitor untuk Prometheus dan Container Insights.
Artikel ini memperlihatkan kepada Anda cara menyebarkan sumber daya pengamatan Operasi Azure IoT, menyiapkan Azure Managed Prometheus dan Grafana, dan mengaktifkan pemantauan komprehensif untuk kluster Azure Arc Anda.
Prasyarat
- Kluster Kubernetes dengan dukungan Arc.
- Azure CLI diinstal pada komputer kluster Anda. Untuk petunjuknya, lihat Cara menginstal Azure CLI.
- Helm diinstal pada komputer kluster Anda. Untuk petunjuknya, lihat Menginstal Helm.
- Kubectl diinstal pada komputer kluster Anda. Untuk petunjuknya, lihat Menginstal alat Kubernetes.
Buat sumber daya di Azure
Daftarkan penyedia dengan langganan tempat kluster Anda berada.
Catatan
Jalankan langkah ini hanya sekali per langganan. Untuk mendaftarkan penyedia sumber daya, Anda memerlukan izin untuk melakukan operasi
/register/action, yang termasuk dalam peran Kontributor dan Pemilik dalam langganan. Untuk informasi selengkapnya, lihat Penyedia dan jenis sumber daya 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.OperationalInsightsInstal ekstensi Azure CLI untuk koleksi Metrik untuk kluster dengan dukungan Azure Arc dan Azure Managed Grafana:
az extension add --upgrade --name k8s-extension az extension add --upgrade --name amgBuat ruang kerja Azure Monitor untuk mengaktifkan pengumpulan metrik untuk kluster Kubernetes dengan dukungan Azure Arc:
az monitor account create --name <WORKSPACE_NAME> --resource-group <RESOURCE_GROUP> --location <LOCATION> --query id -o tsvSimpan ID ruang kerja Azure Monitor dari output perintah ini. Anda menggunakan ID saat mengaktifkan koleksi metrik di bagian berikutnya.
Buat instans Azure Managed Grafana untuk memvisualisasikan metrik Prometheus Anda:
az grafana create --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsvSimpan ID Grafana dari output perintah ini. Anda menggunakan ID saat mengaktifkan koleksi metrik di bagian berikutnya.
Buat ruang kerja Analitik Log untuk Container Insights:
az monitor log-analytics workspace create -g <RESOURCE_GROUP> -n <LOGS_WORKSPACE_NAME> --query id -o tsvSimpan ID ruang kerja Analitik Log dari output perintah ini. Anda menggunakan ID saat mengaktifkan koleksi metrik di bagian berikutnya.
Mengaktifkan pengumpulan metrik untuk kluster
Perbarui kluster Azure Arc untuk mengumpulkan metrik dan mengirimkannya ke ruang kerja Azure Monitor yang Anda buat. Anda juga menautkan ruang kerja ini ke instans Grafana:
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>
Aktifkan Container Insights logs untuk pengumpulan log.
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>
Setelah menyelesaikan langkah-langkah ini, Anda memiliki Azure Monitor dan Grafana yang disiapkan dan ditautkan ke kluster Anda untuk pengamatan dan pengumpulan metrik.
Menyebarkan Pengumpul OpenTelemetry
Tentukan dan sebarkan Pengumpul OpenTelemetry (OTel) ke kluster Kubernetes yang didukung Arc.
Buat file yang disebut
otel-collector-values.yamldan tempelkan kode berikut ke dalamnya untuk menentukan Pengumpul 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: 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 telemetry: metrics: readers: [] pipelines: metrics: receivers: - otlp exporters: - prometheus resources: limits: cpu: "100m" memory: "512Mi" ports: metrics: enabled: true containerPort: 8889 servicePort: 8889 protocol: TCPotel-collector-values.yamlDalam file, catat nilai berikut yang Anda gunakan dalamaz iot ops createperintah saat Anda menyebarkan Operasi Azure IoT pada kluster:fullnameOverridegrpc.endpointcheck_interval
Simpan dan tutup file.
Sebarkan kolektor dengan menjalankan perintah berikut:
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
Mengonfigurasi koleksi metrik Prometheus
Konfigurasikan pengumpulan metrik Prometheus di kluster Anda.
Buat file bernama
ama-metrics-prometheus-config.yamldan tempel konfigurasi berikut: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-systemTerapkan file konfigurasi dengan menjalankan perintah berikut:
kubectl apply -f ama-metrics-prometheus-config.yaml
Menyiapkan konfigurasi pengamatan
Anda dapat menyiapkan konfigurasi pengamatan penyebaran Operasi Azure IoT Anda kapan saja. Setelah sumber daya pengamatan dikonfigurasi, Anda dapat meningkatkan konfigurasi observabilitas dengan menjalankan az iot ops upgrade perintah dengan --ops-config parameter untuk menentukan nilai konfigurasi baru:
az iot ops upgrade --resource-group <rg name> -n <instance name> --ops-config observability.metrics.openTelemetryCollectorAddress=<>
| Pengaturan | Nilai | Deskripsi |
|---|---|---|
--ops-config |
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT> |
Berikan alamat kolektor OpenTelemetry (OTel) yang Anda konfigurasikan dalam file otel-collector-values.yaml. Instruksi dalam artikel ini menggunakan nilai fullnameOverride=aio-otel-collector sampel dan grpc.endpoint=4317. |
--ops-config |
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL> |
Berikan nilai check_interval yang telah Anda konfigurasikan dalam file otel-collector-values.yaml.Instruksi dalam artikel ini menggunakan nilai check_interval=60sampel . |
Catatan
Dalam rilis pratinjau, az iot ops upgrade perintah tidak berfungsi untuk meningkatkan ke versi pratinjau, tetapi berfungsi untuk mengonfigurasi Operasi Azure IoT untuk pengamatan.
Menyebarkan dasbor ke Grafana
Operasi Azure IoT menyediakan dasbor sampel yang dirancang untuk memberi Anda banyak visualisasi yang Anda butuhkan untuk memahami kesehatan dan performa penyebaran Operasi Azure IoT Anda.
Selesaikan langkah-langkah berikut untuk menginstal dasbor Grafana yang dikumpulkan Azure IoT Operations:
Kloning atau unduh repositori azure-iot-operations untuk mendapatkan sampel file json Dasbor Grafana secara lokal: https://github.com/Azure/azure-iot-operations.
Masuk ke konsol Grafana. Anda dapat mengakses konsol melalui portal Azure atau menggunakan
az grafana showperintah untuk mengambil URL.az grafana show --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query url -o tsvPada halaman arahan Grafana, pilih ubin Buat dasbor pertama Anda.
Pilih Impor Dasbor.
Telusuri direktori dasbor sampel di salinan lokal repositori Azure IoT Operations, azure-iot-operations > sampel > grafana-dashboard, lalu pilih file dasbor aio.sample.json .
Saat aplikasi meminta, pilih sumber data Prometheus terkelola Anda.
Pilih impor.