AzureDiagnostics
Slaat resourcelogboeken op voor Azure-services die gebruikmaken van de diagnostische modus van Azure. Resourcelogboeken beschrijven de interne werking van Azure-resources.
Het resourcelogboek voor elke Azure-service heeft een unieke set kolommen. De tabel AzureDiagnostics bevat de meest voorkomende kolommen die worden gebruikt door Azure-services. Als een resourcelogboek een kolom bevat die nog niet bestaat in de tabel AzureDiagnostics, wordt die kolom toegevoegd wanneer er voor de eerste keer gegevens worden verzameld. Als het maximumaantal van 500 kolommen is bereikt, worden gegevens voor eventuele extra kolommen toegevoegd aan een dynamische kolom.
Azure-services die gebruikmaken van de resourcespecifieke modus slaan gegevens op in een tabel die specifiek is voor die service en die niet de tabel AzureDiagnostics gebruiken. Zie Azure-resourcelogboeken voor meer informatie over de verschillen. Zie Resources met behulp van azure Diagnostics-modus voor de services die gebruikmaken van Azure Diagnostics.
Notitie
De AzureDiagnostics-tabel is een aangepaste logboektabel die uitsluitend door de Azure Monitor-pijplijn wordt gemaakt wanneer een Azure-resource voor het eerst logboeken verzendt in de modus Diagnostische gegevens van Azure. In tegenstelling tot andere tabellen kan de AzureDiagnostics-tabel niet worden gemaakt via een ARM-sjabloon of tabellen-API. Daarom is het niet mogelijk om de standaardretentiewaarden van de tabel te wijzigen voordat deze wordt gemaakt.
Kolom AdditionalFields
In tegenstelling tot andere tabellen is AzureDiagnostics veel gevoeliger voor het overschrijden van de limiet van 500 kolommen voor elke tabel in een Log Analytics-werkruimte vanwege het brede assortiment Azure-resources dat gegevens naar deze tabel kan verzenden. Om ervoor te zorgen dat er geen gegevens verloren gaan als gevolg van het aantal actieve kolommen dat deze limiet van 500 kolommen overschrijdt, wordt het maken van azureDiagnostics-kolommen op een andere manier verwerkt voor andere tabellen.
De tabel AzureDiagnostics in elke werkruimte bevat minimaal dezelfde 200 kolommen. Voor werkruimten die vóór 19 januari 2021 zijn gemaakt, bevat de tabel ook kolommen die al vóór deze datum aanwezig waren. Wanneer gegevens naar een kolom worden verzonden die nog niet aanwezig zijn:
- Als het totale aantal kolommen in AzureDiagnostics in de huidige werkruimte niet groter is dan 500, wordt er een nieuwe kolom gemaakt, net als bij een andere tabel.
- Als het totale aantal kolommen zich op of boven de 500 bevindt, worden de overtollige gegevens toegevoegd aan een kolom met dynamische eigenschappenverzamelingen met de naam AdditionalFields als eigenschap.
Opmerking
Als u dit gedrag wilt illustreren, stelt u zich voor dat de tabel AzureDiagnostics in onze werkruimte er als volgt uitziet:
Kolom 1 | Kolom 2 | Kolom 3 | ... | Kolom 498 |
---|---|---|---|---|
abc | def | 123 | ... | 456 |
... | ... | ... | ... | ... |
Een resource die gegevens naar AzureDiagnostics verzendt, voegt vervolgens een nieuwe dimensie toe aan de gegevens die ze NewInfo1 noemen. Omdat de tabel nog steeds minder dan 500 kolommen bevat, wordt voor het eerst een gebeurtenis met gegevens voor deze nieuwe dimensie toegevoegd aan de tabel:
Kolom 1 | Kolom 2 | Kolom 3 | ... | Kolom 498 | NewInfo1_s |
---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz |
... | ... | ... | ... | ... | ... |
U kunt deze nieuwe gegevens retourneren in een eenvoudige query:
AzureDiagnostics | where NewInfo1_s == "xyz"
Op een latere datum verzendt een andere resource gegevens naar AzureDiagnostics waarmee nieuwe dimensies met de naam NewInfo2 en NewInfo3 worden toegevoegd. Omdat de tabel 500 kolommen in deze werkruimte heeft bereikt, worden de nieuwe gegevens in de kolom AdditionalFields geplaatst:
Kolom 1 | Kolom 2 | Kolom 3 | ... | Kolom 498 | NewInfo1_s | AdditionalFields |
---|---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz | {"NewInfo2":"789","NewInfo3":"qwerty"} |
... | ... | ... | ... | ... | ... | ... |
U kunt nog steeds query's uitvoeren op deze gegevens, maar u moet deze extraheren uit de eigenschappenverzameling met behulp van een van de dynamische eigenschapsoperators in KQL:
AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"
Tips voor het gebruik van de AdditionalFields
kolom
Hoewel best practices voor query's, zoals altijd filteren op tijd als de eerste component in de query, moeten worden gevolgd, zijn er enkele andere aanbevelingen die u moet overwegen bij het werken met AdditionalFields:
- U moet gegevens typen voordat u er verdere bewerkingen op uitvoert. Als u bijvoorbeeld een kolom hebt met de naam Perf1Sec_i en een eigenschap in AdditionalFields met de naam Perf2Sec en u het totaal perf wilt berekenen door beide waarden toe te voegen, kunt u het volgende gebruiken:
AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
- Gebruik where-componenten om het gegevensvolume zo klein mogelijk te verminderen voordat u complexe logica schrijft om de prestaties aanzienlijk te verbeteren. TimeGenerated is één kolom die altijd moet worden teruggebracht tot het kleinste mogelijke venster. In het geval van AzureDiagnostics moet boven aan de query altijd een extra filter worden opgenomen rond de resourcetypen die worden opgevraagd met behulp van de kolom ResourceType .
- Bij het uitvoeren van query's op grote hoeveelheden gegevens is het soms efficiënter om een filter uit te voeren op AdditionalFields als geheel in plaats van deze te parseren . Voor grote hoeveelheden gegevens
AzureDiagnostics | where AdditionalFields has "Perf2Sec"
is bijvoorbeeld vaak efficiënter danAzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))
.
Resources met behulp van azure Diagnostics-modus
De volgende services gebruiken de diagnostische modus van Azure voor hun resourcelogboeken en verzenden gegevens naar de Azure Diagnostics-tabel. Zie Azure-resourcelogboeken voor meer informatie over deze configuratie.
Notitie
Alle andere resources verzenden gegevens naar resourcespecifieke tabellen.
Servicenaam | 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 |
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/capaciteiten |
AzureHybrid | microsoft.network/vpngateways |
MicrosoftDatafactory | microsoft.datafactory/factory's |
MicrosoftCognitiveServices | microsoft.cognitiveservices/accounts |
AzureRecoveryServices | microsoft.recoveryservices/kluizen |
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/naamruimten |
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 |
Azure Diagnostics-modus of resourcespecifieke modus
De volgende services gebruiken de diagnostische modus van Azure of de resourcespecifieke modus voor hun resourcelogboeken, afhankelijk van de configuratie van de diagnostische instellingen. Wanneer u de resourcespecifieke modus gebruikt, verzenden deze resources geen gegevens naar de tabel AzureDiagnostics. Zie Azure-resourcelogboeken voor meer informatie over deze configuratie.
Servicenaam | resourceType |
---|---|
API Management Services | Microsoft.ApiManagement |
Azure Cosmos DB | Microsoft.DocumentDB/databaseAccounts |
Gegevensfactory's (V2) | Microsoft.DataFactory |
Recovery Services-kluizen (back-up) | Microsoft.RecoveryServices/vaults |
Firewalls | Microsoft.Network/azureFirewalls |
AzureDiagnostics-tabelkolommen
Column | Type | Description |
---|---|---|
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 | Dubbel | |
avg_cpu_percent_s | String | |
avg_mean_time_s | String | |
backendHostname_s | String | |
Caller_s | String | |
callerId_s | String | |
CallerIPAddress | String | |
calls_s | String | |
Categorie | String | |
client_ip_s | String | |
clientInfo_s | String | |
clientIP_s | String | |
clientIp_s | String | |
clientIpAddress_s | String | |
clientPort_d | Dubbel | |
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 | Dubbel | |
cpu_time_d | Dubbel | |
database_name_s | String | |
database_principal_name_s | String | |
DatabaseName_s | String | |
db_id_s | String | |
direction_s | String | |
dop_d | Dubbel | |
duration_d | Dubbel | |
duration_milliseconds_d | Dubbel | |
DurationMs | BigInt | |
ElasticPoolName_s | String | |
endTime_t | Datum en tijd | |
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 | Datum en tijd | |
EventName_s | String | |
execution_type_d | Dubbel | |
executionInfo_endTime_t | Datum en tijd | |
executionInfo_exitCode_d | Dubbel | |
executionInfo_startTime_t | Datum en tijd | |
host_s | String | |
httpMethod_s | String | |
httpStatus_d | Dubbel | |
httpStatusCode_d | Dubbel | |
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 | Dubbel | |
interval_start_time_d | Dubbel | |
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 | |
Niveau | String | |
log_bytes_used_d | Dubbel | |
logical_io_reads_d | Dubbel | |
logical_io_writes_d | Dubbel | |
LogicalServerName_s | String | |
macAddress_s | String | |
matchedConnections_d | Dubbel | |
max_cpu_time_d | Dubbel | |
max_dop_d | Dubbel | |
max_duration_d | Dubbel | |
max_log_bytes_used_d | Dubbel | |
max_logical_io_reads_d | Dubbel | |
max_logical_io_writes_d | Dubbel | |
max_num_physical_io_reads_d | Dubbel | |
max_physical_io_reads_d | Dubbel | |
max_query_max_used_memory_d | Dubbel | |
max_rowcount_d | Dubbel | |
max_time_s | String | |
mean_time_s | String | |
Bericht | String | |
min_time_s | String | |
msg_s | String | |
num_physical_io_reads_d | Dubbel | |
object_id_d | Dubbel | |
object_name_s | String | |
OperationName | String | |
OperationVersion | String | |
partitionKey_s | String | |
physical_io_reads_d | Dubbel | |
plan_id_d | Dubbel | |
policy_s | String | |
policyMode_s | String | |
primaryIPv4Address_s | String | |
priority_d | Dubbel | |
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 | Dubbel | |
query_max_used_memory_d | Dubbel | |
query_plan_hash_s | String | |
query_time_d | Dubbel | |
querytext_s | String | |
receivedBytes_d | Dubbel | |
Region_s | String | |
requestCharge_s | String | |
requestQuery_s | String | |
requestResourceId_s | String | |
requestResourceType_s | String | |
requestUri_s | String | |
reserved_storage_mb_s | String | |
Bron | 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 | Een unieke id voor de resource waaraan de record is gekoppeld |
ResourceProvider | String | |
ResourceProvider | String | |
ResourceType | String | |
ResourceType | String | |
response_rows_d | Dubbel | |
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 | Dubbel | |
ruleName_s | String | |
RunbookName_s | String | |
RunOn_s | String | |
schema_name_s | String | |
sentBytes_d | Dubbel | |
sequence_group_id_g | Guid | |
sequence_number_d | Dubbel | |
server_principal_sid_s | String | |
session_id_d | Dubbel |