تمكين المراقبة لمجموعات Kubernetes
توضح هذه المقالة كيفية تمكين المراقبة الكاملة لمجموعات Kubernetes باستخدام ميزات Azure Monitor التالية:
- Prometheus المدار لمجموعة المقاييس
- نتائج تحليلات الحاوية لمجموعة السجلات
- Grafana المدارة للتصور.
باستخدام مدخل Microsoft Azure، يمكنك تمكين جميع الميزات في نفس الوقت. يمكنك أيضا تمكينها بشكل فردي باستخدام Azure CLI أو قالب Azure Resource Manager أو Terraform أو نهج Azure. يتم وصف كل من هذه الأساليب في هذه المقالة.
هام
تنشئ مجموعات Kubernetes الكثير من بيانات السجل، والتي يمكن أن تؤدي إلى تكاليف كبيرة إذا لم تكن انتقائيا بشأن السجلات التي تجمعها. قبل تمكين المراقبة لنظام المجموعة، راجع المقالات التالية للتأكد من أن بيئتك محسنة للتكلفة وأنك تحد من مجموعة السجل الخاصة بك على البيانات التي تحتاجها فقط:
- تكوين جمع البيانات وتحسين التكلفة في نتائج تحليلات الحاوية باستخدام قاعدة جمع البيانات
تفاصيل حول تخصيص مجموعة السجلات بمجرد تمكين المراقبة، بما في ذلك استخدام تكوينات تحسين التكلفة المعينة مسبقا. - أفضل الممارسات لمراقبة Kubernetes باستخدام Azure Monitor
أفضل الممارسات لمراقبة مجموعات Kubernetes التي تنظمها الركائز الخمس لإطار عمل Azure Well-Architected، بما في ذلك تحسين التكلفة. - تحسين التكلفة في Azure Monitor
أفضل الممارسات لتكوين جميع ميزات Azure Monitor لتحسين التكاليف والحد من كمية البيانات التي تجمعها.
المجموعات المدعومة
توفر هذه المقالة إرشادات الإعداد للأنوع التالية من المجموعات. يتم ملاحظة أي اختلافات في العملية لكل نوع في الأقسام ذات الصلة.
المتطلبات الأساسية
الأذونات
- تحتاج على الأقل إلى وصول المساهم إلى نظام المجموعة للإلحاق.
- تحتاج إلى قارئ المراقبة أو مساهم المراقبة لعرض البيانات بعد تمكين المراقبة.
المتطلبات الأساسية ل Prometheus المدارة
- يجب أن يستخدم نظام المجموعة مصادقة الهوية المدارة.
- يجب تسجيل موفري الموارد التاليين في اشتراك نظام مجموعة AKS ومساحة عمل Azure Monitor:
- Microsoft.ContainerService
- Microsoft.Insights
- Microsoft.AlertsManagement
- Microsoft.Monitor
- يجب تسجيل موفري الموارد التاليين في اشتراك مساحة عمل Grafana:
- Microsoft.Dashboard
متطلبات مجموعات Kubernetes الممكنة بواسطة Arc
- المتطلبات الأساسية لملحقات نظام مجموعة Kubernetes التي تدعم Azure Arc.
- تحقق من متطلبات جدار الحماية بالإضافة إلى متطلبات شبكة Kubernetes الممكنة في Azure Arc.
- إذا قمت مسبقا بتثبيت المراقبة ل AKS، فتأكد من تعطيل المراقبة قبل المتابعة لتجنب المشكلات أثناء تثبيت الملحق.
- إذا قمت مسبقا بتثبيت المراقبة على نظام مجموعة باستخدام برنامج نصي بدون ملحقات نظام المجموعة، فاتبع الإرشادات الموجودة في تعطيل مراقبة مجموعة Kubernetes لحذف مخطط Helm هذا.
إشعار
لا يدعم ملحق Kubernetes الممكن بواسطة Prometheus Arc المدار التكوينات التالية:
- توزيعات Red Hat Openshift، بما في ذلك Azure Red Hat OpenShift (ARO)
- عقد Windows
مساحات العمل
يصف الجدول التالي مساحات العمل المطلوبة لدعم Managed Prometheus و Container insights. يمكنك إنشاء كل مساحة عمل كجزء من عملية الإعداد أو استخدام مساحة عمل موجودة. راجع تصميم بنية مساحة عمل Log Analytics للحصول على إرشادات حول عدد مساحات العمل التي يجب إنشاؤها ومكان وضعها.
ميزة | مساحة عمل | ملاحظات |
---|---|---|
Prometheus المدار | مساحة عمل Azure Monitor | Contributor الإذن كاف لتمكين الملحق لإرسال البيانات إلى مساحة عمل Azure Monitor. ستحتاج إلى Owner إذن المستوى لربط مساحة عمل Azure Monitor لعرض المقاييس في Azure Managed Grafana. هذا مطلوب لأن المستخدم الذي ينفذ خطوة الإعداد، يحتاج إلى أن يكون قادرا على منح دور Azure Managed Grafana System Identity Monitoring Reader على مساحة عمل Azure Monitor للاستعلام عن المقاييس. |
نتائج تحليلات الحاوية | مساحة عمل Log Analytics | يمكنك إرفاق مجموعة AKS بمساحة عمل Log Analytics في اشتراك Azure مختلف في نفس مستأجر Microsoft Entra، ولكن يجب عليك استخدام Azure CLI أو قالب Azure Resource Manager. لا يمكنك حاليا تنفيذ هذا التكوين باستخدام مدخل Microsoft Azure. إذا كنت تقوم بتوصيل مجموعة AKS موجودة بمساحة عمل Log Analytics في اشتراك آخر، يجب تسجيل موفر موارد Microsoft.ContainerService في الاشتراك مع مساحة عمل Log Analytics. لمزيد من المعلومات، راجع تسجيل موفر الموارد. للحصول على قائمة بأزواج التخطيط المدعومة لاستخدامها لمساحة العمل الافتراضية، راجع مخططات المنطقة المدعومة من قبل رؤى الحاوية. |
Managed Grafana | مساحة عمل Azure Managed Grafana | اربط مساحة عمل Grafana بمساحة عمل Azure Monitor لجعل مقاييس Prometheus التي تم جمعها من مجموعتك متاحة للوحات معلومات Grafana. |
تمكين Prometheus وGrafana
استخدم إحدى الطرق التالية لتمكين استخراج مقاييس Prometheus من مجموعتك وتمكين Managed Grafana من تصور المقاييس. راجع ربط مساحة عمل Grafana للحصول على خيارات لتوصيل مساحة عمل Azure Monitor ومساحة عمل Azure Managed Grafana.
إشعار
إذا كان لديك مورد Azure Monitor واحد مرتبط بخاصة، فلن يعمل تمكين Prometheus إذا كان نظام مجموعة AKS ومساحة عمل Azure Monitor في مناطق مختلفة. التكوين المطلوب للوظيفة الإضافية Prometheus غير متوفر عبر المنطقة بسبب قيد الارتباط الخاص. لحل هذه المشكلة، قم بإنشاء DCE جديد في موقع نظام مجموعة AKS وDCRA جديد (اقتران) في نفس منطقة نظام مجموعة AKS. إقران DCE الجديد بمجموعة AKS وتسمية الاقتران الجديد (DCRA) ك configurationAccessEndpoint. للحصول على إرشادات كاملة حول كيفية تكوين DCEs المقترنة بمساحة عمل Azure Monitor لاستخدام ارتباط خاص لاستيعاب البيانات، راجع تمكين الارتباط الخاص لمراقبة Kubernetes في Azure Monitor.
إذا لم تحدد مساحة عمل Azure Monitor موجودة في الأوامر التالية، استخدام مساحة العمل الافتراضية لمجموعة الموارد. إذا لم تكن مساحة العمل الافتراضية موجودة بالفعل في منطقة نظام المجموعة، إنشاء مساحة مع اسم بالتنسيق DefaultAzureMonitorWorkspace-<mapped_region>
في مجموعة موارد بالاسم DefaultRG-<cluster_region>
.
المتطلبات الأساسية
- مطلوب إصدار Az CLI من 2.49.0 أو أعلى.
- يجب إلغاء تثبيت ملحق aks-preview من مجموعات AKS باستخدام الأمر
az extension remove --name aks-preview
. - يجب تثبيت ملحق ملحق k8s باستخدام الأمر
az extension add --name k8s-extension
. - مطلوب إصدار ملحق k8s 1.4.1 أو أعلى.
كتلة خدمة Azure Kubernetes
-enable-azure-monitor-metrics
استخدم الخيار az aks create
أو az aks update
(اعتمادا على ما إذا كنت تقوم بإنشاء نظام مجموعة جديد أو تحديث نظام مجموعة موجود) لتثبيت الوظيفة الإضافية للمقاييس التي تتخلص من مقاييس Prometheus.
نماذج الأوامر
### Use default Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group>
### Use existing Azure Monitor workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --azure-monitor-workspace-resource-id <azure-monitor-workspace-name-resource-id> --grafana-resource-id <grafana-workspace-name-resource-id>
### Use optional parameters
az aks create/update --enable-azure-monitor-metrics --name <cluster-name> --resource-group <cluster-resource-group> --ksm-metric-labels-allow-list "namespaces=[k8s-label-1,k8s-label-n]" --ksm-metric-annotations-allow-list "pods=[k8s-annotation-1,k8s-annotation-n]"
نظام مجموعة ممكن بواسطة Arc
### Use default Azure Monitor workspace
az k8s-extension create --name azuremonitor-metrics --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers.Metrics
## Use existing Azure Monitor workspace
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=<workspace-name-resource-id>
### Use an existing Azure Monitor workspace and link with an existing Grafana workspace
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=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id>
### Use optional parameters
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=<workspace-name-resource-id> grafana-resource-id=<grafana-workspace-name-resource-id> AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList="pods=[k8s-annotation-1,k8s-annotation-n]" AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist "namespaces=[k8s-label-1,k8s-label-n]"
يمكن لأي من الأوامر استخدام المعلمات الاختيارية التالية:
- AKS:
--ksm-metric-annotations-allow-list
قوس:--AzureMonitorMetrics.KubeStateMetrics.MetricAnnotationsAllowList
قائمة مفصولة بفواصل لمفاتيح التعليقات التوضيحية ل Kubernetes المستخدمة في مقياس kube_resource_annotations للمورد. على سبيل المثال، kube_pod_annotations هو مقياس التعليقات التوضيحية لمورد pods. بشكل افتراضي، يحتوي هذا المقياس على تسميات الاسم ومساحة الاسم فقط. لتضمين المزيد من التعليقات التوضيحية، قم بتوفير قائمة بأسماء الموارد في نموذج الجمع ومفاتيح التعليق التوضيحي Kubernetes التي تريد السماح بها. يمكن توفير واحد*
لكل مورد للسماح بأي تعليقات توضيحية، ولكن هذا له آثار خطيرة على الأداء. على سبيل المثال،pods=[kubernetes.io/team,...],namespaces=[kubernetes.io/team],...
- AKS:
--ksm-metric-labels-allow-list
قوس:--AzureMonitorMetrics.KubeStateMetrics.MetricLabelsAllowlist
قائمة مفصولة بفواصل لمزيد من مفاتيح تسمية Kubernetes المستخدمة في مقياس kube_resource_labels kube_resource_labels للمورد. على سبيل المثال، kube_pod_labels هو مقياس التسميات لمورد pods. بشكل افتراضي، يحتوي هذا المقياس على تسميات الاسم ومساحة الاسم فقط. لتضمين المزيد من التسميات، قم بتوفير قائمة بأسماء الموارد في شكلها الجمع ومفاتيح تسميات Kubernetes التي تريد السماح بها يمكن توفير واحد*
لكل مورد للسماح بأي تسميات، ولكن I هذا له آثار شديدة على الأداء. على سبيل المثال،pods=[app],namespaces=[k8s-label-1,k8s-label-n,...],...
- AKS:
--enable-windows-recording-rules
يتيح لك تمكين مجموعات قواعد التسجيل المطلوبة للأداء السليم للوحات معلومات Windows.
تمكين رؤى الحاوية
استخدم إحدى الطرق التالية لتمكين نتائج تحليلات الحاوية على نظام المجموعة. بمجرد اكتمال ذلك، راجع تكوين جمع بيانات العامل لرؤى الحاوية لتخصيص التكوين الخاص بك للتأكد من أنك لا تجمع بيانات أكثر مما تحتاج إليه.
استخدم أحد الأوامر التالية لتمكين مراقبة مجموعات AKS وArc الممكنة. إذا لم تحدد مساحة عمل Log Analytics موجودة، استخدام مساحة العمل الافتراضية لمجموعة الموارد. إذا لم تكن مساحة العمل الافتراضية موجودة بالفعل في منطقة نظام المجموعة، إنشاء مساحة عمل باسم بالتنسيق DefaultWorkspace-<GUID>-<Region>
.
المتطلبات الأساسية
- الإصدار 2.43.0 من Azure CLI أو أعلى
- مصادقة الهوية المدارة افتراضية في إصدار CLI 2.49.0 أو أعلى.
- إصدار ملحق Azure k8s 1.3.7 أو أعلى
- مصادقة الهوية المدارة هي الافتراضي في k8s-extension الإصدار 1.43.0 أو أعلى.
- مصادقة الهوية المدارة غير مدعومة لمجموعات Kubernetes الممكنة بواسطة Arc مع ARO (Azure Red Hat Openshift) أو عقد Windows. استخدم المصادقة القديمة.
- بالنسبة لإصدار CLI 2.54.0 أو أعلى، سيتم تكوين مخطط التسجيل إلى ContainerLogV2 باستخدام ConfigMap.
إشعار
يمكنك تمكين مخطط ContainerLogV2 لنظام مجموعة إما باستخدام قاعدة تجميع البيانات (DCR) الخاصة بالمجموعة أو ConfigMap. إذا تم تمكين كلا الإعدادين، فإن ConfigMap سيكون له الأسبقية. سيتم استيعاب سجلات Stdout وstderr فقط في جدول ContainerLog عند تعيين كل من DCR وConfigMap بشكل صريح على إيقاف التشغيل.
كتلة خدمة Azure Kubernetes
### Use default Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name>
### Use existing Log Analytics workspace
az aks enable-addons --addon monitoring --name <cluster-name> --resource-group <cluster-resource-group-name> --workspace-resource-id <workspace-resource-id>
مثال
az aks enable-addons --addon monitoring --name "my-cluster" --resource-group "my-resource-group" --workspace-resource-id "/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
نظام مجموعة ممكن بواسطة Arc
### Use default Log Analytics workspace
az k8s-extension create --name azuremonitor-containers --cluster-name <cluster-name> --resource-group <resource-group> --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers
### Use existing Log Analytics workspace
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=<workspace-resource-id>
### Use managed identity authentication (default as k8s-extension version 1.43.0)
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 amalogs.useAADAuth=true
### Use advanced configuration settings
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 amalogs.resources.daemonset.limits.cpu=150m amalogs.resources.daemonset.limits.memory=600Mi amalogs.resources.deployment.limits.cpu=1 amalogs.resources.deployment.limits.memory=750Mi
### With custom mount path for container stdout & stderr logs
### Custom mount path not required for Azure Stack Edge version > 2318. Custom mount path must be /home/data/docker for Azure Stack Edge cluster with version <= 2318
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 amalogs.logsettings.custommountpath=<customMountPath>
راجع قسم طلبات الموارد والحدود في مخطط Helm لإعدادات التكوين المتوفرة.
مثال
az k8s-extension create --name azuremonitor-containers --cluster-name "my-cluster" --resource-group "my-resource-group" --cluster-type connectedClusters --extension-type Microsoft.AzureMonitor.Containers --configuration-settings logAnalyticsWorkspaceResourceID="/subscriptions/my-subscription/resourceGroups/my-resource-group/providers/Microsoft.OperationalInsights/workspaces/my-workspace"
نظام مجموعة ممكن بواسطة Arc مع وكيل للأمام
إذا تم تكوين نظام المجموعة باستخدام وكيل إعادة توجيه، تطبيق إعدادات الوكيل تلقائيا على الملحق. في حالة نظام مجموعة مع AMPLS + وكيل، يجب تجاهل تكوين الوكيل. إلحاق الملحق بإعداد التكوين amalogs.ignoreExtensionProxySettings=true
.
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 amalogs.ignoreExtensionProxySettings=true
نظام مجموعة ممكن بواسطة Arc مع عقد ARO أو OpenShift أو Windows
مصادقة الهوية المدارة غير مدعومة لمجموعات Kubernetes التي تدعم Arc مع عقد ARO (Azure Red Hat OpenShift) أو OpenShift أو Windows. استخدم المصادقة القديمة amalogs.useAADAuth=false
عن طريق تحديد كما في المثال التالي.
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 amalogs.useAADAuth=false
حذف مثيل الملحق
يحذف الأمر التالي نسخة الامتداد فقط؛ لكنه لا يحذف مساحة عمل Log Analytics. تترك البيانات الموجودة في مورد Log Analytics سليمة.
az k8s-extension delete --name azuremonitor-containers --cluster-type connectedClusters --cluster-name <cluster-name> --resource-group <resource-group>
تمكين المراقبة الكاملة باستخدام مدخل Microsoft Azure
باستخدام مدخل Microsoft Azure، يمكنك تمكين كل من Managed Prometheus و Container insights في نفس الوقت.
إشعار
إذا كنت ترغب في تمكين Managed Prometheus بدون نتائج تحليلات الحاوية، فبادر بتمكينه من مساحة عمل Azure Monitor كما هو موضح أدناه.
نظام مجموعة AKS جديد (Prometheus و Container insights)
عند إنشاء مجموعة AKS جديدة في مدخل Microsoft Azure، يمكنك تمكين Prometheus و Container insights وGrafana من علامة التبويب Integrations . في قسم Azure Monitor، حدد إما التكوين الافتراضي أو التكوين المخصص إذا كنت تريد تحديد مساحات العمل التي يجب استخدامها. يمكنك إجراء تكوين إضافي بمجرد إنشاء نظام المجموعة.
نظام المجموعة الحالي (Prometheus و Container insights)
يتيح هذا الخيار نتائج تحليلات الحاوية واختياريا Prometheus وGrafana على مجموعة AKS موجودة.
حدد إما Insights من قائمة نظام المجموعة أو حدد Containers من قائمة Monitor، وعلامة التبويب Unmonitored clusters، وانقر فوق Enable بجوار نظام مجموعة.
- إذا لم يتم تمكين نتائج تحليلات الحاوية للمجموعة، تقديم شاشة تحدد أي من الميزات التي تم تمكينها. انقر فوق تكوين المراقبة.
- إذا تم تمكين نتائج تحليلات الحاوية بالفعل على نظام المجموعة، فحدد الزر إعدادات المراقبة لتعديل التكوين.
سيتم تمكين نتائج تحليلات الحاوية . حدد خانات الاختيار لتمكين مقاييس Prometheus وتمكين Grafana إذا كنت تريد أيضا تمكينها لنظام المجموعة. إذا كان لديك مساحة عمل Azure Monitor ومساحة عمل Grafana، تحديدهما لك.
انقر فوق إعدادات متقدمة لتحديد مساحات عمل بديلة أو إنشاء مساحات عمل جديدة. يسمح لك إعداد الإعدادات المسبقة للتكلفة بتعديل تفاصيل المجموعة الافتراضية لتقليل تكاليف المراقبة. راجع تمكين إعدادات تحسين التكلفة في نتائج تحليلات الحاوية للحصول على التفاصيل.
انقر فوق تكوين لحفظ التكوين.
نظام المجموعة الموجود (Prometheus فقط)
يتيح هذا الخيار مقاييس Prometheus على نظام مجموعة دون تمكين نتائج تحليلات الحاوية.
افتح قائمة مساحات عمل Azure Monitor في مدخل Microsoft Azure وحدد مساحة العمل الخاصة بك.
حدد Monitored clusters في قسم Managed Prometheus لعرض قائمة بمجموعات AKS.
حدد تكوين بجوار المجموعة التي تريد تمكينها.
نظام المجموعة الموجود (إضافة Prometheus)
- حدد Containers من قائمة Monitor، وعلامة التبويب Monitored clusters، وانقر فوق Configure بجوار نظام مجموعة في العمود Managed Prometheus.
تمكين مجموعة مقاييس Windows (معاينة)
إشعار
لا يوجد حد لوحدة المعالجة المركزية/الذاكرة في windows-exporter-daemonset.yaml لذلك قد يزيد من توفير عقد Windows
لمزيد من التفاصيل، راجع حجز الموارد
أثناء توزيع أحمال العمل، قم بتعيين ذاكرة الموارد وحدود وحدة المعالجة المركزية على الحاويات. هذا يطرح أيضا من NodeAllocatable ويساعد المجدول على مستوى المجموعة في تحديد القرون التي سيتم وضعها على العقد. قد تؤدي جدولة الحجيرات بدون حدود إلى الإفراط في توفير عقد Windows وفي الحالات القصوى يمكن أن تتسبب في أن تصبح العقد غير صحية.
اعتبارا من الإصدار 6.4.0-main-02-22-2023-3ee44b9e من حاوية المكون الإضافي Managed Prometheus (prometheus_collector)، تم تمكين مجموعة مقاييس Windows لمجموعات AKS. يتيح الإعداد إلى الوظيفة الإضافية Azure Monitor Metrics لوحدات Windows DaemonSet بدء التشغيل على تجمعات العقد الخاصة بك. يتم دعم كل من Windows Server 2019 وWindows Server 2022. اتبع هذه الخطوات لتمكين pods من جمع المقاييس من تجمعات عقد Windows.
تثبيت مصدر windows يدويا على عقد AKS للوصول إلى مقاييس Windows عن طريق نشر ملف YAML لمصدر windows-daemonset. تمكين المجمعين التاليين:
[defaults]
container
memory
process
cpu_info
لمزيد من المجمعين، يرجى مراجعة مصدر Prometheus لمقاييس Windows.
انشر ملف WINDOWS-exporter-daemonset YAML. لاحظ أنه إذا كان هناك أي تشوهات مطبقة في العقدة، فستحتاج إلى تطبيق التفاوتات المناسبة.
kubectl apply -f windows-exporter-daemonset.yaml
تطبيق ama-metrics-settings-configmap على مجموعتك.
windowsexporter
قم بتعيين وwindowskubeproxy
Booleans إلىtrue
. لمزيد من المعلومات، راجع تكوين إعدادات الوظيفة الإضافية للمقاييس.تمكين قواعد التسجيل المطلوبة للوحات المعلومات الجاهزة:
- إذا كان الإعداد باستخدام CLI، فضمن الخيار
--enable-windows-recording-rules
. - إذا كان الإعداد باستخدام قالب ARM أو Bicep أو Azure Policy، فقم بتعيين
enableWindowsRecordingRules
إلىtrue
في ملف المعلمات. - إذا تم إعداد نظام المجموعة بالفعل، فاستخدم قالب ARM هذا وملف المعلمة هذا لإنشاء مجموعات القواعد. سيؤدي ذلك إلى إضافة قواعد التسجيل المطلوبة وليس عملية ARM على نظام المجموعة ولا يؤثر على حالة المراقبة الحالية للمجموعة.
- إذا كان الإعداد باستخدام CLI، فضمن الخيار
تحقق من النشر
استخدم أداة سطر الأوامر kubectl للتحقق من نشر العامل بشكل صحيح.
Prometheus المدار
تحقق من نشر DaemonSet بشكل صحيح على تجمعات عقد Linux
kubectl get ds ama-metrics-node --namespace=kube-system
يجب أن يكون عدد pods مساويا لعدد عقد Linux على نظام المجموعة. يجب أن يشبه الإخراج المثال التالي:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-node 1 1 1 1 1 <none> 10h
تحقق من نشر عقد Windows بشكل صحيح
kubectl get ds ama-metrics-win-node --namespace=kube-system
يجب أن يكون عدد pods مساويا لعدد عقد Windows على نظام المجموعة. يجب أن يشبه الإخراج المثال التالي:
User@aksuser:~$ kubectl get ds ama-metrics-node --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-metrics-win-node 3 3 3 3 3 <none> 10h
تحقق من نشر مجموعتي النسخ المتماثلة ل Prometheus
kubectl get rs --namespace=kube-system
يجب أن يشبه الإخراج المثال التالي:
User@aksuser:~$kubectl get rs --namespace=kube-system
NAME DESIRED CURRENT READY AGE
ama-metrics-5c974985b8 1 1 1 11h
ama-metrics-ksm-5fcf8dffcd 1 1 1 11h
نتائج تحليلات الحاوية
تحقق من نشر DaemonSets بشكل صحيح على تجمعات عقد Linux
kubectl get ds ama-logs --namespace=kube-system
يجب أن يكون عدد pods مساويا لعدد عقد Linux على نظام المجموعة. يجب أن يشبه الإخراج المثال التالي:
User@aksuser:~$ kubectl get ds ama-logs --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs 2 2 2 2 2 <none> 1d
تحقق من نشر عقد Windows بشكل صحيح
kubectl get ds ama-logs-windows --namespace=kube-system
يجب أن يكون عدد pods مساويا لعدد عقد Windows على نظام المجموعة. يجب أن يشبه الإخراج المثال التالي:
User@aksuser:~$ kubectl get ds ama-logs-windows --namespace=kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
ama-logs-windows 2 2 2 2 2 <none> 1d
التحقق من نشر حل نتائج تحليلات الحاوية
kubectl get deployment ama-logs-rs --namespace=kube-system
يجب أن يشبه الإخراج المثال التالي:
User@aksuser:~$ kubectl get deployment ama-logs-rs --namespace=kube-system
NAME READY UP-TO-DATE AVAILABLE AGE
ama-logs-rs 1/1 1 1 24d
عرض التكوين باستخدام CLI
aks show
استخدم الأمر لمعرفة ما إذا كان الحل ممكنا، ومعرف مورد مساحة عمل Log Analytics، ومعلومات موجزة حول نظام المجموعة.
az aks show --resource-group <resourceGroupofAKSCluster> --name <nameofAksCluster>
سيعيد الأمر معلومات بتنسيق JSON حول الحل. addonProfiles
يجب أن يتضمن القسم معلومات حول omsagent
كما في المثال التالي:
"addonProfiles": {
"omsagent": {
"config": {
"logAnalyticsWorkspaceResourceID": "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
"useAADAuth": "true"
},
"enabled": true,
"identity": null
},
}
الموارد المتوفرة
عند تمكين المراقبة، يتم إنشاء الموارد التالية في اشتراكك:
اسم المورد | نوع المورد | مجموعة الموارد | المنطقة/الموقع | الوصف |
---|---|---|---|---|
MSCI-<aksclusterregion>-<clustername> |
قاعدة تجميع البيانات | مثل نظام المجموعة | نفس مساحة عمل Log Analytics | قاعدة تجميع البيانات هذه مخصصة لجمع السجل بواسطة عامل Azure Monitor، الذي يستخدم مساحة عمل Log Analytics كوجهة، ومرتبط بمورد نظام مجموعة AKS. |
MSPROM-<aksclusterregion>-<clustername> |
قاعدة تجميع البيانات | مثل نظام المجموعة | نفس مساحة عمل Azure Monitor | قاعدة جمع البيانات هذه هي لجمع مقاييس prometheus بواسطة addon للمقاييس، والتي تحتوي على مساحة عمل مراقبة Azure المختارة كوجهة، كما أنها مرتبطة بمورد نظام مجموعة AKS |
MSPROM-<aksclusterregion>-<clustername> |
نقطة نهاية تجميع البيانات | مثل نظام المجموعة | نفس مساحة عمل Azure Monitor | يتم استخدام نقطة نهاية جمع البيانات هذه بواسطة قاعدة جمع البيانات أعلاه لاستيعاب مقاييس Prometheus من إضافة المقاييس |
عند إنشاء مساحة عمل Azure Monitor جديدة، يتم إنشاء الموارد الإضافية التالية كجزء منها
اسم المورد | نوع المورد | مجموعة الموارد | المنطقة/الموقع | الوصف |
---|---|---|---|---|
<azuremonitor-workspace-name> |
قاعدة تجميع البيانات | <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed | نفس مساحة عمل Azure Monitor | تم إنشاء DCR عند استخدام خادم OSS Prometheus للكتابة عن بعد إلى مساحة عمل Azure Monitor. |
<azuremonitor-workspace-name> |
نقطة نهاية تجميع البيانات | <MA_azuremonitor-workspace-name>_<azuremonitor-workspace-region>_managed | نفس مساحة عمل Azure Monitor | تم إنشاء DCE عند استخدام خادم OSS Prometheus للكتابة عن بعد إلى مساحة عمل Azure Monitor. |
الاختلافات بين مجموعات Windows وLinux
تشمل الاختلافات الرئيسية في مراقبة نظام مجموعة Windows Server مقارنة بنظام مجموعة Linux ما يلي:
- لا يحتوي Windows على مقياس الذاكرة RSS. ونتيجة لذلك، فإنه غير متوفر لعقد وحاويات Windows. مقياس مجموعة العمل متاح.
- معلومات سعة تخزين القرص غير متوفرة لعُقد Windows.
- تتم مراقبة بيئات الحجرة فقط، وليس بيئات Docker.
- مع إصدار المعاينة، يتم دعم 30 حاوية Windows Server كحدٍ أقصى. لا ينطبق هذا القيد على حاويات Linux.
إشعار
دعم نتائج تحليلات الحاوية لنظام التشغيل Windows Server 2022 قيد المعاينة.
يقوم عامل Linux المضمن في حاويات (مجموعة النسخ المتماثلة) بإجراء استدعاءات واجهة برمجة التطبيقات لجميع عقد Windows على منفذ Kubelet الآمن (10250) داخل نظام المجموعة لجمع المقاييس المتعلقة بأداء العقدة والحاوية. يجب فتح منفذ Kubelet الآمن (:10250) في الشبكة الظاهرية لنظام المجموعة لكل من الوارد والصادر لمجموعة المقاييس المتعلقة بأداء الحاوية وعقدة Windows للعمل.
إذا كان لديك نظام مجموعة Kubernetes مع عقد Windows، فراجع مجموعة أمان الشبكة ونهج الشبكة وقم بتكوينها للتأكد من أن منفذ Kubelet الآمن (:10250) مفتوح لكل من الوارد والصادر في الشبكة الظاهرية لنظام المجموعة.
الخطوات التالية
- إذا واجهت مشكلات أثناء محاولة إعداد الحل، فراجع دليل استكشاف الأخطاء وإصلاحها.
- مع تمكين المراقبة لجمع استخدام الموارد والصحة بنظام مجموعة AKS وأحمال العمل التي تعمل عليها، تعرف على كيفية استخدام تفاصيل الحاوية.