Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Gözlemlenebilirlik, Azure IoT İşlemleri yapılandırmanızın her katmanında görünürlük sağlar. Sorunların gerçek davranışı hakkında içgörü sağlar ve bu da site güvenilirliği mühendisliğinin verimliliğini artırır. Azure IoT İşlemleri, Azure'da barındırılan özel seçilmiş Grafana panoları aracılığıyla gözlemlenebilirlik sunar. Bu panolar Prometheus için Azure İzleyici yönetilen hizmeti ve Container Insights tarafından desteklenir. Bu kılavuzda Azure Yönetilen Prometheus ve Grafana'yı ayarlama ve Azure Arc kümeniz için izlemeyi etkinleştirme adımları gösterilmektedir.
Azure IoT İşlemlerini kümenize dağıtmadan önce bu makaledeki adımları tamamlayın.
Önkoşullar
- Arc özellikli kubernetes kümesi.
- Azure CLI, küme makinenizde yüklüdür. Yönergeler için bkz . Azure CLI'yı yükleme.
- Helm, küme makinenize yüklendi. Yönergeler için bkz . Helm'i yükleme.
- Küme makinenizde yüklü Kubectl. Yönergeler için bkz . Kubernetes araçlarını yükleme.
Azure'da kaynak oluşturma
Sağlayıcıları kümenizin bulunduğu aboneliğe kaydedin.
Not
Bu adımın abonelik başına yalnızca bir kez çalıştırılması gerekir. Kaynak sağlayıcılarını kaydetmek için, abonelik Katkıda Bulunanı ve Sahip rollerine dahil edilen işlemi gerçekleştirme
/register/action
izniniz olmalıdır. Daha fazla bilgi için bkz . Azure kaynak sağlayıcıları ve türleri.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
Azure Arc özellikli kümeler ve Azure Yönetilen Grafana için Ölçümler için Azure CLI uzantılarını yükleyin.
az extension add --name k8s-extension az extension add --name amg
Azure Arc özellikli Kubernetes kümeniz için ölçüm toplamayı etkinleştirmek için bir Azure İzleyici çalışma alanı oluşturun.
az monitor account create --name <WORKSPACE_NAME> --resource-group <RESOURCE_GROUP> --location <LOCATION> --query id -o tsv
Bu komutun çıktısından Azure İzleyici çalışma alanı kimliğini kaydedin. Sonraki bölümde ölçüm toplamayı etkinleştirirken kimliği kullanacaksınız.
Prometheus ölçümlerinizi görselleştirmek için bir Azure Yönetilen Grafana örneği oluşturun.
az grafana create --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsv
Bu komutun çıktısından Grafana Kimliğini kaydedin. Sonraki bölümde ölçüm toplamayı etkinleştirirken kimliği kullanacaksınız.
Container Insights için log analytics çalışma alanı oluşturun.
az monitor log-analytics workspace create -g <RESOURCE_GROUP> -n <LOGS_WORKSPACE_NAME> --query id -o tsv
Bu komutun çıktısından Log Analytics çalışma alanı kimliğini kaydedin. Sonraki bölümde ölçüm toplamayı etkinleştirirken kimliği kullanacaksınız.
Küme için ölçüm toplamayı etkinleştirme
Ölçümleri toplamak ve bunları daha önce oluşturulan Azure İzleyici çalışma alanına göndermek için Azure Arc kümesini güncelleştirin. Ayrıca bu çalışma alanını Grafana örneğine bağlarsınız.
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>
Günlük koleksiyonu için Container Insights günlüklerini etkinleştirin.
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>
Bu adımlar tamamlandıktan sonra, gözlemlenebilirlik ve ölçüm toplama için hem Azure İzleyici'yi hem de Grafana'yı ayarlar ve kümenize bağlanırsınız.
OpenTelemetry Toplayıcısı Dağıtma
Arc özellikli Kubernetes kümenize OpenTelemetry (OTel) Toplayıcısı tanımlayın ve dağıtın.
adlı
otel-collector-values.yaml
bir dosya oluşturun ve bir OpenTelemetry Toplayıcısı tanımlamak için içine aşağıdaki kodu yapıştırın: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
dosyasında, kümeye Azure IoT İşlemleri dağıtırken komuttaaz iot ops create
kullandığınız aşağıdaki değerleri not edin:- fullnameOverride
- grpc.endpoint
- check_interval
Dosyayı kaydedip kapatın
Aşağıdaki komutları çalıştırarak toplayıcıyı dağıtın:
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
Prometheus ölçüm koleksiyonunu yapılandırma
Kümenizde Prometheus ölçüm koleksiyonunu yapılandırın.
adlı
ama-metrics-prometheus-config.yaml
bir dosya oluşturun ve aşağıdaki yapılandırmayı yapıştırın: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
Aşağıdaki komutu çalıştırarak yapılandırma dosyasını uygulayın:
kubectl apply -f ama-metrics-prometheus-config.yaml
Grafana'ya pano dağıtma
Azure IoT İşlemleri, Azure IoT İşlemleri dağıtımınızın sistem durumunu ve performansını anlamanız için ihtiyacınız olan görselleştirmelerin birçoğunu size sunmak için tasarlanmış örnek bir pano sağlar.
Azure IoT İşlemleri tarafından seçilmiş Grafana panolarını yüklemek için aşağıdaki adımları tamamlayın.
Örnek Grafana Dashboard json dosyasını yerel olarak almak için azure-iot-operations deposunu kopyalayın veya indirin: https://github.com/Azure/azure-iot-operations.
Grafana konsolunda oturum açın. Konsola Azure portalı üzerinden erişebilir veya komutunu kullanarak
az grafana show
URL'yi alabilirsiniz.az grafana show --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query url -o tsv
Grafana uygulamasında simgeyi + seçin.
Panoyu içeri aktar'ı seçin.
Azure IoT İşlemleri deponuzun yerel kopyasındaki örnek pano dizinine göz atın, azure-iot-operations>samples>grafana-dashboard ve ardından pano dosyasını seçin.
aio.sample.json
Uygulama sorulduğunda yönetilen Prometheus veri kaynağınızı seçin.
İçe aktar'ı seçin.