AzureDiagnostics
Ukládá protokoly prostředků pro služby Azure, které používají režim Diagnostiky Azure. Protokoly prostředků popisují interní provoz prostředků Azure.
Protokol prostředků pro jednotlivé služby Azure má jedinečnou sadu sloupců. Tabulka AzureDiagnostics obsahuje nejběžnější sloupce používané službami Azure. Pokud protokol prostředků obsahuje sloupec, který ještě neexistuje v tabulce AzureDiagnostics, přidá se tento sloupec při prvním shromažďování dat. Pokud je dosaženo maximálního počtu 500 sloupců, data pro všechny další sloupce se přidají do dynamického sloupce.
Služby Azure, které používají režim specifický pro prostředky, ukládají data v tabulce specifické pro danou službu a nepoužívají tabulku AzureDiagnostics. Pro služby, které používají jednotlivé metody, najdete níže uvedené typy prostředků. Podrobnosti o rozdílech najdete v protokolech prostředků Azure.
Poznámka:
Tabulka AzureDiagnostics je vlastní tabulka protokolů vytvořená výhradně kanálem služby Azure Monitor při prvním zahájení odesílání protokolů v režimu diagnostiky Azure. Na rozdíl od jiných tabulek není možné tabulku AzureDiagnostics vytvořit pomocí šablony ARM nebo rozhraní API pro tabulky. V důsledku toho není možné před vytvořením upravit výchozí hodnoty uchovávání informací tabulky.
Sloupec AdditionalFields
Na rozdíl od jiných tabulek je AzureDiagnostics mnohem náchylnější k překročení limitu 500 sloupců uložených pro libovolnou tabulku v pracovním prostoru služby Log Analytics z důvodu široké škály prostředků Azure umožňujících odesílat data do této tabulky. Aby se zajistilo, že se neztratí žádná data kvůli počtu aktivních sloupců překračujících tento limit 500 sloupců, zpracovává se vytváření sloupců AzureDiagnostics jiným způsobem s jinými tabulkami.
Tabulka AzureDiagnostics v každém pracovním prostoru obsahuje minimálně stejných 200 sloupců. V případě pracovních prostorů vytvořených před 19. lednem 2021 obsahuje tabulka také všechny sloupce, které už byly zavedeny před tímto datem. Když se data odesílají do sloupce, který ještě není na místě:
- Pokud celkový počet sloupců v AzureDiagnostics v aktuálním pracovním prostoru nepřekročí 500, vytvoří se nový sloupec stejně jako u jakékoli jiné tabulky.
- Pokud je celkový počet sloupců vyšší nebo vyšší než 500, přidají se nadbytečná data do sloupce dynamické tašky vlastností s názvem AdditionalFields jako vlastnost.
Příklad
Pro ilustraci tohoto chování si představte, že od (data nasazení) tabulka AzureDiagnostics v naší pracovní aplikaci vypadá takto:
Sloupec 1 | Sloupec 2 | Sloupec 3 | ... | Sloupec 498 |
---|---|---|---|---|
abc | def | 123 | ... | 456 |
... | ... | ... | ... | ... |
Prostředek, který odesílá data do AzureDiagnostics , pak přidá do svých dat novou dimenzi, kterou volají NewInfo1. Vzhledem k tomu, že tabulka stále obsahuje méně než 500 sloupců, při první události, která obsahuje data pro tuto novou dimenzi, přidá do tabulky nový sloupec:
Sloupec 1 | Sloupec 2 | Sloupec 3 | ... | Sloupec 498 | NewInfo1_s |
---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz |
... | ... | ... | ... | ... | ... |
Tato nová data můžete vrátit v jednoduchém dotazu:
AzureDiagnostics | where NewInfo1_s == "xyz"
Později odešle jiný prostředek data do AzureDiagnostics , který přidá nové dimenze s názvem NewInfo2 a NewInfo3. Protože tabulka dosáhla 500 sloupců v tomto pracovním prostoru, nová data se přejdou do sloupce AdditionalFields :
Sloupec 1 | Sloupec 2 | Sloupec 3 | ... | Sloupec 498 | NewInfo1_s | Další pole |
---|---|---|---|---|---|---|
abc | def | 123 | ... | 456 | xyz | {"NewInfo2":"789","NewInfo3":"qwerty"} |
... | ... | ... | ... | ... | ... | ... |
Stále můžete dotazovat na tato data, ale musíte je extrahovat z tašky vlastností pomocí libovolného operátoru dynamických vlastností v KQL:
AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"
Tipy k používání AdditionalFields
sloupce
I když by se měly dodržovat obecné osvědčené postupy dotazů, jako je vždy filtrování podle času jako první klauzule v dotazu, měli byste při práci s AdditionalFields zvážit několik dalších doporučení:
- Před provedením dalších operací s daty je nutné zadat data vysměrování. Pokud například sloupec existuje s názvem Perf1Sec_i a vlastnost v AdditionalFields s názvem Perf2Sec a chcete vypočítat celkový výkon přidáním obou hodnot, použijte něco jako:
AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....
. - Klauzule where slouží ke snížení objemu dat na nejmenší možný objem dat před zápisem jakékoli složité logiky, aby se výrazně zlepšil výkon. TimeGenerated je jeden sloupec, který by se měl vždy snížit na nejmenší možné okno. V případě AzureDiagnostics by měl být v horní části dotazu vždy zahrnut další filtr kolem typů prostředků, které se dotazují pomocí sloupce ResourceType .
- Při dotazování velmi velkých objemů dat je někdy efektivnější provádět filtr na AdditionalFields jako celek, a ne analyzovat je. Například u velkých objemů dat
AzureDiagnostics | where AdditionalFields has "Perf2Sec"
je často efektivnější nežAzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))
.
Režim diagnostiky Azure
Následující služby používají pro své protokoly prostředků režim diagnostiky Azure a odesílají data do tabulky Azure Diagnostics.
- Analysis Services
- Brány Application Gateway
- Účty služby Automation
- Servery Azure Database for MariaDB
- Servery Azure Database for MySQL
- Servery Azure Database for PostgreSQL
- Servery Azure Database for PostgreSQL v2
- Účty služby Batch
- Profily CDN
- Cognitive Services
- Data Lake Analytics
- DataLake Storage Gen1
- Služby Device Provisioning
- Digital Twins
- Témata Event Gridu
- Event Hubs
- Okruhy ExpressRoute
- Front Doory
- Účty pro integraci
- Key Vault
- Služby Kubernetes
- Nástrojů pro vyrovnávání zatížení
- Logic Apps
- Media Services
- síťová rozhraní,
- Network Security Groups (Skupiny zabezpečení sítě)
- Brány P2S VPN Gateway
- Power BI Embedded
- veřejné IP adresy,
- Trezory služby Recovery Services (Site Recovery)
- Služby hledání
- Service Bus
- Databáze SQL
- Spravované instance SQL
- SQL servery
- Úlohy Stream Analytics
- Profily služby Traffic Manager
- Virtuální sítě
- Brány virtuálních sítí
- Brány VPN Gateway
Režim diagnostiky Azure nebo režim specifický pro prostředky
Následující služby používají pro své protokoly prostředků režim diagnostiky Azure nebo režim specifický pro prostředky v závislosti na konfiguraci. Pokud používají režim specifický pro prostředky, neodesílají data do tabulky AzureDiagnostics. Podrobnosti o této konfiguraci najdete v protokolech prostředků Azure.
- Služby API Management
- Azure Cosmos DB
- Datové továrny (V2)
- IoT Hub
- Trezory služby Recovery Services (Zálohování)
- Brány firewall
Kategorie
- Azure Resources (Prostředky Azure)
- Zabezpečení
- Síť
Řešení
- LogManagement
Typy zdrojů
- Brány Application Gateway
- Profily CDN
- Azure Cosmos DB
- Témata Event Gridu
- Event Hubs
- Brány firewall
- Trezory klíčů
- Služby Kubernetes
- Trezory služby Recovery Services
- Service Bus
- Flexibilní servery Azure Database for MySQL
- Flexibilní servery Azure Database for PostgreSQL
- Media Services
- Analysis Services
- Účty služby Batch
- Cognitive Services
- Obory názvů partnerů Event Gridu
- Témata partnerů Event Gridu
- Témata systému Event Gridu
- Kubernetes s podporou Služby Azure Arc
- Zřízené clustery Azure Arc
- IoT Hub
- Logic Apps
- Služby API Management
- Účet Automation
- Datové továrny
- Data Lake Storage Gen1
- Data Lake Analytics
- Power BI Embedded
- Spravované instance SQL
- SQL servery
- Databáze SQL
- Servery Azure Database for MySQL
- Servery Azure Database for PostgreSQL
- Servery Azure Database for PostgreSQL V2
- Servery Azure Database for MariaDB
- Služby Device Provisioning
- Okruhy ExpressRoute
- Front Doory
- Síťová rozhraní
- Network Security Groups (Skupiny zabezpečení sítě)
- Veřejné IP adresy
- Profily Traffic Manageru
- Brány virtuálních sítí
- Brány virtuální privátní sítě
- Virtuální sítě
- Vyhledávací služby
- Úlohy Stream Analytics
Sloupce
Column | Type | Popis |
---|---|---|
action_id_s | String | |
action_name_s | String | |
action_s | String | |
ActivityId_g | Guid | |
Další pole | ||
AdHocOrScheduledJob_s | String | |
application_name_s | String | |
audit_schema_version_d | Hodnota s dvojitou přesností | |
avg_cpu_percent_s | String | |
avg_mean_time_s | String | |
backendHostname_s | String | |
Caller_s | String | |
callerId_s | String | |
CallerIPAddress | String | |
calls_s | String | |
Kategorie | String | |
client_ip_s | String | |
clientInfo_s | String | |
clientIP_s | String | |
clientIp_s | String | |
clientIpAddress_s | String | |
clientPort_d | Hodnota s dvojitou přesností | |
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 | Hodnota s dvojitou přesností | |
cpu_time_d | Hodnota s dvojitou přesností | |
database_name_s | String | |
database_principal_name_s | String | |
DatabaseName_s | String | |
db_id_s | String | |
direction_s | String | |
dop_d | Hodnota s dvojitou přesností | |
duration_d | Hodnota s dvojitou přesností | |
duration_milliseconds_d | Hodnota s dvojitou přesností | |
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 | Hodnota s dvojitou přesností | |
executionInfo_endTime_t | DateTime | |
executionInfo_exitCode_d | Hodnota s dvojitou přesností | |
executionInfo_startTime_t | DateTime | |
host_s | String | |
httpMethod_s | String | |
httpStatus_d | Hodnota s dvojitou přesností | |
httpStatusCode_d | Hodnota s dvojitou přesností | |
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 | Hodnota s dvojitou přesností | |
interval_start_time_d | Hodnota s dvojitou přesností | |
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 | |
Level | String | |
log_bytes_used_d | Hodnota s dvojitou přesností | |
logical_io_reads_d | Hodnota s dvojitou přesností | |
logical_io_writes_d | Hodnota s dvojitou přesností | |
LogicalServerName_s | String | |
macAddress_s | String | |
matchedConnections_d | Hodnota s dvojitou přesností | |
max_cpu_time_d | Hodnota s dvojitou přesností | |
max_dop_d | Hodnota s dvojitou přesností | |
max_duration_d | Hodnota s dvojitou přesností | |
max_log_bytes_used_d | Hodnota s dvojitou přesností | |
max_logical_io_reads_d | Hodnota s dvojitou přesností | |
max_logical_io_writes_d | Hodnota s dvojitou přesností | |
max_num_physical_io_reads_d | Hodnota s dvojitou přesností | |
max_physical_io_reads_d | Hodnota s dvojitou přesností | |
max_query_max_used_memory_d | Hodnota s dvojitou přesností | |
max_rowcount_d | Hodnota s dvojitou přesností | |
max_time_s | String | |
mean_time_s | String | |
Message | String | |
min_time_s | String | |
msg_s | String | |
num_physical_io_reads_d | Hodnota s dvojitou přesností | |
object_id_d | Hodnota s dvojitou přesností | |
object_name_s | String | |
OperationName | String | |
OperationVersion | String | |
partitionKey_s | String | |
physical_io_reads_d | Hodnota s dvojitou přesností | |
plan_id_d | Hodnota s dvojitou přesností | |
policy_s | String | |
policyMode_s | String | |
primaryIPv4Address_s | String | |
priority_d | Hodnota s dvojitou přesností | |
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 | Hodnota s dvojitou přesností | |
query_max_used_memory_d | Hodnota s dvojitou přesností | |
query_plan_hash_s | String | |
query_time_d | Hodnota s dvojitou přesností | |
querytext_s | String | |
receivedBytes_d | Hodnota s dvojitou přesností | |
Region_s | String | |
requestCharge_s | String | |
requestQuery_s | String | |
requestResourceId_s | String | |
requestResourceType_s | String | |
requestUri_s | String | |
reserved_storage_mb_s | String | |
Prostředek | 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 | Jedinečný identifikátor prostředku, ke kterému je záznam přidružený |
ResourceProvider | String | |
ResourceProvider | String | |
ResourceType | String | |
ResourceType | String | |
response_rows_d | Hodnota s dvojitou přesností | |
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 | Hodnota s dvojitou přesností | |
ruleName_s | String | |
RunbookName_s | String | |
RunOn_s | String | |
schema_name_s | String | |
sentBytes_d | Hodnota s dvojitou přesností | |
sequence_group_id_g | Guid | |
sequence_number_d | Hodnota s dvojitou přesností | |
server_principal_sid_s | String | |
session_id_d | Hodnota s dvojitou přesností |