مشاركة عبر


Configure and view Azure Kubernetes Application Network Metrics (preview)

مهم

تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:

يوفر Azure Kubernetes Application Network مقاييس شاملة لأحمال العمل ومكونات مستوى بيانات شبكة تطبيقات Azure Kubernetes (ZTunnel، Istio CNI، وWaypoint) من خلال مقاييس Azure Monitor. تشرح هذه المقالة كيفية تكوين وعرض هذه المقاييس في Azure Monitor.

القيود

مقاييس مستوى التحكم غير مدعومة حاليا. ومع ذلك، تتوفر مقاييس مستوى البيانات، ويمكنك استخدامها لمراقبة صحة وأداء أحمال العمل ومكونات شبكة تطبيقات Azure Kubernetes.

مقاييس مستوى البيانات

مقاييس مستوى البيانات تشمل مقاييس من أعباء العمل/التطبيقات ومساحة appnet-system الأسماء. توفر شبكة تطبيقات Azure Kubernetes حاليا فقط مقاييس مستوى البيانات.

تكوين مقاييس مستوى البيانات

خيارات تكوين مساحة العمل لمقاييس مستوى البيانات

عند تفعيل مجموعة مقاييس Prometheus لمجموعات أعضاء شبكة تطبيقات Azure Kubernetes، لديك الخيارات التالية لتكوين مساحة العمل:

  • استخدم مساحة عمل Azure Monitor موجودة.
  • احذف معرف الموارد في مساحة العمل واستخدم مساحة العمل الافتراضية التي تم إنشاؤها لمجموعة الموارد الخاصة بك.
  • أنشئ مساحة عمل جديدة ل Azure Monitor.

تمكين جمع مقاييس مستوى البيانات

  1. تفعيل مجموعة مقاييس Prometheus على مجموعة أعضاء شبكة تطبيقات Azure Kubernetes باستخدام az aks update الأمر مع --azure-monitor-workspace-resource-id تعيين المعلمة على معرف مساحة العمل الحالي لديك. إذا كان Azure Monitor Metrics مفعلا بالفعل في مجموعة الأعضاء، يمكنك الانتقال إلى الخطوة التالية.

    az aks update --enable-azure-monitor-metrics \
      --name $CLUSTER_NAME \
      --resource-group $AKS_RG \
      --azure-monitor-workspace-resource-id $WORKSPACE_ID
    
  2. أنشئ وطبق خريطة التكوين التالية في kube-system مساحة الأسماء باستخدام kubectl apply الأمر. تتيح خريطة التهيئة هذه جمع البيانات من Ztunnel وIstio CNI ونقطة الطريق وتطبيقك/أعباء عملك.

    kubectl apply -f - <<EOF
    kind: ConfigMap
    apiVersion: v1
    metadata:
      name: ama-metrics-settings-configmap
      namespace: kube-system
    data:
      schema-version: v1
      config-version: ver1
      prometheus-collector-settings: |-
        cluster_alias = ""
        https_config = true
      default-scrape-settings-enabled: |-
        ztunnel = true
        istio-cni = true
      pod-annotation-based-scraping: |-
        podannotationnamespaceregex = ".*"
      default-targets-metrics-keep-list: |-
        ztunnel = ""
        istio-cni = ""
        minimalingestionprofile = true
      default-targets-scrape-interval-settings: |-
        ztunnel = "30s"
        istio-cni = "30s"
        podannotations = "30s"
      debug-mode: |-
        enabled = false
    EOF
    
  3. أضف تعليقات توضيحية إلى كبسولات التطبيقات التي تريد جمعها.

    • prometheus.io/scrape: "true" يجب أن يشير إلى أنه يجب كشط الكبسولة.
    • prometheus.io/path يستخدم اختياريا للإشارة إلى المسار الذي تستضيف فيه المقاييس. إذا تم حذفها، يتحول افتراضيا إلى /metrics.
    • prometheus.io/port يستخدم اختياريا للإشارة إلى المنفذ الذي تستضاف فيه المقاييس. إذا تم حذفها، سيستخدم بروميثيوس المنافذ المعلنة للحاوية من مواصفات الكبسولة. بالنسبة للحاويات التي لا تحتوي على منافذ معلنة، ينشئ بروميثيوس هدفا خاليا من المنافذ (IP فقط)، مما يتطلب إعداد إعادة تسمية مناسب للعمل مع تعليقات المنافذ. يوصى بتحديد المنفذ بشكل صريح لضمان كشط موثوق.

    العينة التالية تعرف التعليقات التوضيحية لوحدة تستضيف مقاييس عند <pod IP>:15020/metrics

    prometheus.io/scrape: "true"
    prometheus.io/port: "15020"
    prometheus.io/path: "/metrics"
    

    قد يستغرق الأمر بضع دقائق حتى يتم تحميل هذا التكوين.

