AzureDiagnostics
Armazena logs de recursos dos serviços do Azure que usam o modo de Diagnóstico do Azure. Os logs de recursos descrevem a operação interna dos recursos do Azure.
O log de recursos para cada serviço do Azure tem um conjunto exclusivo de colunas. A tabela AzureDiagnostics inclui as colunas mais comuns usadas pelos serviços do Azure. Se um log de recursos incluir uma coluna que ainda não existe na tabela AzureDiagnostics, essa coluna será adicionada na primeira vez que os dados forem coletados. Se o número máximo de 500 colunas for atingido, os dados de todas as colunas adicionais serão incluídos em uma coluna dinâmica.
Os serviços do Azure que usam o modo específico do recurso armazenam dados em uma tabela específica desse serviço e não usam a tabela AzureDiagnostics. Consulte Tipos de recursos abaixo para os serviços que usam cada método. Confira Logs de recursos do Azure para obter detalhes sobre as diferenças.
Coluna AdditionalFields
Ao contrário de outras tabelas, o AzureDiagnostics é muito mais suscetível a exceder o limite de 500 colunas imposto para qualquer tabela em um workspace do Log Analytics devido à ampla variedade de recursos do Azure capazes de enviar dados para essa tabela. Para garantir que nenhum dado seja perdido devido ao número de colunas ativas que excedem esse limite de 500 colunas, a criação da coluna AzureDiagnostics é tratada de maneira diferente para outras tabelas.
A tabela AzureDiagnostics em cada workspace conterá no mínimo as mesmas 200 colunas. Para workspaces criados antes de 19 de janeiro de 2021, a tabela também conterá todas as colunas que já estavam em vigor antes dessa data. Quando os dados são enviados para uma coluna ainda não em vigor:
- Se o número total de colunas no AzureDiagnostics no workspace atual não exceder 500, uma nova coluna será criada da mesma forma que qualquer outra tabela.
- Se o número total de colunas estiver em ou acima de 500, os dados em excesso serão adicionados a uma coluna de recipiente de propriedades dinâmica chamada AdditionalFields como uma propriedade.
Exemplo
Para ilustrar esse comportamento, imagine que a partir de (data de implantação) a tabela AzureDiagnostics em nosso workpsace tenha a seguinte aparência:
Coluna 1 | Coluna 2 | Coluna 3 | ... | Coluna 498 |
---|---|---|---|---|
abc | def | 123 | ... | 456 |
... | ... | ... | ... | ... |
Um recurso que envia dados para o AzureDiagnostics adiciona uma nova dimensão aos dados que eles chamam de NewInfo1. Como a tabela ainda tem menos de 500 colunas, a primeira vez que ocorrer um evento que contenha dados para essa nova dimensão adicionará uma nova coluna à tabela:
Coluna 1 | Coluna 2 | Coluna 3 | ... | Coluna 498 | NewInfo1_s |
---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz |
... | ... | ... | ... | ... | ... |
Você pode retornar esses novos dados em uma consulta simples:
AzureDiagnostics | where NewInfo1_s == "xyz"
Em uma data posterior, outro recurso envia dados ao AzureDiagnostics que adiciona novas dimensões chamadas NewInfo2 e NewInfo3. Como a tabela atingiu 500 colunas neste workspace, os novos dados entrarão na coluna AdditionalFields :
Coluna 1 | Coluna 2 | Coluna 3 | ... | Coluna 498 | NewInfo1_s | AdditionalFields |
---|---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz | {"NewInfo2":"789","NewInfo3":"qwerty"} |
... | ... | ... | ... | ... | ... | ... |
Você ainda pode consultar esses dados, mas deve extraí-los do recipiente de propriedades usando qualquer um dos operadores de propriedade dinâmica no KQL:
AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"
Dicas sobre como usar a coluna AdditionalFields
Embora as práticas recomendadas de consulta geral, como sempre filtrar por tempo como a primeira cláusula na consulta, devem ser seguidas, há algumas outras recomendações que você deve considerar ao trabalhar com AdditionalFields:
- Você precisará digitar dados antes de executar outras operações nele. Por exemplo, se existir uma coluna chamada Perf1Sec_i , bem como uma propriedade em AdditionalFields chamada Perf2Sec, e você quiser calcular o total de perf adicionando ambos os valores, use algo como:
AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
. - Use cláusulas where para reduzir o volume de dados para o menor possível antes de escrever qualquer lógica complexa para melhorar significativamente o desempenho. TimeGenerated é uma coluna que sempre deve ser reduzida à menor janela possível. No caso do AzureDiagnostics, um filtro adicional também sempre deve ser incluído na parte superior da consulta em torno dos tipos de recursos que estão sendo consultados usando a coluna ResourceType .
- Ao consultar volumes muito grandes de dados, às vezes é mais eficiente fazer um filtro em AdditionalFields como um todo em vez de analisá-los. Por exemplo, para grandes volumes de dados
AzureDiagnostics | where AdditionalFields has "Perf2Sec"
, geralmente é mais eficiente do queAzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))
.
modo Diagnóstico do Azure
Os serviços a seguir usam o modo diagnóstico do Azure para seus logs de recursos e enviam dados para a tabela Diagnóstico do Azure.
- Analysis Services
- Gateways do Aplicativo
- Contas de Automação
- Banco de dados do Azure para MariaDB
- Servidores do Banco de Dados do Azure para MySQL
- Banco de Dados do Azure para servidores PostgreSQL
- servidores Banco de Dados do Azure para PostgreSQL v2
- Contas do Lote
- Perfis CDN
- Serviços Cognitivos
- Data Lake Analytics
- DataLake Storage Gen1
- Serviços de Provisionamento de Dispositivos
- Gêmeos Digitais
- Tópicos de Grade de Eventos
- Hubs de Eventos
- Circuitos do ExpressRoute
- Portas da Frente
- Contas de integração
- Key Vault
- Serviços de Kubernetes
- Balanceadores de carga
- Aplicativos Lógicos
- Serviços de mídia
- Adaptadores de rede
- Grupos de segurança de rede
- Gateways de VPN P2S
- Power BI Embedded
- Endereços IP públicos
- Cofres dos Serviços de Recuperação (Site Recovery)
- Serviços Search
- Barramento de Serviço
- Bancos de dados SQL
- Instâncias gerenciadas de SQL
- Servidores SQL
- Trabalhos do Stream Analytics
- Perfis do Gerenciador de Tráfego
- Redes virtuais
- Gateways de rede virtual
- Gateways VPN
modo de Diagnóstico do Azure ou modo específico do recurso
Os serviços a seguir usam o modo diagnóstico do Azure ou o modo específico do recurso para seus logs de recursos, dependendo de sua configuração. Quando eles usam o modo específico do recurso, eles não enviam dados para a tabela AzureDiagnostics. Consulte Logs de recursos do Azure para obter detalhes sobre essa configuração.
- serviços Gerenciamento de API
- Azure Cosmos DB
- Data factories (V2)
- Hub IoT
- Cofres dos Serviços de Recuperação (Backup)
- Firewalls
Categorias
- Recursos do Azure
- Segurança
- Rede
Soluções
- LogManagement
Tipos de recurso
- Gateways do Aplicativo
- Perfis de CDN
- Azure Cosmos DB
- Tópicos de Grade de Eventos
- Hubs de Eventos
- Firewalls
- Cofres de Chaves
- Serviços Kubernetes
- Cofres dos Serviços de Recuperação
- Barramento de Serviço
- Servidor flexível do Banco de Dados do Azure para MySQL
- servidores flexíveis Banco de Dados do Azure para PostgreSQL
- Serviços de Mídia
- Analysis Services
- Contas do Lote
- Serviços Cognitivos
- Namespaces do Parceiro da Grade de Eventos
- Tópicos do Parceiro da Grade de Eventos
- Tópicos do sistema de grade de eventos
- Kubernetes habilitado para Azure Arc
- Clusters provisionados do Azure Arc
- Hub IoT
- Aplicativos Lógicos
- Serviços de Gerenciamento de API
- Conta de automação
- Data factories
- Data Lake Storage Gen1
- Data Lake Analytics
- Power BI Embedded
- Instâncias gerenciadas do SQL
- SQL Servers
- BANCOS DE DADOS SQL
- servidores Banco de Dados do Azure para MySQL
- Banco de Dados do Azure para servidores PostgreSQL
- servidores Banco de Dados do Azure para PostgreSQL V2
- servidores Banco de Dados do Azure para MariaDB
- Serviços de Provisionamento de Dispositivos
- Circuitos do ExpressRoute
- Portas da Frente
- Interfaces de Rede
- Grupos de segurança de rede
- Endereços IP públicos
- Perfis do Gerenciador de Tráfego
- Gateways de Rede Virtual
- Gateways de Rede Virtual Privada
- Redes Virtuais
- Serviços de pesquisa
- Trabalhos do Stream Analytics
Colunas
Coluna | Tipo | Descrição |
---|---|---|
action_id_s | String | |
action_name_s | String | |
action_s | String | |
ActivityId_g | Guid | |
AdditionalFields | ||
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 | 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 | |
Nível | 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 | |
Mensagem | 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 | |
Recurso | 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 | Identificador exclusivo do recurso ao qual o registro está associado |
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 |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de