Share via


AzureDiagnostics

Slaat resourcelogboeken op voor Azure-services die gebruikmaken van Azure Diagnostics-modus. 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 maken geen gebruik van de tabel AzureDiagnostics. Zie Resourcetypen hieronder voor de services die gebruikmaken van elke methode. Zie Azure-resourcelogboeken voor meer informatie over de verschillen.

De kolom AdditionalFields

In tegenstelling tot andere tabellen is AzureDiagnostics veel gevoeliger voor het overschrijden van de limiet van 500 kolommen die is ingesteld voor elke tabel in een Log Analytics-werkruimte vanwege het brede assortiment Azure-resources waarmee gegevens naar deze tabel kunnen worden verzonden. Om ervoor te zorgen dat er geen gegevens verloren gaan vanwege het aantal actieve kolommen dat deze limiet van 500 kolommen overschrijdt, wordt het maken van AzureDiagnostics-kolommen op een andere manier verwerkt dan 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 aanwezig waren vóór deze datum. Wanneer gegevens worden verzonden naar een kolom die nog niet aanwezig is:

  • 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 elke andere tabel.
  • Als het totale aantal kolommen gelijk is aan of hoger is dan 500, worden de overtollige gegevens als een eigenschap toegevoegd aan een kolom met dynamische eigenschappenverzameling met de naam AdditionalFields .

Voorbeeld

Om dit gedrag te illustreren, stelt u zich voor dat vanaf (implementatiedatum) de tabel AzureDiagnostics 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 er bij de eerste gebeurtenis die gegevens voor deze nieuwe dimensie bevat, een nieuwe kolom aan de tabel toegevoegd:

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 later tijdstip verzendt een andere resource gegevens naar AzureDiagnostics waarmee nieuwe dimensies worden toegevoegd met de naam NewInfo2 en NewInfo3. 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 ophalen 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 kolom AdditionalFields

Hoewel algemene aanbevolen procedures voor query's, zoals altijd filteren op tijd als de eerste component in de query, moeten worden gevolgd, zijn er enkele andere aanbevelingen waarmee u rekening moet houden wanneer u met AdditionalFields werkt:

  • 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 totale perf wilt berekenen door beide waarden toe te voegen, gebruikt u iets als: AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | .....
  • Gebruik where-componenten om het gegevensvolume tot het kleinst mogelijk te beperken voordat u complexe logica schrijft om de prestaties aanzienlijk te verbeteren. TimeGenerated is één kolom die altijd tot het kleinst mogelijke venster moet worden teruggebracht. In het geval van AzureDiagnostics moet ook altijd een extra filter worden opgenomen boven aan de query rond de resourcetypen die worden opgevraagd 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 het te parseren. Voor grote hoeveelheden gegevens AzureDiagnostics | where AdditionalFields has "Perf2Sec" is bijvoorbeeld vaak efficiënter dan AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec)).

Azure Diagnostics modus

De volgende services maken gebruik van 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 Doors
  • Integratieaccounts
  • Key Vault
  • Kubernetes-services
  • Load balancers
  • Logic Apps
  • Mediaservices
  • Netwerkinterfaces
  • Netwerkbeveiligingsgroepen
  • P2S VPN-gateways
  • Power BI Embedded
  • Openbare IP-adressen
  • Recovery Services-kluizen (Site Recovery)
  • Zoekservices
  • Service Bus
  • SQL-databases
  • Beheerde SQL-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 tabel AzureDiagnostics. Zie Azure-resourcelogboeken voor meer informatie over deze configuratie.

  • API Management Services
  • Azure Cosmos DB
  • Data factory'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
  • Azure Database for PostgreSQL Flexibele 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's
  • 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 Doors
  • Netwerkinterfaces
  • Netwerkbeveiligingsgroepen
  • Openbare IP-adressen
  • Traffic Manager-profielen
  • Virtuele netwerkgateways
  • Virtuele privénetwerkgateways
  • Virtuele netwerken
  • Search-services
  • Stream Analytics-taken

Kolommen

