اقرأ باللغة الإنجليزية

مشاركة عبر


AzureDiagnostics

يخزن سجلات الموارد لخدمات 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
... ... ... ... ... ...

يمكنك إرجاع هذه البيانات الجديدة في استعلام بسيط:

Kusto
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:

Kusto
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 للحصول على تفاصيل حول هذا التكوين.

اسم الخدمة resourceType
خدمات إدارة واجهة برمجة التطبيقات Microsoft.ApiManagement
Azure Cosmos DB Microsoft.DocumentDB/databaseAccounts
مصانع البيانات (V2) Microsoft.DataFactory
مخازن خدمات الاسترداد (النسخ الاحتياطي) Microsoft.RecoveryServices/vaults
جُدر الحماية Microsoft.Network/azureFirewalls

أعمدة جدول AzureDiagnostics

Column نوع ‏‏الوصف
action_id_s السلسلة‬
action_name_s السلسلة‬
action_s السلسلة‬
ActivityId_g Guid
AdditionalFields
AdHocOrScheduledJob_s السلسلة‬
application_name_s السلسلة‬
audit_schema_version_d مزدوج
avg_cpu_percent_s السلسلة‬
avg_mean_time_s السلسلة‬
backendHostname_s السلسلة‬
Caller_s السلسلة‬
callerId_s السلسلة‬
CallerIPAddress السلسلة‬
calls_s السلسلة‬
الفئة السلسلة‬
client_ip_s السلسلة‬
clientInfo_s السلسلة‬
clientIP_s السلسلة‬
clientIp_s السلسلة‬
clientIpAddress_s السلسلة‬
clientPort_d مزدوج
code_s السلسلة‬
collectionName_s السلسلة‬
conditions_destinationIP_s السلسلة‬
conditions_destinationPortRange_s السلسلة‬
conditions_None_s السلسلة‬
conditions_protocols_s السلسلة‬
conditions_sourceIP_s السلسلة‬
conditions_sourcePortRange_s السلسلة‬
CorrelationId السلسلة‬
count_executions_d مزدوج
cpu_time_d مزدوج
database_name_s السلسلة‬
database_principal_name_s السلسلة‬
DatabaseName_s السلسلة‬
db_id_s السلسلة‬
direction_s السلسلة‬
dop_d مزدوج
duration_d مزدوج
duration_milliseconds_d مزدوج
المدة بالدقيقة والثانية عدد صحيح كبير
ElasticPoolName_s السلسلة‬
endTime_t DateTime
Environment_s السلسلة‬
error_code_s السلسلة‬
error_message_s السلسلة‬
errorLevel_s السلسلة‬
event_class_s السلسلة‬
event_s السلسلة‬
event_subclass_s السلسلة‬
event_time_t DateTime
EventName_s السلسلة‬
execution_type_d مزدوج
executionInfo_endTime_t DateTime
executionInfo_exitCode_d مزدوج
executionInfo_startTime_t DateTime
host_s السلسلة‬
httpMethod_s السلسلة‬
httpStatus_d مزدوج
httpStatusCode_d مزدوج
httpStatusCode_s السلسلة‬
httpVersion_s السلسلة‬
id_s السلسلة‬
identity_claim_appid_g Guid
identity_claim_ipaddr_s السلسلة‬
instanceId_s السلسلة‬
interval_end_time_d مزدوج
interval_start_time_d مزدوج
ip_s السلسلة‬
is_column_permission_s السلسلة‬
isAccessPolicyMatch_b مجموعة
JobDurationInSecs_s السلسلة‬
JobFailureCode_s السلسلة‬
JobId_g Guid
jobId_s السلسلة‬
JobOperation_s السلسلة‬
JobOperationSubType_s السلسلة‬
JobStartDateTime_s السلسلة‬
JobStatus_s السلسلة‬
JobUniqueId_g Guid
المستوى السلسلة‬
log_bytes_used_d مزدوج
logical_io_reads_d مزدوج
logical_io_writes_d مزدوج
LogicalServerName_s السلسلة‬
macAddress_s السلسلة‬
matchedConnections_d مزدوج
max_cpu_time_d مزدوج
max_dop_d مزدوج
max_duration_d مزدوج
max_log_bytes_used_d مزدوج
max_logical_io_reads_d مزدوج
max_logical_io_writes_d مزدوج
max_num_physical_io_reads_d مزدوج
max_physical_io_reads_d مزدوج
max_query_max_used_memory_d مزدوج
max_rowcount_d مزدوج
max_time_s السلسلة‬
mean_time_s السلسلة‬
رسالة السلسلة‬
min_time_s السلسلة‬
msg_s السلسلة‬
num_physical_io_reads_d مزدوج
object_id_d مزدوج
object_name_s السلسلة‬
OperationName السلسلة‬
إصدار العملية السلسلة‬
partitionKey_s السلسلة‬
physical_io_reads_d مزدوج
plan_id_d مزدوج
policy_s السلسلة‬
policyMode_s السلسلة‬
primaryIPv4Address_s السلسلة‬
priority_d مزدوج
properties_enabledForDeployment_b مجموعة
properties_enabledForDiskEncryption_b مجموعة
properties_enabledForTemplateDeployment_b مجموعة
properties_s السلسلة‬
properties_sku_Family_s السلسلة‬
properties_sku_Name_s السلسلة‬
properties_tenantId_g Guid
query_hash_s السلسلة‬
query_id_d مزدوج
query_max_used_memory_d مزدوج
query_plan_hash_s السلسلة‬
query_time_d مزدوج
querytext_s السلسلة‬
receivedBytes_d مزدوج
Region_s السلسلة‬
requestCharge_s السلسلة‬
requestQuery_s السلسلة‬
requestResourceId_s السلسلة‬
requestResourceType_s السلسلة‬
requestUri_s السلسلة‬
reserved_storage_mb_s السلسلة‬
Resource السلسلة‬
resource_actionName_s السلسلة‬
resource_location_s السلسلة‬
resource_originRunId_s السلسلة‬
resource_resourceGroupName_s السلسلة‬
resource_runId_s السلسلة‬
resource_subscriptionId_g Guid
resource_triggerName_s السلسلة‬
resource_workflowId_g Guid
resource_workflowName_s السلسلة‬
ResourceGroup السلسلة‬
_ResourceId السلسلة‬ معرّف فريد للمورد الذي يقترن به السجل
موفر المورد السلسلة‬
موفر المورد السلسلة‬
ResourceType السلسلة‬
ResourceType السلسلة‬
response_rows_d مزدوج
resultCode_s السلسلة‬
وصف النتيجة السلسلة‬
وصف النتيجة السلسلة‬
resultDescription_ChildJobs_s السلسلة‬
resultDescription_ErrorJobs_s السلسلة‬
resultMessage_s السلسلة‬
توقيع النتيجة السلسلة‬
نوع النتيجة السلسلة‬
نوع النتيجة السلسلة‬
rootCauseAnalysis_s السلسلة‬
routingRuleName_s السلسلة‬
rowcount_d مزدوج
ruleName_s السلسلة‬
RunbookName_s السلسلة‬
RunOn_s السلسلة‬
schema_name_s السلسلة‬
sentBytes_d مزدوج
sequence_group_id_g Guid
sequence_number_d مزدوج
server_principal_sid_s السلسلة‬
session_id_d مزدوج