يخزن سجلات الموارد لخدمات Azure التي تستخدم وضع Azure Diagnostics. تصف سجلات الموارد العملية الداخلية لموارد Azure.
يحتوي سجل الموارد لكل خدمة Azure على مجموعة فريدة من الأعمدة. يتضمن جدول AzureDiagnostics الأعمدة الأكثر شيوعا المستخدمة من قبل خدمات Azure. إذا كان سجل الموارد يتضمن عمودا غير موجود بالفعل في جدول AzureDiagnostics، تتم إضافة هذا العمود في المرة الأولى التي يتم فيها جمع البيانات. إذا تم الوصول إلى الحد الأقصى لعدد الأعمدة البالغ 500 عمود، تتم إضافة بيانات لأي أعمدة إضافية إلى عمود ديناميكي.
تخزن خدمات Azure التي تستخدم الوضع الخاص بالموارد البيانات في جدول خاص بتلك الخدمة ولا تستخدم جدول AzureDiagnostics. راجع سجلات موارد Azure للحصول على تفاصيل حول الاختلافات. راجع الموارد التي تستخدم وضع تشخيص Azure للخدمات التي تستخدم تشخيصات Azure.
ملاحظة
جدول AzureDiagnostics هو جدول سجل مخصص تم إنشاؤه حصريا بواسطة البنية الأساسية لبرنامج ربط العمليات التجارية Azure Monitor في المرة الأولى التي يبدأ فيها مورد Azure في إرسال السجلات في وضع تشخيص Azure. على عكس الجداول الأخرى، لا يمكن إنشاء جدول AzureDiagnostics عبر قالب ARM أو واجهة برمجة تطبيقات الجداول. وبالتالي، لا يمكن تعديل قيم الاستبقاء الافتراضية للجدول قبل إنشائه.
عمود AdditionalFields
على عكس الجداول الأخرى، يكون AzureDiagnostics أكثر عرضة لتجاوز حد العمود البالغ 500 المفروض لأي جدول في مساحة عمل Log Analytics بسبب المجموعة الواسعة من موارد Azure القادرة على إرسال البيانات إلى هذا الجدول. للتأكد من عدم فقدان أي بيانات بسبب عدد الأعمدة النشطة التي تتجاوز حد الأعمدة هذا البالغ 500 عمود، تتم معالجة إنشاء عمود AzureDiagnostics بطريقة مختلفة عن الجداول الأخرى.
يحتوي جدول AzureDiagnostics في كل مساحة عمل على حد أدنى، نفس 200 عمود. بالنسبة لمساحات العمل التي تم إنشاؤها قبل 19 يناير 2021، يحتوي الجدول أيضا على أي أعمدة كانت موجودة بالفعل قبل هذا التاريخ. عند إرسال البيانات إلى عمود غير موجود بالفعل:
إذا لم يتجاوز العدد الإجمالي للأعمدة في AzureDiagnostics في مساحة العمل الحالية 500 عمود، يتم إنشاء عمود جديد تماما كما هو الحال مع أي جدول آخر.
إذا كان العدد الإجمالي للأعمدة عند أو أعلى من 500، تتم إضافة البيانات الزائدة إلى عمود مجموعة خصائص ديناميكية يسمى AdditionalFields كخاصية.
مثال
لتوضيح هذا السلوك، تخيل أنه اعتبارا من (تاريخ النشر) يبدو جدول AzureDiagnostics في مساحة العمل الخاصة بنا كما يلي:
العمود 1
العمود 2
العمود 3
...
العمود 498
abc
def
123
...
456
...
...
...
...
...
ثم يضيف المورد الذي يرسل البيانات إلى AzureDiagnostics بعدا جديدا إلى بياناته التي يطلق عليها NewInfo1. نظرا لأن الجدول لا يزال يحتوي على أقل من 500 عمود، في المرة الأولى التي يقع فيها حدث يحتوي على بيانات لهذا البعد الجديد يضيف عمودا جديدا إلى الجدول:
العمود 1
العمود 2
العمود 3
...
العمود 498
NewInfo1_s
abc
def
123
...
456
xyz
...
...
...
...
...
...
يمكنك إرجاع هذه البيانات الجديدة في استعلام بسيط:
AzureDiagnostics | where NewInfo1_s == "xyz"
في وقت لاحق، يرسل مورد آخر بيانات إلى AzureDiagnostics التي تضيف أبعادا جديدة تسمى NewInfo2 و NewInfo3. نظرا لأن الجدول قد وصل إلى 500 عمود في مساحة العمل هذه، تنتقل البيانات الجديدة إلى العمود AdditionalFields :
العمود 1
العمود 2
العمود 3
...
العمود 498
NewInfo1_s
AdditionalFields
abc
def
123
...
456
xyz
{"NewInfo2":"789","NewInfo3":"qwerty"}
...
...
...
...
...
...
...
لا يزال بإمكانك الاستعلام عن هذه البيانات، ولكن يجب استخراجها من حقيبة الخصائص باستخدام أي من عوامل تشغيل الخصائص الديناميكية في KQL:
AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"
تلميحات حول استخدام AdditionalFields العمود
بينما يجب اتباع أفضل ممارسات الاستعلام مثل التصفية دائما حسب الوقت كالجملة الأولى في الاستعلام، هناك بعض التوصيات الأخرى التي يجب مراعاتها عند العمل مع AdditionalFields:
يجب كتابة البيانات قبل إجراء المزيد من العمليات عليها. على سبيل المثال، إذا كان لديك عمود يسمى Perf1Sec_i وخاصية في AdditionalFields تسمى Perf2Sec، وتريد حساب إجمالي perf عن طريق إضافة القيمتين، يمكنك استخدام ما يلي: AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | .....
استخدم عبارات حيث لتقليل حجم البيانات إلى أصغر حجم ممكن قبل كتابة أي منطق معقد لتحسين الأداء بشكل كبير. TimeGenerated هو عمود واحد يجب تقليله دائما إلى أصغر نافذة ممكنة. في حالة AzureDiagnostics، يجب دائما تضمين عامل تصفية إضافي في أعلى الاستعلام حول أنواع الموارد التي يتم الاستعلام عن استخدامها باستخدام عمود ResourceType .
عند الاستعلام عن كميات كبيرة من البيانات، يكون إجراء عامل تصفية على AdditionalFields ككل أكثر فعالية في بعض الأحيان بدلا من تحليله. على سبيل المثال، بالنسبة لكميات كبيرة من البيانات، AzureDiagnostics | where AdditionalFields has "Perf2Sec" غالبا ما يكون أكثر كفاءة من AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec)).
الموارد التي تستخدم وضع تشخيص Azure
تستخدم الخدمات التالية وضع تشخيص Azure لسجلات الموارد الخاصة بها وترسل البيانات إلى جدول تشخيصات Azure. راجع سجلات موارد Azure للحصول على تفاصيل حول هذا التكوين.
ملاحظة
ترسل جميع الموارد الأخرى البيانات إلى جداول خاصة بالموارد.
اسم الخدمة
resourceType
MicrosoftSqlAzureTelemetryv3
microsoft.sql/الخوادم/قواعد البيانات
MicrosoftAzureCosmosDB
microsoft.documentdb/databaseaccounts
AzureFirewall
microsoft.network/azurefirewalls
AzureApplicationGatewayService
microsoft.network/applicationgateways
بيانات AKSCustomerData
microsoft.containerservice/managedclusters
AzureFrontdoor
microsoft.cdn/profiles
LNMAgentService
microsoft.network/networksecuritygroups
MicrosoftOrcasBreadthServers
microsoft.dbforpostgresql/flexibleservers
servicebus
microsoft.eventhub/namespaces
AzureFrontdoor
microsoft.network/frontdoors
AzureKeyVault
microsoft.keyvault/vaults
AzureDataLake
microsoft.datalakestore/accounts
ApiManagement
microsoft.apimanagement/service
MicrosoftSqlAzureTelemetryv3
microsoft.sql/الشبكات المدارة
ASAzureRP
microsoft.analysisservices/servers
MicrosoftOrcasBreadthServers
microsoft.dbformysql/flexibleservers
servicebus
microsoft.servicebus/namespaces
AzureIotHub
microsoft.devices/iothubs
MicrosoftSqlAzureTelemetryv2
microsoft.dbforpostgresql/servers
MicrosoftSqlAzureTelemetryv2
microsoft.dbformariadb/servers
MicrosoftAutomation
microsoft.automation/automationaccounts
إدارة نسبة استخدام الشبكة
microsoft.network/trafficmanagerprofiles
MicrosoftOrcasBreadthServers
microsoft.dbforpostgresql/servergroupsv2
البحث في Azure
microsoft.search/searchservices
AzureHybrid
Microsoft.Network/virtualNetworkGateways
MicrosoftSqlAzureTelemetryv3
microsoft.sql/الشبكات المدارة/قواعد البيانات
PBIDedicatedRP
microsoft.powerbidedicated/القدرات
AzureHybrid
microsoft.network/vpngateways
MicrosoftDatafactory
microsoft.datafactory/factories
خدمات MicrosoftCognitive
microsoft.cognitiveservices/accounts
خدمات AzureRecovery
microsoft.recoveryservices/vaults
AzureBatch
microsoft.batch/batchaccounts
AzureHybrid
Microsoft.Network/p2sVpnGateways
MicrosoftSqlAzureTelemetryv2
microsoft.dbformysql/servers
AzureKeyVault
Microsoft.KeyVault/managedHSMs
NetMon
microsoft.network/publicipaddresses
AzureDataLake
microsoft.datalakeanalytics/accounts
تحليلات MicrosoftStream
microsoft.streamanalytics/streamingjobs
servicebus
microsoft.relay/namespaces
AzureIotDps
microsoft.devices/provisioningservices
MicrosoftAzureCosmosDB
microsoft.documentdb/cassandraclusters
MicrosoftAzureCosmosDB
microsoft.documentdb/mongoclusters
بيانات AKSCustomerData
microsoft.containerservice/fleets
PBIDedicatedRP
microsoft.powerbi/tenants/workspaces
AzureFrontdoor
نهج جدار حماية تطبيق microsoft.cdn/cdnwebapplication
AzureHybrid
microsoft.network/expressroutecircuits
MicrosoftAzureCosmosDB
microsoft.dbforpostgresql/flexibleservers
NetMon
microsoft.network/publicipprefixes
AzureCdn
microsoft.cdn/profiles/endpoints
وضع تشخيص Azure أو الوضع الخاص بالموارد
تستخدم الخدمات التالية إما وضع تشخيص Azure أو الوضع الخاص بالموارد لسجلات الموارد الخاصة بها اعتمادا على تكوين إعدادات التشخيص. عند استخدام الوضع الخاص بالموارد، لا ترسل هذه الموارد البيانات إلى جدول AzureDiagnostics. راجع سجلات موارد Azure للحصول على تفاصيل حول هذا التكوين.
إدارة البنية الأساسية لقاعدة بيانات SQL Server لقواعد البيانات الارتباطية السحابية والمحلية والمختلطة باستخدام عروض قاعدة البيانات الارتباطية ل Microsoft PaaS.