AzureDiagnostics
Ukládá protokoly prostředků pro služby Azure, které používají režim Diagnostiky Azure. Protokoly prostředků popisují interní provoz prostředků Azure.
Protokol prostředků pro jednotlivé služby Azure má jedinečnou sadu sloupců. Tabulka AzureDiagnostics obsahuje nejběžnější sloupce používané službami Azure. Pokud protokol prostředků obsahuje sloupec, který ještě neexistuje v tabulce AzureDiagnostics, přidá se tento sloupec při prvním shromažďování dat. Pokud je dosaženo maximálního počtu 500 sloupců, data pro všechny další sloupce se přidají do dynamického sloupce.
Služby Azure, které používají režim specifický pro prostředky, ukládají data v tabulce specifické pro danou službu a nepoužívají tabulku AzureDiagnostics. Podrobnosti o rozdílech najdete v protokolech prostředků Azure. Viz Prostředky využívající režim Diagnostiky Azure pro služby, které používají Azure Diagnostics.
Poznámka:
Tabulka AzureDiagnostics je vlastní tabulka protokolů vytvořená výhradně kanálem služby Azure Monitor při prvním zahájení odesílání protokolů v režimu diagnostiky Azure. Na rozdíl od jiných tabulek není možné tabulku AzureDiagnostics vytvořit pomocí šablony ARM nebo rozhraní API pro tabulky. V důsledku toho není možné před vytvořením upravit výchozí hodnoty uchovávání informací tabulky.
Sloupec AdditionalFields
Na rozdíl od jiných tabulek je AzureDiagnostics mnohem náchylnější k překročení limitu 500 sloupců uložených pro libovolnou tabulku v pracovním prostoru služby Log Analytics z důvodu široké škály prostředků Azure umožňujících odesílat data do této tabulky. Aby se zajistilo, že se neztratí žádná data kvůli počtu aktivních sloupců překračujících tento limit 500 sloupců, zpracovává se vytváření sloupců AzureDiagnostics jiným způsobem s jinými tabulkami.
Tabulka AzureDiagnostics v každém pracovním prostoru obsahuje minimálně stejných 200 sloupců. V případě pracovních prostorů vytvořených před 19. lednem 2021 obsahuje tabulka také všechny sloupce, které už byly zavedeny před tímto datem. Když se data odesílají do sloupce, který ještě není na místě:
- Pokud celkový počet sloupců v AzureDiagnostics v aktuálním pracovním prostoru nepřekročí 500, vytvoří se nový sloupec stejně jako u jakékoli jiné tabulky.
- Pokud je celkový počet sloupců vyšší nebo vyšší než 500, přidají se nadbytečná data do sloupce dynamické tašky vlastností s názvem AdditionalFields jako vlastnost.
Příklad
Pro ilustraci tohoto chování si představte, že od (data nasazení) tabulka AzureDiagnostics v našem pracovním prostoru vypadá takto:
Sloupec 1 | Sloupec 2 | Sloupec 3 | ... | Sloupec 498 |
---|---|---|---|---|
abc | def | 123 | ... | 456 |
... | ... | ... | ... | ... |
Prostředek, který odesílá data do AzureDiagnostics , pak přidá do svých dat novou dimenzi, kterou volají NewInfo1. Vzhledem k tomu, že tabulka stále obsahuje méně než 500 sloupců, při první události, která obsahuje data pro tuto novou dimenzi, přidá do tabulky nový sloupec:
Sloupec 1 | Sloupec 2 | Sloupec 3 | ... | Sloupec 498 | NewInfo1_s |
---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz |
... | ... | ... | ... | ... | ... |
Tato nová data můžete vrátit v jednoduchém dotazu:
AzureDiagnostics | where NewInfo1_s == "xyz"
Později odešle jiný prostředek data do AzureDiagnostics , který přidá nové dimenze s názvem NewInfo2 a NewInfo3. Protože tabulka dosáhla 500 sloupců v tomto pracovním prostoru, nová data se přejdou do sloupce AdditionalFields :
Sloupec 1 | Sloupec 2 | Sloupec 3 | ... | Sloupec 498 | NewInfo1_s | Další pole |
---|---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz | {"NewInfo2":"789","NewInfo3":"qwerty"} |
... | ... | ... | ... | ... | ... | ... |
Stále můžete dotazovat na tato data, ale musíte je extrahovat z tašky vlastností pomocí libovolného operátoru dynamických vlastností v KQL:
AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"
Tipy k používání AdditionalFields
sloupce
I když by se měly dodržovat osvědčené postupy pro dotazy, jako je vždy filtrování podle času jako první klauzule v dotazu, měli byste při práci s AdditionalFields zvážit několik dalších doporučení:
- Před provedením dalších operací s daty je nutné zadat data vysílání. Pokud máte například sloupec s názvem Perf1Sec_i a vlastnost v AdditionalFields s názvem Perf2Sec a chcete vypočítat celkový výkon přidáním obou hodnot, můžete použít následující:
AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
. - Klauzule where slouží ke snížení objemu dat na nejmenší možný objem dat před zápisem jakékoli složité logiky, aby se výrazně zlepšil výkon. TimeGenerated je jeden sloupec, který by se měl vždy snížit na nejmenší možné okno. V případě AzureDiagnostics by měl být v horní části dotazu vždy zahrnutý další filtr kolem typů prostředků, které se dotazují pomocí sloupce ResourceType .
- Při dotazování velkých objemů dat je někdy efektivnější provádět filtr na AdditionalFields jako celek a ne parsovat je. Například u velkých objemů dat
AzureDiagnostics | where AdditionalFields has "Perf2Sec"
je často efektivnější nežAzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))
.
Prostředky s využitím režimu Diagnostiky Azure
Následující služby používají pro své protokoly prostředků režim diagnostiky Azure a odesílají data do tabulky Azure Diagnostics. Podrobnosti o této konfiguraci najdete v protokolech prostředků Azure.
Poznámka:
Všechny ostatní prostředky odesílají data do tabulek specifických pro prostředky.
Service name | resourceType |
---|---|
MicrosoftSqlAzureTelemetryv3 | microsoft.sql/ servery/ databáze |
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/managedinstances |
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 |
TrafficManager | microsoft.network/trafficmanagerprofiles |
MicrosoftOrcasBreadthServers | microsoft.dbforpostgresql/servergroupsv2 |
AzureSearch | microsoft.search/searchservices |
AzureHybrid | microsoft.network/virtualnetworkgateways |
MicrosoftSqlAzureTelemetryv3 | microsoft.sql/managedinstances/databases |
PBIDedicatedRP | microsoft.powerbidedicated/capacities |
AzureHybrid | microsoft.network/vpngateways |
MicrosoftDatafactory | microsoft.datafactory/factory |
MicrosoftCognitiveServices | microsoft.cognitiveservices/accounts |
AzureRecoveryServices | 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 |
MicrosoftStreamanalytics | 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/cdnwebapplicationfirewallpolicies |
AzureHybrid | microsoft.network/expressroutecircuits |
MicrosoftAzureCosmosDB | microsoft.dbforpostgresql/flexibleservers |
NetMon | microsoft.network/publicipprefixes |
AzureCdn | microsoft.cdn/profiles/endpoints |
Režim diagnostiky Azure nebo režim specifický pro prostředky
Následující služby používají pro své protokoly prostředků režim diagnostiky Azure nebo režim specifický pro prostředky v závislosti na konfiguraci nastavení diagnostiky. Při použití režimu specifického pro prostředky tyto prostředky neodesílají data do tabulky AzureDiagnostics. Podrobnosti o této konfiguraci najdete v protokolech prostředků Azure.
Service name | resourceType |
---|---|
Služby API Management | Microsoft.ApiManagement |
Azure Cosmos DB | Microsoft.DocumentDB/databaseAccounts |
Datové továrny (V2) | Microsoft.DataFactory |
Trezory služby Recovery Services (Zálohování) | Microsoft.RecoveryServices/vaults |
Brány firewall | Microsoft.Network/azureFirewalls |
Sloupce tabulky AzureDiagnostics
Column | Type | Popis |
---|---|---|
action_id_s | String | |
action_name_s | String | |
action_s | String | |
ActivityId_g | Guid | |
Další pole | ||
AdHocOrScheduledJob_s | String | |
application_name_s | String | |
audit_schema_version_d | Hodnota s dvojitou přesností | |
avg_cpu_percent_s | String | |
avg_mean_time_s | String | |
backendHostname_s | String | |
Caller_s | String | |
callerId_s | String | |
CallerIPAddress | String | |
calls_s | String | |
Kategorie | String | |
client_ip_s | String | |
clientInfo_s | String | |
clientIP_s | String | |
clientIp_s | String | |
clientIpAddress_s | String | |
clientPort_d | Hodnota s dvojitou přesností | |
code_s | String | |
collectionName_s | String | |
conditions_destinationIP_s | String | |
conditions_destinationPortRange_s | String | |
conditions_None_s | String | |
conditions_protocols_s | String | |
conditions_sourceIP_s | String | |
conditions_sourcePortRange_s | String | |
CorrelationId | String | |
count_executions_d | Hodnota s dvojitou přesností | |
cpu_time_d | Hodnota s dvojitou přesností | |
database_name_s | String | |
database_principal_name_s | String | |
DatabaseName_s | String | |
db_id_s | String | |
direction_s | String | |
dop_d | Hodnota s dvojitou přesností | |
duration_d | Hodnota s dvojitou přesností | |
duration_milliseconds_d | Hodnota s dvojitou přesností | |
DurationMs | BigInt | |
ElasticPoolName_s | String | |
endTime_t | DateTime | |
Environment_s | String | |
error_code_s | String | |
error_message_s | String | |
errorLevel_s | String | |
event_class_s | String | |
event_s | String | |
event_subclass_s | String | |
event_time_t | DateTime | |
EventName_s | String | |
execution_type_d | Hodnota s dvojitou přesností | |
executionInfo_endTime_t | DateTime | |
executionInfo_exitCode_d | Hodnota s dvojitou přesností | |
executionInfo_startTime_t | DateTime | |
host_s | String | |
httpMethod_s | String | |
httpStatus_d | Hodnota s dvojitou přesností | |
httpStatusCode_d | Hodnota s dvojitou přesností | |
httpStatusCode_s | String | |
httpVersion_s | String | |
id_s | String | |
identity_claim_appid_g | Guid | |
identity_claim_ipaddr_s | String | |
instanceId_s | String | |
interval_end_time_d | Hodnota s dvojitou přesností | |
interval_start_time_d | Hodnota s dvojitou přesností | |
ip_s | String | |
is_column_permission_s | String | |
isAccessPolicyMatch_b | Bool | |
JobDurationInSecs_s | String | |
JobFailureCode_s | String | |
JobId_g | Guid | |
jobId_s | String | |
JobOperation_s | String | |
JobOperationSubType_s | String | |
JobStartDateTime_s | String | |
JobStatus_s | String | |
JobUniqueId_g | Guid | |
Level | String | |
log_bytes_used_d | Hodnota s dvojitou přesností | |
logical_io_reads_d | Hodnota s dvojitou přesností | |
logical_io_writes_d | Hodnota s dvojitou přesností | |
LogicalServerName_s | String | |
macAddress_s | String | |
matchedConnections_d | Hodnota s dvojitou přesností | |
max_cpu_time_d | Hodnota s dvojitou přesností | |
max_dop_d | Hodnota s dvojitou přesností | |
max_duration_d | Hodnota s dvojitou přesností | |
max_log_bytes_used_d | Hodnota s dvojitou přesností | |
max_logical_io_reads_d | Hodnota s dvojitou přesností | |
max_logical_io_writes_d | Hodnota s dvojitou přesností | |
max_num_physical_io_reads_d | Hodnota s dvojitou přesností | |
max_physical_io_reads_d | Hodnota s dvojitou přesností | |
max_query_max_used_memory_d | Hodnota s dvojitou přesností | |
max_rowcount_d | Hodnota s dvojitou přesností | |
max_time_s | String | |
mean_time_s | String | |
Message | String | |
min_time_s | String | |
msg_s | String | |
num_physical_io_reads_d | Hodnota s dvojitou přesností | |
object_id_d | Hodnota s dvojitou přesností | |
object_name_s | String | |
OperationName | String | |
OperationVersion | String | |
partitionKey_s | String | |
physical_io_reads_d | Hodnota s dvojitou přesností | |
plan_id_d | Hodnota s dvojitou přesností | |
policy_s | String | |
policyMode_s | String | |
primaryIPv4Address_s | String | |
priority_d | Hodnota s dvojitou přesností | |
properties_enabledForDeployment_b | Bool | |
properties_enabledForDiskEncryption_b | Bool | |
properties_enabledForTemplateDeployment_b | Bool | |
properties_s | String | |
properties_sku_Family_s | String | |
properties_sku_Name_s | String | |
properties_tenantId_g | Guid | |
query_hash_s | String | |
query_id_d | Hodnota s dvojitou přesností | |
query_max_used_memory_d | Hodnota s dvojitou přesností | |
query_plan_hash_s | String | |
query_time_d | Hodnota s dvojitou přesností | |
querytext_s | String | |
receivedBytes_d | Hodnota s dvojitou přesností | |
Region_s | String | |
requestCharge_s | String | |
requestQuery_s | String | |
requestResourceId_s | String | |
requestResourceType_s | String | |
requestUri_s | String | |
reserved_storage_mb_s | String | |
Prostředek | String | |
resource_actionName_s | String | |
resource_location_s | String | |
resource_originRunId_s | String | |
resource_resourceGroupName_s | String | |
resource_runId_s | String | |
resource_subscriptionId_g | Guid | |
resource_triggerName_s | String | |
resource_workflowId_g | Guid | |
resource_workflowName_s | String | |
ResourceGroup | String | |
_ResourceId | String | Jedinečný identifikátor prostředku, ke kterému je záznam přidružený |
ResourceProvider | String | |
ResourceProvider | String | |
ResourceType | String | |
ResourceType | String | |
response_rows_d | Hodnota s dvojitou přesností | |
resultCode_s | String | |
ResultDescription | String | |
ResultDescription | String | |
resultDescription_ChildJobs_s | String | |
resultDescription_ErrorJobs_s | String | |
resultMessage_s | String | |
ResultSignature | String | |
ResultType | String | |
ResultType | String | |
rootCauseAnalysis_s | String | |
routingRuleName_s | String | |
rowcount_d | Hodnota s dvojitou přesností | |
ruleName_s | String | |
RunbookName_s | String | |
RunOn_s | String | |
schema_name_s | String | |
sentBytes_d | Hodnota s dvojitou přesností | |
sequence_group_id_g | Guid | |
sequence_number_d | Hodnota s dvojitou přesností | |
server_principal_sid_s | String | |
session_id_d | Hodnota s dvojitou přesností |