إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
مهم
تتوفر ميزات معاينة AKS على أساس الخدمة الذاتية والاشتراك. يتم توفير المعاينات "كما هي" و"كما هي متوفرة"، ويتم استبعادها من اتفاقيات مستوى الخدمة والضمان المحدود. تتم تغطية معاينات AKS جزئيًا بواسطة دعم العملاء على أساس بذل أفضل الجهود. على هذا النحو، هذه الميزات ليست مخصصة للاستخدام الإنتاجي. لمزيد من المعلومات، يُرجي الاطلاع على مقالات الدعم الآتية:
توفر شبكة تطبيقات Azure Kubernetes نوعين من السجلات يمكنك تكوينهما بناء على متطلبات المراقبة وحل المشكلة: سجلات مستوى البياناتوسجلات مستوى التحكم.
-
سجلات مستوى البيانات: تشمل سجلات من أحمال عمل التطبيقات،
applink-systemومكونات مساحة الاسم، وسجلات الوصول إلى وكيل Envoy. - سجلات مستوى التحكم: تتضمن سجلات Istiod من مكونات مستوى التحكم في شبكة تطبيقات Azure Kubernetes.
تسجيل شبكة تطبيقات Azure Kubernetes معطل بشكل افتراضي. تشرح هذه المقالة كيفية تمكين كلا نوعي التسجيل وعرضهما في Azure Monitor.
تعيين متغيرات البيئة
حدد متغيرات البيئة لسير العمل الذي اخترته باستخدام الأوامر التالية:
# Set if specifying an existing or creating a new Log Analytics workspace export LAW_NAME=<log-analytics-workspace-name> # Set for resource group, location, and AKS cluster name export AKS_RG=<aks-resource-group> export LOCATION=<location> export CLUSTER_NAME=<aks-cluster-name> # Set for Azure Kubernetes Application Network member resource group, name, and member name export APPNET_RG=<appnet-resource-group> export APPNET_NAME=<appnet-name> export APPNET_MEMBER_NAME=<appnet-member-name>
تمكين سجلات مستوى البيانات
سجلات مستوى البيانات تشمل سجلات من أحمال العمل/التطبيقات وأحمال applink-system العمل (Ztunnel و Istio CNI). إضافة Azure Container Insights هي الطريقة المفضلة لتفعيل وعرض السجلات لاستكشاف المشكلة.
عند تفعيل سجلات مستوى البيانات، لديك خيار تحديد مساحة عمل لتحليلات السجلات الحالية، أو استخدام مساحة العمل الافتراضية لمجموعة الموارد الخاصة بك، أو إنشاء مساحة عمل جديدة.
أنشئ مساحة عمل جديدة لتحليلات السجلات
إذا أنشأت مساحة عمل جديدة لتحليلات السجلات، استخدم
az monitor log-analytics workspace createالأمر:az monitor log-analytics workspace create \ --resource-group $AKS_RG \ --workspace-name $LAW_NAME \ --location $LOCATION
فعل إضافة Container Insights على عنقود AKS الخاص بك
فعل إضافة Container Insights لمجموعة أعضاء شبكة تطبيقات Azure Kubernetes (مع حذف معرف مساحة العمل اختياريا) باستخدام
az aks enable-addonsالأمر.az aks enable-addons \ --addon monitoring \ --name $CLUSTER_NAME \ --resource-group $AKS_RG \ --workspace-resource-id /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/microsoft.operationalinsights/workspaces/$LAW_NAME
عرض السجلات
عرض السجلات من خلال الانتقال إلى مساحة عمل تحليلات السجلات وتشغيل الاستعلام التالي:
ContainerLogV2 | where PodNamespace == "applink-system"
سجلات وصول المبعوث
في بعض الحالات، قد تحتاج إلى فحص سجلات الوصول إلى Envoy عند توليد حركة المرور لتطبيقاتك/أعباء عملك. لتمكين سجلات الوصول إلى Envoy، استخدم واجهة برمجة تطبيقات التليمتري.
في YAML أدناه، حدد مساحة الأسماء التي تريد تفعيل تسجيل الوصول إلى Envoy فيها. لسجلات الوصول إلى Envoy على مستوى الشبكة، قم بإزالة مساحة الاسم من البيانات الوصفية.
cat <<EOF | kubectl apply -n default -f - apiVersion: telemetry.istio.io/v1 kind: Telemetry metadata: name: mesh-logging-default namespace: default spec: accessLogging: - providers: - name: envoy EOFستكون سجلات الوصول إلى Envoy متاحة في مساحة عمل تحليلات السجلات حيث تم تفعيل إضافة Container Insights الإضافية.
عرض سجلات الوصول إلى Envoy من خلال الانتقال إلى مساحة عمل تحليلات السجلات وتشغيل الاستعلام التالي:
ContainerLogV2 | where TimeGenerated > ago(45m) | where PodName contains "gateway" | take 10
تمكين سجلات مستوى التحكم
لتمكين سجلات مستوى التحكم، تقوم بإنشاء إعداد تشخيصي وإرسال السجلات إلى مساحة عمل تحليلات السجل.
قم بتعيين متغير بيئة لاسم إعداد التشخيص باستخدام الأمر التالي:
export DS_NAME=<diagnostic-settings-name>أنشئ إعداد تشخيصي لمصدر عضو شبكة تطبيقات Azure Kubernetes الخاص بك وحدد مساحة عمل Log Analytics كوجهة باستخدام الأمر
az monitor diagnostic-settings create.az monitor diagnostic-settings create \ --resource /subscriptions/$SUBSCRIPTION/resourceGroups/$APPNET_RG/providers/Microsoft.AppLink/appLinks/$APPNET_NAME/appLinkMembers/$APPNET_MEMBER_NAME \ --workspace /subscriptions/$SUBSCRIPTION/resourcegroups/$AKS_RG/providers/microsoft.operationalinsights/workspaces/$LAW_NAME \ --logs "[{category:istiod,enabled:true}]" \ --name $DS_NAMEبمجرد تفعيلها، انتقل إلى مساحة عمل تحليلات السجلات وقم بتنفيذ الاستعلام التالي:
ملحوظة
$appnet_member_resourceIdيجب أن يكون بصيغة :/subscriptions/$subscription/resourceGroups/$appnet_rg/providers/microsoft.applink/applinks/$appnet_name/applinkmembers/$appnet_member_name.MeshControlPlane | where TimeGenerated > ago(1h) | where _ResourceId == $appnet_member_resourceId // appnet member resourceId
جداول السجل والمخطط
الجداول التالية تحتوي على سجلات شبكة تطبيقات Azure Kubernetes في مساحة عمل تحليلات السجلات الخاصة بك:
| جدول السجل | الوصف |
|---|---|
ContainerLogV2 |
يحتوي على سجلات التطبيق/عبء العمل الخاص بك |
MeshControlPlane |
يحتوي على سجلات إستيود |
Schema
للعثور على ContainerLogV2 المخطط، راجع أعمدة ContainerLogV2.
MeshControlPlane هو جدول مخصص يحتوي على المخطط التالي:
| # | اسم العمود | النوع |
|---|---|---|
| 0 | معرف المستأجر | string |
| 1 | تم إنشاء الوقت | التاريخ والوقت |
| 2 | الفئة | string |
| 3 | المستوى | string |
| 4 | الرسالة | string |
| 5 | الحاوية | string |
| 6 | PodName | string |
| 7 | نظام المصدر | string |
| 8 | النوع | string |
| 9 | _ResourceId | string |
نماذج الاستعلامات
تصفية سجلات البيانات حسب معرف موارد عنقود AKS
تصفية السجلات بناء على معرف موارد العنقود المدار من AKS في جدول ContainerLogV2 باستخدام الاستعلام التالي:
ContainerLogV2 | where TimeGenerated > ago(45m) | where _ResourceId == $aks_cluster_resource_id // managed cluster resourceId
تصفية سجلات بواسطة معرف موارد عضو شبكة Azure Kubernetes Application Network
تصفية السجلات بناء على معرف مورد عضو شبكة تطبيقات Azure Kubernetes في جدول MeshControlPlane لسجلات مستوى التحكم باستخدام الاستعلام التالي:
MeshControlPlane | where TimeGenerated > ago(45m) | where Level == "ERROR" | where _ResourceId == $appnet_member_resourceId // appnet member resourceIdتظهر لقطة الشاشة التالية مثالا على أخطاء Application Network Istiod في سجلات Azure Monitor:
المحتوى ذو الصلة
لمزيد من المعلومات حول قابلية الملاحظة والمراقبة لشبكة تطبيقات Azure Kubernetes، راجع المقالات التالية: