مراقبة مقاييس مستوى التحكم في خدمة Azure Kubernetes (AKS) (معاينة)
تعد صحة وحدة التحكم في خدمة Azure Kubernetes (AKS) أمرا بالغ الأهمية لأداء نظام المجموعة وموثوقيتها. توفر مقاييس وحدة التحكم (معاينة) رؤية أكبر لتوفرها وأدائها، ما يسمح لك بزيادة إمكانية المراقبة الشاملة والحفاظ على التميز التشغيلي. هذه المقاييس متوافقة تماما مع Prometheus وGrafana، ويمكن تخصيصها لتخزين ما تعتبره ضروريا فقط. باستخدام هذه المقاييس الجديدة، يمكنك جمع جميع المقاييس من خادم API و ETCD و Scheduler و Autoscaler و مدير وحدة التحكم.
تساعدك هذه المقالة على فهم هذه الميزة الجديدة وكيفية تنفيذها وكيفية مراقبة بيانات تتبع الاستخدام التي تم جمعها.
المتطلبات الأساسية والقيود
- يدعم فقط خدمة Azure Monitor المدارة ل Prometheus.
- الارتباط الخاص غير مدعوم.
- يمكن تخصيص ama-metrics-settings-config-map الافتراضي فقط. جميع التخصيصات الأخرى غير مدعومة.
- يجب أن يستخدم نظام المجموعة مصادقة الهوية المدارة.
تثبيت ملحق Azure CLI أو تحديثه aks-preview
هام
تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
aks-preview
تثبيت ملحق Azure CLI باستخدام az extension add
الأمر .
az extension add --name aks-preview
إذا كنت بحاجة إلى تحديث إصدار الملحق، يمكنك القيام بذلك باستخدام az extension update
الأمر .
az extension update --name aks-preview
تسجيل علامة ميزة "AzureMonitorMetricsControlPlanePreview"
قم بتسجيلAzureMonitorMetricsControlPlanePreview
ميزة الإشارة باستخدامتسجيل ميزة az كما هو موضح في المثال التالي:
az feature register --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
يستغرق الأمر بضع دقائق حتى تظهر الحالة مُسجل. تحقق من حالة التسجيل باستخدام الأمر az feature show :
az feature show --namespace "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
عندما تعكس الحالة Registered، قم بتحديث تسجيل موفر موارد Microsoft.ContainerService باستخدام الأمر az provider register:
az provider register --namespace "Microsoft.ContainerService"
تمكين مقاييس مستوى التحكم على نظام مجموعة AKS
يمكنك تمكين مقاييس مستوى التحكم باستخدام خدمة Azure Monitor المدارة للوظيفة الإضافية Prometheus أثناء إنشاء نظام المجموعة أو لنظام مجموعة موجود. لتجميع مقاييس Prometheus من مجموعة Kubernetes الخاصة بك، راجع تمكين Prometheus وGrafana لمجموعات Kubernetes واتبع الخطوات الموجودة في علامة التبويب CLI لمجموعة AKS.
إذا كان مجموعتك تحتوي بالفعل على ملحق Prometheus المنشور، فيمكنك ببساطة تشغيل az aks update
لضمان تحديثات نظام المجموعة لبدء جمع مقاييس وحدة التحكم.
az aks update --name <cluster-name> --resource-group <resource-group>
إشعار
على عكس المقاييس التي تم جمعها من عقد نظام المجموعة، يتم جمع مقاييس مستوى التحكم بواسطة مكون ليس جزءا من الوظيفة الإضافية ama-metrics . يضمن تمكين علامة الميزة AzureMonitorMetricsControlPlanePreview
والوظيفة الإضافية prometheus المدارة جمع مقاييس مستوى التحكم. بعد تمكين جمع المقاييس، قد يستغرق ظهور البيانات في مساحة العمل عدة دقائق.
الاستعلام عن مقاييس مستوى التحكم
يتم تخزين مقاييس وحدة التحكم في مساحة عمل Azure monitor في منطقة نظام المجموعة. يمكن الاستعلام عن ذلك مباشرة من مساحة العمل أو من خلال مثيل Azure Managed Grafana المتصل بمساحة العمل. للعثور على مساحة عمل Azure Monitor المقترنة بالمجموعة، من الجزء الأيسر من مجموعة AKS المحددة، انتقل إلى قسم المراقبة وحدد Insights. في صفحة Container Insights للمجموعة، حدد Monitor Settings.
إذا كنت تستخدم Azure Managed Grafana لتصور البيانات، يمكنك استيراد لوحات المعلومات التالية. يوفر AKS قوالب لوحة المعلومات لمساعدتك في عرض بيانات تتبع الاستخدام لمستوى التحكم وتحليلها في الوقت الفعلي.
تخصيص مقاييس مستوى التحكم
بشكل افتراضي، تتضمن AKs مجموعة مكونة مسبقا من المقاييس لتجميع كل مكون وتخزينه. API server
ويتم تمكين و etcd
بشكل افتراضي. يمكن تخصيص هذه القائمة من خلال ama-settings-configmap. تتوفر قائمة minimal-ingestion
مقاييس ملف التعريف هنا.
يسرد التالي الأهداف الافتراضية:
controlplane-apiserver = true
controlplane-cluster-autoscaler = false
controlplane-kube-scheduler = false
controlplane-kube-controller-manager = false
controlplane-etcd = true
الخيارات المختلفة مشابهة ل Azure Managed Prometheus المدرجة هنا.
يجب تطبيق كافة ConfigMaps على kube-system
مساحة الاسم لأي مجموعة.
استيعاب الحد الأدنى فقط من المقاييس للأهداف الافتراضية
هذا هو السلوك الافتراضي مع الإعداد default-targets-metrics-keep-list.minimalIngestionProfile="true"
. يتم استيعاب المقاييس المدرجة لاحقا في هذه المقالة فقط لكل هدف من الأهداف الافتراضية، والتي في هذه الحالة هي controlplane-apiserver
و controlplane-etcd
.
استيعاب جميع المقاييس من جميع الأهداف
قم بتنفيذ الخطوات التالية لجمع جميع المقاييس من جميع الأهداف على نظام المجموعة.
قم بتنزيل ملف ConfigMap ama-metrics-settings-configmap.yaml وأعد تسميته إلى
configmap-controlplane.yaml
.تعيين
minimalingestionprofile = false
وتحقق من الأهداف ضمنdefault-scrape-settings-enabled
التي تريد استخراجها، يتم تعيين إلىtrue
. الأهداف الوحيدة التي يمكنك تحديدها هي:controlplane-apiserver
وcontrolplane-cluster-autoscaler
controlplane-kube-scheduler
controlplane-kube-controller-manager
.controlplane-etcd
تطبيق ConfigMap عن طريق تشغيل الأمر kubectl apply .
kubectl apply -f configmap-controlplane.yaml
بعد تطبيق التكوين، يستغرق الأمر عدة دقائق قبل أن تظهر المقاييس من الأهداف المحددة التي تم استخراجها من مستوى التحكم في مساحة عمل Azure Monitor.
استيعاب بعض المقاييس الأخرى بالإضافة إلى الحد الأدنى من المقاييس
Minimal ingestion profile
هو إعداد يساعد على تقليل حجم استيعاب المقاييس، حيث يتم جمع المقاييس المستخدمة فقط من قبل لوحات المعلومات الافتراضية وقواعد التسجيل الافتراضية والتنبيهات الافتراضية. نفذ الخطوات التالية لتخصيص هذا السلوك.
قم بتنزيل ملف ConfigMap ama-metrics-settings-configmap وأعد تسميته إلى
configmap-controlplane.yaml
.تعيين
minimalingestionprofile = true
وتحقق من تعيين الأهداف ضمنdefault-scrape-settings-enabled
التي تريد استخراجها إلىtrue
. الأهداف الوحيدة التي يمكنك تحديدها هي:controlplane-apiserver
وcontrolplane-cluster-autoscaler
controlplane-kube-scheduler
controlplane-kube-controller-manager
.controlplane-etcd
default-targets-metrics-keep-list
ضمن ، حدد قائمة المقاييس للأهدافtrue
. على سبيل المثال،controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
تطبيق ConfigMap عن طريق تشغيل الأمر kubectl apply .
kubectl apply -f configmap-controlplane.yaml
بعد تطبيق التكوين، يستغرق الأمر عدة دقائق قبل أن تظهر المقاييس من الأهداف المحددة التي تم استخراجها من مستوى التحكم في مساحة عمل Azure Monitor.
استيعاب مقاييس محددة فقط من بعض الأهداف
قم بتنزيل ملف ConfigMap ama-metrics-settings-configmap وأعد تسميته إلى
configmap-controlplane.yaml
.تعيين
minimalingestionprofile = false
وتحقق من تعيين الأهداف ضمنdefault-scrape-settings-enabled
التي تريد استخراجها إلىtrue
. الأهداف الوحيدة التي يمكنك تحديدها هنا هيcontrolplane-apiserver
وcontrolplane-kube-controller-manager
controlplane-cluster-autoscaler
controlplane-kube-scheduler
و.controlplane-etcd
default-targets-metrics-keep-list
ضمن ، حدد قائمة المقاييس للأهدافtrue
. على سبيل المثال،controlplane-apiserver= "apiserver_admission_webhook_admission_duration_seconds| apiserver_longrunning_requests"
تطبيق ConfigMap عن طريق تشغيل الأمر kubectl apply .
kubectl apply -f configmap-controlplane.yaml
بعد تطبيق التكوين، يستغرق الأمر عدة دقائق قبل أن تظهر المقاييس من الأهداف المحددة التي تم استخراجها من مستوى التحكم في مساحة عمل Azure Monitor.
استكشاف مشكلات مقاييس وحدة التحكم وإصلاحها
تأكد من التحقق من تمكين علامة AzureMonitorMetricsControlPlanePreview
الميزة وتشغيل ama-metrics
القرون.
إشعار
لن تترجم أساليب استكشاف الأخطاء وإصلاحها لخدمة Azure المدارة Prometheus مباشرة هنا لأن المكونات التي تقوم باستخراج مستوى التحكم غير موجودة في الوظيفة الإضافية prometheus المدارة.
تنسيق ConfigMap أو الأخطاء
تأكد من التحقق مرة متعددة من تنسيق ConfigMap، وإذا تم ملء الحقول بالقيم المقصودة بشكل صحيح. على وجه التحديد default-targets-metrics-keep-list
، minimal-ingestion-profile
و، و default-scrape-settings-enabled
.
عزل وحدة التحكم عن مشكلة مستوى البيانات
ابدأ بتعيين بعض المقاييس المتعلقة بالعقدة إلى true
وتحقق من إعادة توجيه المقاييس إلى مساحة العمل. يساعد هذا في تحديد ما إذا كانت المشكلة خاصة بكشط مقاييس وحدة التحكم.
الأحداث التي تم استيعابها
بمجرد تطبيق التغييرات، يمكنك فتح مستكشف المقاييس من صفحة نظرة عامة على Azure Monitor، أو من قسم المراقبة نظام المجموعة المحدد. في مدخل Microsoft Azure، حدد Metrics. تحقق من وجود زيادة أو نقصان في عدد الأحداث التي يتم تناولها في الدقيقة. يجب أن يساعدك في تحديد ما إذا كان المقياس المحدد مفقودا أو أن جميع المقاييس مفقودة.
المقياس المحدد غير مكشوف
كانت هناك حالات تم فيها توثيق المقاييس، ولكن لم يتم كشفها من الهدف ولم تتم إعادة توجيهها إلى مساحة عمل Azure Monitor. في هذه الحالة، من الضروري التحقق من إعادة توجيه المقاييس الأخرى إلى مساحة العمل.
لا يوجد وصول إلى مساحة عمل Azure Monitor
عند تمكين الوظيفة الإضافية، ربما تكون قد حددت مساحة عمل موجودة ليس لديك حق الوصول إليها. في هذه الحالة، قد يبدو وكأنه لا يتم جمع المقاييس وإعادة توجيهها. تأكد من إنشاء مساحة عمل جديدة أثناء تمكين الوظيفة الإضافية أو أثناء إنشاء نظام المجموعة.
تعطيل مقاييس مستوى التحكم على نظام مجموعة AKS
يمكنك تعطيل مقاييس وحدة التحكم في أي وقت، إما عن طريق تعطيل علامة الميزة، أو تعطيل Prometheus المدار، أو عن طريق حذف نظام مجموعة AKS.
تم تمكين علامة المعاينة بعد إعداد Prometheus المدار
إذا تم تمكين علامة المعاينة (AzureMonitorMetricsControlPlanePreview
) على مجموعة Prometheus مدارة موجودة، فسيتطلب فرض تحديث لنظام المجموعة لإصدار مقاييس وحدة التحكم
يمكنك تشغيل تحديث az aks لضمان تحديثات نظام المجموعة لبدء جمع مقاييس مستوى التحكم.
az aks update -n <cluster-name> -g <resource-group>
إشعار
لا يزيل هذا الإجراء أي بيانات موجودة مخزنة في مساحة عمل Azure Monitor.
قم بتشغيل الأمر التالي لإزالة الوظيفة الإضافية للمقاييس التي تخلص مقاييس Prometheus.
az aks update --disable-azure-monitor-metrics -n <cluster-name> -g <cluster-resource-group>
قم بتشغيل الأمر التالي لتعطيل استخراج مقاييس مستوى التحكم على نظام مجموعة AKS عن طريق إلغاء تسجيل علامة الميزة AzureMonitorMetricsControlPlanePreview
باستخدام الأمر az feature unregister .
az feature unregister "Microsoft.ContainerService" --name "AzureMonitorMetricsControlPlanePreview"
الأسئلة المتداولة
هل يمكن استخراج هذه المقاييس باستخدام prometheus المستضاف ذاتيا؟
- لا يمكن استخراج مقاييس وحدة التحكم حاليا باستخدام prometheus المستضاف ذاتيا. سيكون prometheus المستضاف ذاتيا قادرا على استخراج المثيل الفردي اعتمادا على موازن التحميل. هذه المقاييس غير آمنة حيث غالبا ما تكون هناك نسخ متماثلة متعددة من مقاييس مستوى التحكم التي ستكون مرئية فقط من خلال Prometheus المدار
لماذا لا يتوفر عامل المستخدم من خلال مقاييس مستوى التحكم؟
- لا تحتوي مقاييس وحدة التحكم في Kubernetes على عامل المستخدم. يتوفر عامل المستخدم فقط من خلال سجلات وحدة التحكم المتوفرة من خلال إعدادات التشخيص
الخطوات التالية
بعد تقييم ميزة المعاينة هذه، شارك ملاحظاتك. نحن مهتمون بسماع رأيك.
- تعرف على المزيد حول قائمة المقاييس الافتراضية لمستوى تحكم AKS.
Azure Kubernetes Service
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