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 i dati specifici della risorsa archiviano i dati in una tabella specifica per tale servizio e non usano la tabella AzureDiagnostics. Per i servizi che usano ogni metodo, vedere Tipi di risorse seguenti. Per informazioni dettagliate sulle differenze, vedere Log delle risorse di Azure .

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 non vengano persi dati a causa del numero di colonne attive che superano questo limite di 500 colonne, la creazione della colonna AzureDiagnostics viene gestita in modo diverso da altre tabelle.

La tabella AzureDiagnostics in ogni area di lavoro conterrà almeno le stesse 200 colonne. Per le aree di lavoro create prima del 19 gennaio 2021, la tabella conterrà anche le colonne già presenti prima di questa data. Quando i dati vengono inviati a una colonna non già presente:

  • Se il numero totale di colonne in AzureDiagnostics nell'area di lavoro corrente non supera 500, verrà 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 del contenitore di proprietà dinamica denominata AdditionalFields come proprietà.

Esempio

Per illustrare questo comportamento, si supponga che a partire dalla data di distribuzione la tabella AzureDiagnostics nell'oggetto workpsace sia simile al 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 ha ancora meno di 500 colonne, la prima volta che si verifica un evento che contiene dati per questa nuova dimensione aggiungerà 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 semplice query:

AzureDiagnostics | where NewInfo1_s == "xyz"

In un secondo momento, un'altra risorsa invia dati a AzureDiagnostics che aggiunge nuove dimensioni denominate NewInfo2 e NewInfo3. Poiché la tabella ha raggiunto 500 colonne in questa area di lavoro, i nuovi dati verranno 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 estrarlo 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 colonna AdditionalFields

Sebbene le procedure consigliate di query generali, ad esempio l'applicazione di filtri sempre in base alla prima clausola nella query, è consigliabile prendere in considerazione alcune altre raccomandazioni quando si usa AdditionalFields:

  • È necessario digitare i dati prima di eseguire ulteriori operazioni su di esso. Ad esempio, se esiste una colonna denominata Perf1Sec_i e una proprietà in AdditionalFields denominata Perf2Sec e si vuole calcolare il totale perf aggiungendo entrambi i valori, usare un valore simile a : AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | .....
  • Usare le clausole dove 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, un filtro aggiuntivo deve essere sempre incluso nella parte superiore della query intorno ai tipi di risorse sottoposti a query usando la colonna ResourceType .
  • Quando si esegue una query su volumi di dati di grandi dimensioni, a volte è più efficiente eseguire un filtro su AdditionalFields nel suo complesso anziché analizzarlo. Ad esempio, per grandi volumi di dati AzureDiagnostics | where AdditionalFields has "Perf2Sec" è spesso più efficiente di AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec)).

Diagnostica di Azure modalità

I servizi seguenti usano la modalità diagnostica di Azure per i log delle risorse e inviare dati alla tabella Diagnostica di Azure.

  • Analysis Services
  • Gateway applicazione
  • Account di automazione
  • Database di Azure per i server MariaDB
  • Server di Database di Azure per MySQL
  • Server di Database di Azure per PostgreSQL
  • server Database di Azure per PostgreSQL v2
  • Account Batch
  • Profili di rete CDN
  • Servizi cognitivi
  • Data Lake Analytics
  • DataLake Storage Gen1
  • Servizi di provisioning dei dispositivi
  • Gemelli digitali
  • Argomenti di Griglia di eventi
  • Hub eventi
  • Circuiti ExpressRoute
  • Porte front-end
  • Account di integrazione
  • Key Vault
  • Servizi Kubernetes
  • Servizi di bilanciamento del carico
  • App per la logica
  • Servizi multimediali
  • Interfacce di rete
  • Gruppi di sicurezza di rete
  • Gateway VPN da punto a sito
  • Power BI Embedded
  • Indirizzi IP pubblici
  • Insiemi di credenziali di Servizi di ripristino(Site Recovery)
  • Servizi di ricerca
  • Bus di servizio
  • Database SQL
  • Istanze gestite da SQL
  • Server di SQL
  • Processi di analisi di flusso
  • Profili di Gestione traffico
  • Reti virtuali
  • Gateway di rete virtuale
  • Gateway VPN

modalità Diagnostica di Azure 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. Quando usano la modalità specifica della risorsa, non inviano dati alla tabella AzureDiagnostics. Per informazioni dettagliate su questa configurazione, vedere Log delle risorse di Azure .

  • Gestione API Servizi
  • Azure Cosmos DB
  • Data factory (V2)
  • Hub IoT
  • Insiemi di credenziali di Servizi di ripristino(Backup)
  • Firewall

Categorie

  • Risorse di Azure
  • Sicurezza
  • Rete

Soluzioni

  • LogManagement

Tipi di risorsa

  • Gateway applicazione
  • Profili di rete CDN
  • Azure Cosmos DB
  • Argomenti di Griglia di eventi
  • Hub eventi
  • Firewall
  • Insiemi di credenziali delle chiavi
  • Servizi Kubernetes
  • Insiemi di credenziali dei servizi di ripristino
  • Bus di servizio
  • Server flessibili del Database di Azure per MySQL
  • server flessibili Database di Azure per PostgreSQL
  • Servizi multimediali
  • Analysis Services
  • Account Batch
  • Servizi cognitivi
  • Spazi dei nomi partner griglia di eventi
  • Argomenti partner griglia di eventi
  • Argomenti relativi al sistema griglia di eventi
  • Kubernetes con abilitazione di Azure Arc
  • Cluster con provisioning di Azure Arc
  • Hub IoT
  • App per la logica
  • Servizi Gestione API
  • Account di Automazione
  • Data factory
  • Data Lake Storage Gen1
  • Data Lake Analytics
  • Power BI Embedded
  • Istanze gestite SQL
  • Server SQL
  • DATABASE SQL
  • server Database di Azure per MySQL
  • Database di Azure per server PostgreSQL
  • server Database di Azure per PostgreSQL V2
  • server Database di Azure per MariaDB
  • Servizi di provisioning dei dispositivi
  • Circuiti ExpressRoute
  • Porte front-end
  • Interfacce di rete
  • Gruppi di sicurezza di rete
  • Indirizzi IP pubblici
  • Profili di Gestione traffico
  • Gateway di rete virtuale
  • Gateway di rete privata virtuale
  • Reti virtuali
  • Servizi di ricerca
  • Processi di analisi di flusso

Colonne

Colonna Tipo 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
Category 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 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 Double
executionInfo_endTime_t Datetime
executionInfo_exitCode_d Double
executionInfo_startTime_t Datetime
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
Risorsa 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 per la risorsa associata al 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