عرض مقاييس مستوى البيانات

  1. انتقل إلى مساحة عمل Azure Monitor الخاصة بك في بوابة Azure للاستعلام عن المقاييس باستخدام PromQL.

  2. قم بتوليد بعض الزيارات، ثم اختر الاستعلامات من المقاييس المعروضة لعرض المقاييس. على سبيل المثال، يمكنك تشغيل الاستعلام التالي لعرض إجمالي عدد الطلبات التي تم التعامل معها بواسطة نقطة الطريق:

    # ztunnel
    istio_xds_connection_terminations_total
    
    # waypoint
    istio_requests_total
    
    # istio-cni
    istio_cni_install_ready
    

    تظهر لقطة الشاشة التالية نتائج الاستعلامات العينية:

    لقطة شاشة لنتائج الاستعلامات لعرض إجمالي عدد الطلبات التي تم التعامل معها بواسطة نقطة الطريق.

قائمة المقاييس المكشوفة

المكون المقاييس المكشوفة
ZTunnel istio_build
istio_xds_connection_terminations_total
istio_xds_message_total
istio_xds_message_bytes_total
istio_tcp_connections_opened_total
istio_tcp_connections_closed_total
istio_tcp_received_bytes_total
istio_tcp_sent_bytes_total
istio_on_demand_dns
istio_dns_requests_total
istio_dns_upstream_requests
istio_dns_upstream_failures
istio_dns_upstream_request_duration_seconds
workload_manager_active_proxy_count
workload_manager_pending_proxy_count
workload_manager_proxies_started_total
workload_manager_proxies_stopped_total
إستيو سي إن آي istio_cni_install_ready
istio_cni_installs_total
nodeagent_reconcile_events_total
ztunnel_connected
نقطة الطريق istio_build
istio_request_bytes_bucket
istio_request_bytes_count
istio_request_bytes_sum
istio_request_duration_milliseconds_bucket
istio_request_duration_milliseconds_count
istio_request_duration_milliseconds_sum
istio_requests_total
istio_response_bytes_bucket
istio_response_bytes_count
istio_response_bytes_sum

الوصول إلى مقاييس الوصول مباشرة من بروكسيات نقاط الطريق

بعيدا عن مقاييس الطلب/الاستجابة في Istio، تصدر بروكسيات نقاط الطريق أيضا مقاييس Envoy.

  • للعثور على قائمة كاملة بالمقاييس التي تصدرها نقطة الطريق، يمكنك التحويل إلى وكيل نقطة طريق في مساحة الاسم الخاصة بك وسرد المقاييس باستخدام الأوامر التالية:

    # Port-forward to waypoint proxy
    kubectl port-forward -n <namespace> deployment/waypoint 15020:15020 &
    
    # List metrics exposed by waypoint
    curl http://localhost:15020/stats/prometheus | grep -v '^#' | grep -v '^$' | awk -F'{' '{print $1}' | sort -u
    

Visualize metrics with Grafana in Azure portal

  1. استورد لوحات تحكم مجتمع Istio.

  2. قم بتوليد حركة مرور لمجموعة الأعضاء الخاصة بك، ثم انتقل إلى مساحة عمل Azure Monitor الخاصة بك في بوابة Azure.

  3. اختر لوحة التحكم المراقبة>باستخدام Grafana.

    تظهر لقطات الشاشة التالية أمثلة على استيراد لوحة تحكم Istio Ztunnel:

    لقطة شاشة تظهر خيار لوحة التحكم الخاصة بالاستيراد في مساحة عمل Azure Monitor في بوابة Azure.

    لقطة شاشة تظهر خيارات المراجعة لاستيراد لوحة تحكم Ztunnel في بوابة Azure.

    لقطة شاشة تظهر Ztunnel dashboard visualizations in a Grafana Dashboard portal in Azure.

إذا كنت تريد تكوين Azure Managed Grafana بدلا من لوحات المعلومات باستخدام Grafana، راجع إنشاء مساحة عمل Azure Managed Grafana باستخدام Azure CLI.

لمزيد من المعلومات حول قابلية الملاحظة والمراقبة لشبكة تطبيقات Azure Kubernetes، راجع المقالات التالية: