AzureDiagnostics
Archivia i log delle risorse per i servizi di Azure che usano la modalità Diagnostica di Azure. I log delle risorse descrivono il funzionamento interno delle risorse di Azure.
Il log delle risorse per ogni servizio Azure presenta un set di colonne univoco. La tabella AzureDiagnostics include le colonne più comuni usate dai servizi di Azure. Se un log delle risorse include una colonna che non esiste già nella tabella AzureDiagnostics, tale colonna viene aggiunta la prima volta che vengono raccolti i dati. Se viene raggiunto il numero massimo di 500 colonne, i dati per eventuali colonne aggiuntive vengono aggiunti a una colonna dinamica.
I servizi di Azure che usano la modalità specifica della risorsa archiviano i dati in una tabella specifica del servizio e non usano la tabella AzureDiagnostics. Per informazioni dettagliate sulle differenze, vedere Log delle risorse di Azure. Vedere Risorse che usano la modalità Diagnostica di Azure per i servizi che usano Diagnostica di Azure.
Nota
La tabella AzureDiagnostics è una tabella di log personalizzata creata esclusivamente dalla pipeline di Monitoraggio di Azure la prima volta che una risorsa di Azure inizia a inviare i log in modalità Diagnostica di Azure. A differenza di altre tabelle, la tabella AzureDiagnostics non può essere creata tramite un modello di Resource Manager o un'API tabelle. Di conseguenza, non è possibile modificare i valori di conservazione predefiniti della tabella prima della creazione.
Colonna AdditionalFields
A differenza di altre tabelle, AzureDiagnostics è molto più soggetto al superamento del limite di 500 colonne imposto per qualsiasi tabella in un'area di lavoro Log Analytics a causa dell'ampia gamma di risorse di Azure in grado di inviare dati a questa tabella. Per assicurarsi che nessun dato venga perso a causa del numero di colonne attive che superano questo limite di 500 colonne, la creazione di colonne di AzureDiagnostics viene gestita in modo diverso rispetto ad altre tabelle.
La tabella AzureDiagnostics in ogni area di lavoro contiene almeno le stesse 200 colonne. Per le aree di lavoro create prima del 19 gennaio 2021, la tabella contiene anche tutte le colonne già presenti prima di questa data. Quando i dati vengono inviati a una colonna non già presenti:
- Se il numero totale di colonne in AzureDiagnostics nell'area di lavoro corrente non supera 500, viene creata una nuova colonna esattamente come con qualsiasi altra tabella.
- Se il numero totale di colonne è pari o superiore a 500, i dati in eccesso vengono aggiunti a una colonna contenitore delle proprietà dinamica denominata AdditionalFields come proprietà.
Esempio
Per illustrare questo comportamento, si supponga che a partire dalla data di distribuzione la tabella AzureDiagnostics nell'area di lavoro sia simile alla seguente:
Colonna 1 | Colonna 2 | Colonna 3 | ... | Colonna 498 |
---|---|---|---|---|
abc | DEF | 123 | ... | 456 |
... | ... | ... | ... | ... |
Una risorsa che invia dati ad AzureDiagnostics aggiunge quindi una nuova dimensione ai dati che chiamano NewInfo1. Poiché la tabella contiene ancora meno di 500 colonne, la prima volta che si verifica un evento che contiene dati per questa nuova dimensione aggiunge una nuova colonna alla tabella:
Colonna 1 | Colonna 2 | Colonna 3 | ... | Colonna 498 | NewInfo1_s |
---|---|---|---|---|---|
abc | DEF | 123 | ... | 456 | xyz |
... | ... | ... | ... | ... | ... |
È possibile restituire questi nuovi dati in una query semplice:
AzureDiagnostics | where NewInfo1_s == "xyz"
In un secondo momento, un'altra risorsa invia dati ad AzureDiagnostics che aggiunge nuove dimensioni denominate NewInfo2 e NewInfo3. Poiché la tabella ha raggiunto 500 colonne in questa area di lavoro, i nuovi dati vengono inseriti nella colonna AdditionalFields :
Colonna 1 | Colonna 2 | Colonna 3 | ... | Colonna 498 | NewInfo1_s | Campi aggiuntivi |
---|---|---|---|---|---|---|
abc | DEF | 123 | ... | 456 | xyz | {"NewInfo2":"789","NewInfo3":"qwerty"} |
... | ... | ... | ... | ... | ... | ... |
È comunque possibile eseguire query per questi dati, ma è necessario estrarli dal contenitore delle proprietà usando uno degli operatori di proprietà dinamici in KQL:
AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"
Suggerimenti sull'uso della AdditionalFields
colonna
Sebbene le procedure consigliate per le query, ad esempio l'applicazione di filtri sempre per volta come prima clausola nella query, è consigliabile considerare alcune altre raccomandazioni quando si lavora con AdditionalFields:
- È necessario digitare i dati prima di eseguire altre operazioni su di esso. Ad esempio, se si dispone di una colonna denominata Perf1Sec_i e di una proprietà in AdditionalFields denominata Perf2Sec e si desidera calcolare le prestazioni totali aggiungendo entrambi i valori, è possibile usare quanto segue:
AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
. - Usare le clausole where per ridurre il volume di dati al più piccolo possibile prima di scrivere una logica complessa per migliorare significativamente le prestazioni. TimeGenerated è una colonna che deve essere sempre ridotta alla finestra più piccola possibile. Nel caso di AzureDiagnostics, è necessario includere sempre un filtro aggiuntivo nella parte superiore della query sui tipi di risorse su cui viene eseguita una query usando la colonna ResourceType .
- Quando si eseguono query su grandi volumi di dati, a volte è più efficiente eseguire un filtro su AdditionalFields nel suo complesso anziché analizzarli. Ad esempio, per grandi volumi di dati,
AzureDiagnostics | where AdditionalFields has "Perf2Sec"
è spesso più efficiente diAzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))
.
Risorse che usano la modalità Diagnostica di Azure
I servizi seguenti usano la modalità diagnostica di Azure per i log delle risorse e inviano dati alla tabella Diagnostica di Azure. Per informazioni dettagliate su questa configurazione, vedere Log delle risorse di Azure.
Nota
Tutte le altre risorse inviano dati a tabelle specifiche delle risorse.
Nome servizio | resourceType |
---|---|
MicrosoftSqlAzureTelemetryv3 | microsoft.sql/servers/databases |
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 |
Gestione API | 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 |
Gestione traffico | 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/factories |
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 |
Diagnostica di Azure modalità o modalità specifica della risorsa
I servizi seguenti usano la modalità diagnostica di Azure o la modalità specifica della risorsa per i log delle risorse a seconda della configurazione delle impostazioni di diagnostica. Quando si usa la modalità specifica della risorsa, queste risorse non inviano dati alla tabella AzureDiagnostics. Per informazioni dettagliate su questa configurazione, vedere Log delle risorse di Azure.
Nome servizio | resourceType |
---|---|
servizi Gestione API | Microsoft.ApiManagement |
Azure Cosmos DB | Microsoft.DocumentDB/databaseAccounts |
Data Factory (V2) | Microsoft.DataFactory |
Insiemi di credenziali di Servizi di ripristino(Backup) | Microsoft.RecoveryServices/vaults |
Firewall | Microsoft.Network/azureFirewalls |
Colonne della tabella AzureDiagnostics
Column | Type | Descrizione |
---|---|---|
action_id_s | String | |
action_name_s | String | |
action_s | String | |
ActivityId_g | GUID | |
Campi aggiuntivi | ||
AdHocOrScheduledJob_s | String | |
application_name_s | String | |
audit_schema_version_d | Double | |
avg_cpu_percent_s | String | |
avg_mean_time_s | String | |
backendHostname_s | String | |
Caller_s | String | |
callerId_s | String | |
CallerIPAddress | String | |
calls_s | String | |
Categoria | String | |
client_ip_s | String | |
clientInfo_s | String | |
clientIP_s | String | |
clientIp_s | String | |
clientIpAddress_s | String | |
clientPort_d | Double | |
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 | Double | |
cpu_time_d | Double | |
database_name_s | String | |
database_principal_name_s | String | |
DatabaseName_s | String | |
db_id_s | String | |
direction_s | String | |
dop_d | Double | |
duration_d | Double | |
duration_milliseconds_d | Double | |
DurationMs | BigInt | |
ElasticPoolName_s | String | |
endTime_t | Data/Ora | |
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 | Data/Ora | |
EventName_s | String | |
execution_type_d | Double | |
executionInfo_endTime_t | Data/Ora | |
executionInfo_exitCode_d | Double | |
executionInfo_startTime_t | Data/Ora | |
host_s | String | |
httpMethod_s | String | |
httpStatus_d | Double | |
httpStatusCode_d | Double | |
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 | Double | |
interval_start_time_d | Double | |
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 | |
Livello | String | |
log_bytes_used_d | Double | |
logical_io_reads_d | Double | |
logical_io_writes_d | Double | |
LogicalServerName_s | String | |
macAddress_s | String | |
matchedConnections_d | Double | |
max_cpu_time_d | Double | |
max_dop_d | Double | |
max_duration_d | Double | |
max_log_bytes_used_d | Double | |
max_logical_io_reads_d | Double | |
max_logical_io_writes_d | Double | |
max_num_physical_io_reads_d | Double | |
max_physical_io_reads_d | Double | |
max_query_max_used_memory_d | Double | |
max_rowcount_d | Double | |
max_time_s | String | |
mean_time_s | String | |
Message | String | |
min_time_s | String | |
msg_s | String | |
num_physical_io_reads_d | Double | |
object_id_d | Double | |
object_name_s | String | |
OperationName | String | |
OperationVersion | String | |
partitionKey_s | String | |
physical_io_reads_d | Double | |
plan_id_d | Double | |
policy_s | String | |
policyMode_s | String | |
primaryIPv4Address_s | String | |
priority_d | Double | |
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 | Double | |
query_max_used_memory_d | Double | |
query_plan_hash_s | String | |
query_time_d | Double | |
querytext_s | String | |
receivedBytes_d | Double | |
Region_s | String | |
requestCharge_s | String | |
requestQuery_s | String | |
requestResourceId_s | String | |
requestResourceType_s | String | |
requestUri_s | String | |
reserved_storage_mb_s | String | |
Conto risorse | 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 | Identificatore univoco della risorsa a cui è associato il record. |
ResourceProvider | String | |
ResourceProvider | String | |
ResourceType | String | |
ResourceType | String | |
response_rows_d | Double | |
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 | Double | |
ruleName_s | String | |
RunbookName_s | String | |
RunOn_s | String | |
schema_name_s | String | |
sentBytes_d | Double | |
sequence_group_id_g | GUID | |
sequence_number_d | Double | |
server_principal_sid_s | String | |
session_id_d | Double |