ملاحظة
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية تنفيذ تحويلات البيانات في نتائج تحليلات الحاوية. تسمح لك التحويلات في Azure Monitor بتعديل البيانات أو تصفيتها قبل استيعابها في مساحة عمل Log Analytics. فهي تسمح لك بتنفيذ إجراءات مثل تصفية البيانات التي تم جمعها من مجموعتك لتوفير التكاليف أو معالجة البيانات الواردة للمساعدة في استعلامات البيانات.
هام
تصف المقالات تكوين مجموعة السجل في نتائج تحليلات الحاوية ومجموعة سجل التصفية في نتائج تحليلات الحاوية إعدادات التكوين القياسية لتكوين مجموعة البيانات وتصفيتها ل Container insights. يجب إجراء أي تكوين مطلوب باستخدام هذه الميزات قبل استخدام التحويلات. استخدم تحويلا لإجراء التصفية أو تكوين البيانات الأخرى التي لا يمكنك تنفيذها باستخدام إعدادات التكوين القياسية.
قاعدة جمع البيانات
يتم تنفيذ التحويلات في قواعد جمع البيانات (DCRs) التي تستخدم لتكوين جمع البيانات في Azure Monitor. يصف تكوين جمع البيانات باستخدام DCR DCR الذي يتم إنشاؤه تلقائيا عند تمكين نتائج تحليلات الحاوية على نظام مجموعة. لإنشاء تحويل، يجب تنفيذ أحد الإجراءات التالية:
- نظام مجموعة جديد. استخدم قالب ARM موجود لإعداد مجموعة AKS إلى نتائج تحليلات الحاوية. قم بتعديل DCR في هذا القالب مع التكوين المطلوب، بما في ذلك تحويل مشابه لأحد العينات أدناه.
- DCR الحالي. بعد إعداد نظام مجموعة إلى نتائج تحليلات الحاوية وتكوين مجموعة البيانات، قم بتحرير DCR الخاص به لتضمين تحويل باستخدام أي من الطرق في تحرير قواعد تجميع البيانات.
إشعار
يوجد حاليا الحد الأدنى من واجهة المستخدم لتحرير DCRs، وهو مطلوب لإضافة تحويلات. في معظم الحالات، تحتاج إلى تحرير DCR يدويا. توضح هذه المقالة بنية DCR المراد تنفيذها. راجع إنشاء قواعد جمع البيانات (DCRs) وتحريرها في Azure Monitor للحصول على إرشادات حول كيفية تنفيذ هذه البنية.
مصادر البيانات
يحدد قسم مصادر البيانات في DCR الأنواع المختلفة من البيانات الواردة التي سيعالجها DCR. بالنسبة إلى نتائج تحليلات الحاوية، هذا هو ملحق نتائج تحليلات الحاوية، والذي يتضمن واحدا أو أكثر معرفا streams
مسبقا بدءا من البادئة Microsoft-.
تعتمد قائمة تدفقات نتائج تحليلات الحاوية في DCR على الإعداد المسبق للتكلفة الذي حددته للمجموعة. إذا قمت بتجميع كافة الجداول، فسيستخدم Microsoft-ContainerInsights-Group-Default
DCR الدفق، وهو دفق مجموعة يتضمن كافة التدفقات المدرجة في قيم الدفق. يجب تغيير هذا إلى تدفقات فردية إذا كنت ستستخدم تحويلا. ستستخدم أي إعدادات أخرى محددة مسبقا للتكلفة تدفقات فردية بالفعل.
يظهر النموذج أدناه الدفق Microsoft-ContainerInsights-Group-Default
.
راجع نموذج DCRs للعينات باستخدام التدفقات الفردية.
"dataSources": {
"extensions": [
{
"streams": [
"Microsoft-ContainerInsights-Group-Default"
],
"name": "ContainerInsightsExtension",
"extensionName": "ContainerInsights",
"extensionSettings": {
"dataCollectionSettings": {
"interval": "1m",
"namespaceFilteringMode": "Off",
"namespaces": null,
"enableContainerLogV2": true
}
}
}
]
}
تدفقات البيانات
يطابق قسم تدفقات البيانات في DCR التدفقات مع الوجهات المحددة في destinations
قسم DCR. لا يلزم تحديد أسماء الجداول للتدفقات المعروفة إذا تم إرسال البيانات إلى الجدول الافتراضي. يمكن تجميع التدفقات التي لا تتطلب تحويلا معا في إدخال واحد يتضمن وجهة مساحة العمل فقط. سيتم إرسال كل منها إلى جدولها الافتراضي.
إنشاء إدخال منفصل للتدفقات التي تتطلب تحويلا. يجب أن يتضمن ذلك وجهة مساحة العمل والخاصية transformKql
. إذا كنت ترسل البيانات إلى جدول بديل، فأنت بحاجة إلى تضمين الخاصية outputStream
التي تحدد اسم الجدول الوجهة.
يوضح dataFlows
النموذج أدناه قسم دفق واحد مع تحويل.
راجع نموذج DCRs لتدفقات بيانات متعددة في DCR واحد.
"dataFlows": [
{
"streams": [
"Microsoft-ContainerLogV2"
],
"destinations": [
"ciworkspace"
],
"transformKql": "source | where PodNamespace == 'kube-system'"
}
]
نموذج DCRs
تصفية البيانات
يقوم المثال الأول بتصفية البيانات من ContainerLogV2
استنادا إلى LogLevel
العمود. سيتم جمع السجلات التي تحتوي على LogLevel
أو error
critical
فقط لأن هذه هي الإدخالات التي قد تستخدمها للتنبيه وتحديد المشكلات في نظام المجموعة. جمع وتخزين مستويات أخرى مثل info
وإنشاء debug
تكلفة دون قيمة كبيرة.
يمكنك استرداد هذه السجلات باستخدام استعلام السجل التالي.
ContainerLogV2 | where LogLevel in ('error', 'critical')
يظهر هذا المنطق في الرسم التخطيطي التالي.
في التحويل، يتم استخدام اسم source
الجدول لتمثيل البيانات الواردة. فيما يلي الاستعلام المعدل لاستخدامه في التحويل.
source | where LogLevel in ('error', 'critical')
يوضح النموذج التالي هذا التحويل المضاف إلى DCR ورؤى الحاوية. لاحظ أنه يتم استخدام تدفق بيانات منفصل لأن Microsoft-ContainerLogV2
هذا هو الدفق الوارد الوحيد الذي يجب تطبيق التحويل عليه. يتم استخدام تدفق بيانات منفصل للتدفقات الأخرى.
{
"properties": {
"location": "eastus2",
"kind": "Linux",
"dataSources": {
"syslog": [],
"extensions": [
{
"streams": [
"Microsoft-ContainerLogV2",
"Microsoft-KubeEvents",
"Microsoft-KubePodInventory"
],
"extensionName": "ContainerInsights",
"extensionSettings": {
"dataCollectionSettings": {
"interval": "1m",
"namespaceFilteringMode": "Off",
"enableContainerLogV2": true
}
},
"name": "ContainerInsightsExtension"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
"workspaceId": "00000000-0000-0000-0000-000000000000",
"name": "ciworkspace"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-KubeEvents",
"Microsoft-KubePodInventory"
],
"destinations": [
"ciworkspace"
],
},
{
"streams": [
"Microsoft-ContainerLogV2"
],
"destinations": [
"ciworkspace"
],
"transformKql": "source | where LogLevel in ('error', 'critical')"
}
],
},
}
إرسال البيانات إلى جداول مختلفة
في المثال أعلاه، يتم تجميع السجلات التي تتضمن أو LogLevel
error
critical
فقط. استراتيجية بديلة بدلا من عدم تجميع هذه السجلات على الإطلاق هي تكوين ContainerLogV2 للسجلات الأساسية وإرسال هذه السجلات إلى جدول بديل.
لهذه الاستراتيجية، هناك حاجة إلى تحويلين. يرسل التحويل الأول السجلات مع LogLevel
error
أو critical
إلى جدول مخصص يسمى ContainerLogV2_CL
. يرسل التحويل الثاني السجلات الأخرى إلى المعيار ContainerLogV2
. يتم عرض الاستعلامات لكل منها أدناه باستخدام source
للبيانات الواردة كما هو موضح في المثال السابق.
# Return error and critical logs
source | where LogLevel in ('error', 'critical')
# Return logs that aren't error or critical
source | where LogLevel !in ('error', 'critical')
يظهر هذا المنطق في الرسم التخطيطي التالي.
هام
قبل تثبيت DCR في هذا النموذج، يجب إنشاء جدول جديد بنفس المخطط مثل ContainerLogV2
. قم بتسميته ContainerLogV2_CL
. تكوين ContainerLogV2 للسجلات الأساسية.
يوضح النموذج التالي هذا التحويل المضاف إلى DCR ورؤى الحاوية. هناك تدفقان للبيانات في Microsoft-ContainerLogV2
DCR هذا، واحد لكل تحويل. يرسل الأول إلى الجدول الافتراضي الذي لا تحتاج إلى تحديد اسم جدول. يتطلب الثاني الخاصية outputStream
لتحديد الجدول الوجهة.
{
"properties": {
"location": "eastus2",
"kind": "Linux",
"dataSources": {
"syslog": [],
"extensions": [
{
"streams": [
"Microsoft-ContainerLogV2",
"Microsoft-KubeEvents",
"Microsoft-KubePodInventory"
],
"extensionName": "ContainerInsights",
"extensionSettings": {
"dataCollectionSettings": {
"interval": "1m",
"namespaceFilteringMode": "Off",
"enableContainerLogV2": true
}
},
"name": "ContainerInsightsExtension"
}
]
},
"destinations": {
"logAnalytics": [
{
"workspaceResourceId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/my-resource-group/providers/microsoft.operationalinsights/workspaces/my-workspace",
"workspaceId": "00000000-0000-0000-0000-000000000000",
"name": "ciworkspace"
}
]
},
"dataFlows": [
{
"streams": [
"Microsoft-KubeEvents",
"Microsoft-KubePodInventory"
],
"destinations": [
"ciworkspace"
],
},
{
"streams": [
"Microsoft-ContainerLogV2"
],
"destinations": [
"ciworkspace"
],
"transformKql": "source | where LogLevel !in ('error', 'critical')"
},
{
"streams": [
"Microsoft-ContainerLogV2"
],
"destinations": [
"ciworkspace"
],
"transformKql": "source | where LogLevel in ('error','critical')",
"outputStream": "Custom-ContainerLogV2_CL"
}
],
},
}
الخطوات التالية
- اقرأ المزيد حول التحويلات وقواعد جمع البيانات في Azure Monitor.