إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توفر إمكانية مراقبة Azure IoT Operations رؤية لكل طبقة من طبقات التكوين الخاص بك وتمنحك نظرة ثاقبة للسلوك الفعلي للمشكلات، مما يزيد من فعالية هندسة موثوقية الموقع. توفر Azure IoT Operations إمكانية الملاحظة من خلال لوحات معلومات Grafana المخصصة المنسقة المستضافة في Azure، المدعومة من خدمة Azure Monitor المدارة ل Prometheus وContainer Insights.
توضح لك هذه المقالة كيفية نشر موارد مراقبة Azure IoT Operations، وإعداد Azure Managed Prometheus وGrafana، وتمكين المراقبة الشاملة لمجموعة Azure Arc.
المتطلبات الأساسية
- مجموعة Kubernetes الممكنة بواسطة Arc.
- تم تثبيت Azure CLI على جهاز نظام المجموعة. للحصول على الإرشادات، راجع كيفية تثبيت Azure CLI.
- Helm مثبت على جهاز نظام المجموعة الخاص بك. للحصول على الإرشادات، راجع تثبيت Helm.
- Kubectl مثبت على جهاز نظام المجموعة الخاص بك. للحصول على الإرشادات، راجع تثبيت أدوات Kubernetes.
إنشاء الموارد في Azure
تسجيل الموفرين مع الاشتراك حيث يوجد نظام المجموعة الخاص بك.
إشعار
قم بتشغيل هذه الخطوة مرة واحدة فقط لكل اشتراك. لتسجيل مزودي الموارد، تحتاج إلى إذن لتنفيذ العملية
/register/action، وهو مشمول في أدوار المساهموالمالك للاشتراك. لمزيد من المعلومات، راجع موفري موارد 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تثبيت Azure CLI extensions for Metrics collection for Azure Arc-enabled clusters و Azure Managed Grafana:
az extension add --upgrade --name k8s-extension az extension add --upgrade --name amgإنشاء مساحة عمل Azure Monitor لتمكين مجموعة المتريات لعنقود Kubernetes الفعال في Azure Arc:
az monitor account create --name <WORKSPACE_NAME> --resource-group <RESOURCE_GROUP> --location <LOCATION> --query id -o tsvاحفظ معرف مساحة عمل Azure Monitor من إخراج هذا الأمر. يمكنك استخدام المعرف عند تمكين مجموعة المقاييس في القسم التالي.
Create a Azure Managed Grafana instance to visualize your Prometheus metrics:
az grafana create --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query id -o tsvاحفظ معرف Grafana من إخراج هذا الأمر. يمكنك استخدام المعرف عند تمكين مجموعة المقاييس في القسم التالي.
أنشئ مساحة عمل تحليلات سجلات لرؤى الحاويات:
az monitor log-analytics workspace create -g <RESOURCE_GROUP> -n <LOGS_WORKSPACE_NAME> --query id -o tsvاحفظ معرف مساحة عمل Log Analytics من إخراج هذا الأمر. يمكنك استخدام المعرف عند تمكين مجموعة المقاييس في القسم التالي.
تمكين مجموعة المقاييس للمجموعة
قم بتحديث نظام مجموعة Azure Arc لجمع المقاييس وإرسالها إلى مساحة عمل Azure Monitor التي قمت بإنشائها. كما تربط هذه مساحة العمل بنسخة 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>
تمكين سجلات Container Insights لجمع السجلات:
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>
بعد إكمال هذه الخطوات، يمكنك إعداد كل من Azure Monitor وGrafana وربطهما بنظام المجموعة الخاص بك لإمكانية الملاحظة وجمع المقاييس.
نشر OpenTelemetry Collector
تعريف ونشر OpenTelemetry (OTel) Collector إلى مجموعة Kubernetes التي تدعم Arc.
إنشاء ملف يسمى
otel-collector-values.yamlولصق التعليمات البرمجية التالية فيه لتعريف OpenTelemetry Collector: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الملف، دون القيم التالية التي تستخدمها فيaz iot ops createالأمر عند نشر عمليات Azure IoT على نظام المجموعة:fullnameOverridegrpc.endpointcheck_interval
احفظ الملف وأغلقه.
انشر المجمع عن طريق تشغيل الأوامر التالية:
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
تكوين مجموعة مقاييس Prometheus على مجموعتك.
إنشاء ملف باسم
ama-metrics-prometheus-config.yamlولصق التكوين التالي: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تطبيق ملف التكوين عن طريق تشغيل الأمر التالي:
kubectl apply -f ama-metrics-prometheus-config.yaml
إعداد تكوين إمكانية الملاحظة
يمكنك إعداد تكوين قابلية الملاحظة لتوزيع Azure IoT Operations في أي وقت. بمجرد تكوين موارد الملاحظة، يمكنك ترقية تكوين قابلية الملاحظة عن طريق تشغيل az iot ops upgrade الأمر مع المعامل --ops-config لتحديد قيم التكوين الجديدة:
az iot ops upgrade --resource-group <rg name> -n <instance name> --ops-config observability.metrics.openTelemetryCollectorAddress=<>
| المعلمة | قيمة | الوصف |
|---|---|---|
--ops-config |
observability.metrics.openTelemetryCollectorAddress=<FULLNAMEOVERRIDE>.azure-iot-operations.svc.cluster.local:<GRPC_ENDPOINT> |
قم بتوفير عنوان مجمع OpenTelemetry (OTel) الذي قمت بتكوينه في ملف otel-collector-values.yaml. تستخدم التعليمات في هذا المقال قيم fullnameOverride=aio-otel-collector العينة و grpc.endpoint=4317. |
--ops-config |
observability.metrics.exportInternalSeconds=<CHECK_INTERVAL> |
قدم القيمة التي قمت بتكوينها check_interval في ملف otel-collector-values.yaml.تستخدم التعليمات في هذا المقال قيمة check_interval=60العينة . |
إشعار
في إصدارات المعاينة، az iot ops upgrade لا يعمل الأمر للترقية إلى إصدار معاينة، ولكنه يعمل على تكوين Azure IoT Operations لإمكانية المراقبة.
نشر لوحات المعلومات إلى Grafana
توفر عمليات Azure IoT لوحة معلومات نموذجية مصممة لمنحك العديد من المرئيات التي تحتاجها لفهم صحة وأداء توزيع عمليات Azure IoT.
أكمل الخطوات التالية لتثبيت لوحات تحكم Grafana المنسقة من Azure IoT Operations:
استنساخ أو تنزيل مستودع azure-iot-operations للحصول على نموذج ملف json للوحة معلومات Grafana محليا: https://github.com/Azure/azure-iot-operations.
سجل الدخول إلى وحدة تحكم Grafana. يمكنك الوصول إلى وحدة التحكم من خلال مدخل Microsoft Azure أو استخدام
az grafana showالأمر لاسترداد عنوان URL.az grafana show --name <GRAFANA_NAME> --resource-group <RESOURCE_GROUP> --query url -o tsvفي الصفحة المنتقل إليها في Grafana، حدد إنشاء لوحة المعلومات الأولى .
حدد استيراد لوحة المعلومات.
تصفح إلى دليل لوحة البيانات النموذجي في النسخة المحلية الخاصة بك من مستودع Azure IoT Operations, azure-iot-operations > samples > grafana-dashboard، ثم اختر ملف aio.sample.json dashboard.
عندما يطالب التطبيق، حدد مصدر بيانات Prometheus المدار.
حدد استيراد.