Kolom Type Beschrijving
action_id_s Tekenreeks
action_name_s Tekenreeks
action_s Tekenreeks
ActivityId_g Guid
AdditionalFields
AdHocOrScheduledJob_s Tekenreeks
application_name_s Tekenreeks
audit_schema_version_d Dubbel
avg_cpu_percent_s Tekenreeks
avg_mean_time_s Tekenreeks
backendHostname_s Tekenreeks
Caller_s Tekenreeks
callerId_s Tekenreeks
CallerIPAddress Tekenreeks
calls_s Tekenreeks
Categorie Tekenreeks
client_ip_s Tekenreeks
clientInfo_s Tekenreeks
clientIP_s Tekenreeks
clientIp_s Tekenreeks
clientIpAddress_s Tekenreeks
clientPort_d Dubbel
code_s Tekenreeks
collectionName_s Tekenreeks
conditions_destinationIP_s Tekenreeks
conditions_destinationPortRange_s Tekenreeks
conditions_None_s Tekenreeks
conditions_protocols_s Tekenreeks
conditions_sourceIP_s Tekenreeks
conditions_sourcePortRange_s Tekenreeks
CorrelationId Tekenreeks
count_executions_d Dubbel
cpu_time_d Dubbel
database_name_s Tekenreeks
database_principal_name_s Tekenreeks
DatabaseName_s Tekenreeks
db_id_s Tekenreeks
direction_s Tekenreeks
dop_d Dubbel
duration_d Dubbel
duration_milliseconds_d Dubbel
DurationMs Bigint
ElasticPoolName_s Tekenreeks
endTime_t DateTime
Environment_s Tekenreeks
error_code_s Tekenreeks
error_message_s Tekenreeks
errorLevel_s Tekenreeks
event_class_s Tekenreeks
event_s Tekenreeks
event_subclass_s Tekenreeks
event_time_t DateTime
EventName_s Tekenreeks
execution_type_d Dubbel
executionInfo_endTime_t DateTime
executionInfo_exitCode_d Dubbel
executionInfo_startTime_t DateTime
host_s Tekenreeks
httpMethod_s Tekenreeks
httpStatus_d Dubbel
httpStatusCode_d Dubbel
httpStatusCode_s Tekenreeks
httpVersion_s Tekenreeks
id_s Tekenreeks
identity_claim_appid_g Guid
identity_claim_ipaddr_s Tekenreeks
instanceId_s Tekenreeks
interval_end_time_d Dubbel
interval_start_time_d Dubbel
ip_s Tekenreeks
is_column_permission_s Tekenreeks
isAccessPolicyMatch_b Booleaanse waarde
JobDurationInSecs_s Tekenreeks
JobFailureCode_s Tekenreeks
JobId_g Guid
jobId_s Tekenreeks
JobOperation_s Tekenreeks
JobOperationSubType_s Tekenreeks
JobStartDateTime_s Tekenreeks
JobStatus_s Tekenreeks
JobUniqueId_g Guid
Niveau Tekenreeks
log_bytes_used_d Dubbel
logical_io_reads_d Dubbel
logical_io_writes_d Dubbel
LogicalServerName_s Tekenreeks
macAddress_s Tekenreeks
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 Tekenreeks
mean_time_s Tekenreeks
Bericht Tekenreeks
min_time_s Tekenreeks
msg_s Tekenreeks
num_physical_io_reads_d Dubbel
object_id_d Dubbel
object_name_s Tekenreeks
OperationName Tekenreeks
OperationVersion Tekenreeks
partitionKey_s Tekenreeks
physical_io_reads_d Dubbel
plan_id_d Dubbel
policy_s Tekenreeks
policyMode_s Tekenreeks
primaryIPv4Address_s Tekenreeks
priority_d Dubbel
properties_enabledForDeployment_b Booleaanse waarde
properties_enabledForDiskEncryption_b Booleaanse waarde
properties_enabledForTemplateDeployment_b Booleaanse waarde
properties_s Tekenreeks
properties_sku_Family_s Tekenreeks
properties_sku_Name_s Tekenreeks
properties_tenantId_g Guid
query_hash_s Tekenreeks
query_id_d Dubbel
query_max_used_memory_d Dubbel
query_plan_hash_s Tekenreeks
query_time_d Dubbel
querytext_s Tekenreeks
receivedBytes_d Dubbel
Region_s Tekenreeks
requestCharge_s Tekenreeks
requestQuery_s Tekenreeks
requestResourceId_s Tekenreeks
requestResourceType_s Tekenreeks
requestUri_s Tekenreeks
reserved_storage_mb_s Tekenreeks
Resource Tekenreeks
resource_actionName_s Tekenreeks
resource_location_s Tekenreeks
resource_originRunId_s Tekenreeks
resource_resourceGroupName_s Tekenreeks
resource_runId_s Tekenreeks
resource_subscriptionId_g Guid
resource_triggerName_s Tekenreeks
resource_workflowId_g Guid
resource_workflowName_s Tekenreeks
ResourceGroup Tekenreeks
_Resourceid Tekenreeks Een unieke id voor de resource waaraan de record is gekoppeld
ResourceProvider Tekenreeks
ResourceProvider Tekenreeks
ResourceType Tekenreeks
ResourceType Tekenreeks
response_rows_d Dubbel
resultCode_s Tekenreeks
ResultDescription Tekenreeks
ResultDescription Tekenreeks
resultDescription_ChildJobs_s Tekenreeks
resultDescription_ErrorJobs_s Tekenreeks
resultMessage_s Tekenreeks
ResultSignature Tekenreeks
ResultType Tekenreeks
ResultType Tekenreeks
rootCauseAnalysis_s Tekenreeks
routingRuleName_s Tekenreeks
rowcount_d Dubbel
ruleName_s Tekenreeks
RunbookName_s Tekenreeks
RunOn_s Tekenreeks
schema_name_s Tekenreeks
sentBytes_d Dubbel
sequence_group_id_g Guid
sequence_number_d Dubbel
server_principal_sid_s Tekenreeks
session_id_d Dubbel