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 de tabel AzureDiagnostics niet gebruiken. Zie de onderstaande resourcetypen voor de services die elke methode gebruiken. Zie Azure-resourcelogboeken voor meer informatie over de verschillen.
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 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
Om dit gedrag te illustreren, stelt u zich voor dat de tabel AzureDiagnostics op basis van (implementatiedatum) in onze workpsace 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, gaan de nieuwe gegevens naar de kolom AdditionalFields :
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 eigenschappentas 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 kolom AdditionalFields
Hoewel algemene 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 er bijvoorbeeld een kolom bestaat 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, gebruikt u bijvoorbeeld:
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 er altijd een extra filter worden opgenomen boven aan de query rond de resourcetypen waarop een query wordt uitgevoerd met behulp van de kolom ResourceType .
- Bij het uitvoeren van query's op zeer 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))
.
Azure Diagnostics-modus
De volgende services gebruiken de diagnostische modus van Azure voor hun resourcelogboeken en verzenden gegevens naar de Azure Diagnostics-tabel.
- Analysis Services
- Toepassingsgateways
- Automation-accounts
- Azure Database for MariaDB-servers
- Azure Database for MySQL-servers
- Azure Database for PostgreSQL-servers
- Azure Database for PostgreSQL-servers v2
- Batch-accounts
- CDN-profielen
- Cognitive Services
- Data Lake Analytics
- DataLake Storage Gen1
- Device Provisioning Services
- Digital Twins
- Event Grid-onderwerpen
- Event Hubs
- ExpressRoute-circuits
- Front Door Service
- Integratieaccounts
- Key Vault
- Kubernetes-services
- Load balancers
- Logic Apps
- Media Services
- Netwerkinterfaces
- Netwerkbeveiligingsgroepen
- P2S VPN-gateways
- Power BI Embedded
- Openbare IP-adressen
- Recovery Services-kluizen (Site Recovery)
- Services zoeken
- Service Bus
- SQL-databases
- Met SQL beheerde exemplaren
- SQL-servers
- Stream Analytics-taken
- Traffic Manager-profielen
- Virtuele netwerken
- Virtuele netwerkgateways
- VPN-gateways
Azure Diagnostics-modus of resourcespecifieke modus
De volgende services gebruiken de diagnostische modus van Azure of de resourcespecifieke modus voor hun resourcelogboeken, afhankelijk van hun configuratie. Wanneer ze de resourcespecifieke modus gebruiken, verzenden ze geen gegevens naar de azureDiagnostics-tabel. Zie Azure-resourcelogboeken voor meer informatie over deze configuratie.
- API Management Services
- Azure Cosmos DB
- Gegevensfactory's (V2)
- IoT Hub
- Recovery Services-kluizen (back-up)
- Firewalls
Categorieën
- Azure-bronnen
- Beveiliging
- Netwerk
Oplossingen
- LogManagement
Resourcetypen
- Toepassingsgateways
- CDN-profielen
- Azure Cosmos DB
- Event Grid-onderwerpen
- Event Hubs
- Firewalls
- Sleutelkluizen
- Kubernetes-services
- Recovery Services-kluizen
- Service Bus
- Azure Database for MySQL Flexibele servers
- Flexibele Azure Database for PostgreSQL-servers
- Media Services
- Analysis Services
- Batch-accounts
- Cognitive Services
- Event Grid-partnernaamruimten
- Event Grid-partneronderwerpen
- Event Grid-systeemonderwerpen
- Kubernetes met Azure Arc
- Ingerichte Azure Arc-clusters
- IoT Hub
- Logic Apps
- API Management-services
- Automation-account
- Data Factory
- Data Lake Storage Gen1
- Data Lake Analytics
- Power BI Embedded
- Beheerde SQL-exemplaren
- SQL-servers
- SQL Databases
- Azure Database for MySQL-servers
- Azure Database for PostgreSQL-servers
- Azure Database for PostgreSQL-servers V2
- Azure Database for MariaDB-servers
- Device Provisioning Services
- ExpressRoute-circuits
- Front Door Service
- Netwerkinterfaces
- Netwerkbeveiligingsgroepen
- Openbare IP-adressen
- Traffic Manager-profielen
- Virtuele netwerkgateways
- Gateways voor virtueel particulier netwerk
- Virtuele netwerken
- Search-services
- Stream Analytics-taken
Kolommen
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 |
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor