Udostępnij za pośrednictwem


AzureDiagnostics

Przechowuje dzienniki zasobów dla usług platformy Azure korzystających z trybu Diagnostyka Azure. Dzienniki zasobów opisują wewnętrzną operację zasobów platformy Azure.

Dziennik zasobów dla każdej usługi platformy Azure zawiera unikatowy zestaw kolumn. Tabela AzureDiagnostics zawiera najbardziej typowe kolumny używane przez usługi platformy Azure. Jeśli dziennik zasobów zawiera kolumnę, która jeszcze nie istnieje w tabeli AzureDiagnostics, ta kolumna zostanie dodana przy pierwszym zbieraniu danych. Jeśli zostanie osiągnięta maksymalna liczba 500 kolumn, dane dla wszelkich dodatkowych kolumn zostaną dodane do kolumny dynamicznej.

Usługi platformy Azure korzystające z trybu specyficznego dla zasobów przechowują dane w tabeli specyficznej dla tej usługi i nie używają tabeli AzureDiagnostics. Zobacz Typy zasobów poniżej, aby zapoznać się z usługami korzystającymi z każdej metody. Aby uzyskać szczegółowe informacje na temat różnic, zobacz Dzienniki zasobów platformy Azure.

Kolumna AdditionalFields

W przeciwieństwie do innych tabel usługa AzureDiagnostics jest o wiele bardziej podatna na przekroczenie limitu 500 kolumn nałożonego dla dowolnej tabeli w obszarze roboczym usługi Log Analytics ze względu na szeroki asortyment zasobów platformy Azure, który może wysyłać dane do tej tabeli. Aby upewnić się, że żadne dane nie zostaną utracone z powodu liczby aktywnych kolumn przekraczających ten limit 500 kolumn, tworzenie kolumn AzureDiagnostics jest obsługiwane w inny sposób dla innych tabel.

Tabela AzureDiagnostics w każdym obszarze roboczym będzie zawierać co najmniej te same 200 kolumn. W przypadku obszarów roboczych utworzonych przed 19 stycznia 2021 r. tabela będzie zawierać również wszystkie kolumny, które zostały już wprowadzone przed tą datą. Gdy dane są wysyłane do kolumny, która nie jest jeszcze w miejscu:

  • Jeśli łączna liczba kolumn w usłudze AzureDiagnostics w bieżącym obszarze roboczym nie przekracza 500, zostanie utworzona nowa kolumna tak samo jak w przypadku każdej innej tabeli.
  • Jeśli łączna liczba kolumn wynosi lub 500, nadmiar danych jest dodawany do kolumny torby właściwości dynamicznej o nazwie AdditionalFields jako właściwości.

Przykład

Aby zilustrować to zachowanie, wyobraź sobie, że zgodnie z (datą wdrożenia) tabela AzureDiagnostics w naszej pracy wygląda następująco:

Kolumna 1 Kolumna 2 Kolumna 3 ... Kolumna 498
abc DEF 123 ... 456
... ... ... ... ...

Zasób, który wysyła dane do usługi AzureDiagnostics , dodaje nowy wymiar do danych, które nazywają NewInfo1. Ponieważ tabela nadal zawiera mniej niż 500 kolumn, przy pierwszym wystąpieniu zdarzenia zawierającego dane dla tego nowego wymiaru doda nową kolumnę do tabeli:

Kolumna 1 Kolumna 2 Kolumna 3 ... Kolumna 498 NewInfo1_s
abc DEF 123 ... 456 xyz
... ... ... ... ... ...

Te nowe dane można zwrócić w prostym zapytaniu:

AzureDiagnostics | where NewInfo1_s == "xyz"

W późniejszym terminie inny zasób wysyła dane do usługi AzureDiagnostics , która dodaje nowe wymiary o nazwie NewInfo2 i NewInfo3. Ponieważ tabela osiągnęła 500 kolumn w tym obszarze roboczym, nowe dane zostaną wyświetlone w kolumnie AdditionalFields :

Kolumna 1 Kolumna 2 Kolumna 3 ... Kolumna 498 NewInfo1_s Dodatkowe pola
abc DEF 123 ... 456 xyz {"NewInfo2":"789","NewInfo3":"qwerty"}
... ... ... ... ... ... ...

Nadal można wykonywać zapytania dotyczące tych danych, ale należy wyodrębnić je z torby właściwości przy użyciu dowolnych operatorów właściwości dynamicznych w języku KQL:

AzureDiagnostics
| where AdditionalFields.NewInfo2 == "789" and AdditionalFields.NewInfo3 == "qwerty"

Porady dotyczące korzystania z kolumny AdditionalFields

Chociaż należy przestrzegać ogólnych najlepszych rozwiązań dotyczących zapytań, takich jak zawsze filtrowanie według czasu, ponieważ pierwsza klauzula w zapytaniu powinna być zgodna, podczas pracy z dodatkowymi polami należy wziąć pod uwagę kilka innych zaleceń:

  • Przed wykonaniem dalszych operacji na nim należy wpisać dane emisji. Jeśli na przykład istnieje kolumna o nazwie Perf1Sec_i , a także właściwość w polach dodatkowych o nazwie Perf2Sec i chcesz obliczyć łączną wartość wydajności przez dodanie obu wartości, użyj wartości podobnej do: AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | .....
  • Użyj klauzul where , aby zmniejszyć ilość danych do najmniejszego możliwego przed napisanie dowolnej złożonej logiki w celu znacznego zwiększenia wydajności. TimeGenerated to jedna kolumna, która powinna być zawsze zmniejszana do najmniejszego możliwego okna. W przypadku usługi AzureDiagnostics dodatkowy filtr powinien być również zawsze uwzględniany w górnej części zapytania wokół typów zasobów, które są badane przy użyciu kolumny ResourceType .
  • Podczas wykonywania zapytań dotyczących bardzo dużych ilości danych czasami bardziej wydajne jest wykonywanie filtru na polach dodatkowych jako całości, a nie analizowanie ich. Na przykład w przypadku dużych ilości danych AzureDiagnostics | where AdditionalFields has "Perf2Sec" jest często bardziej wydajne niż AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec)).

tryb Diagnostyka Azure

Poniższe usługi używają trybu diagnostyki platformy Azure dla dzienników zasobów i wysyłania danych do tabeli Diagnostyka Azure.

  • Analysis Services
  • Bramy aplikacji
  • Konta usługi Automation
  • Serwery usługi Azure Database for MariaDB
  • Serwery usługi Azure Database for MySQL
  • Serwery usługi Azure Database for PostgreSQL
  • Serwery usługi Azure Database for PostgreSQL w wersji 2
  • Konta usługi Batch
  • Profile CDN
  • Cognitive Services
  • Data Lake Analytics
  • DataLake Storage Gen1
  • Device Provisioning Services
  • Digital Twins
  • Tematy usługi Event Grid
  • Event Hubs
  • Obwody usługi ExpressRoute
  • Usługi Front Door
  • Konta integracji
  • Key Vault
  • Usługi Kubernetes
  • Moduły równoważenia obciążenia
  • Logic Apps
  • Usługi multimediów
  • Interfejsy sieciowe
  • Grupy zabezpieczeń sieci
  • Bramy sieci VPN typu P2S
  • Power BI Embedded
  • Publiczne adresy IP
  • Magazyny usługi Recovery Services (Site Recovery)
  • Usługi wyszukiwania
  • Service Bus
  • Bazy danych SQL
  • Wystąpienia zarządzane SQL
  • Serwery SQL Server
  • Zadania usługi Stream Analytics
  • Profile usługi Traffic Manager
  • Sieci wirtualne
  • Bramy sieci wirtualnej
  • Bramy sieci VPN

tryb Diagnostyka Azure lub tryb specyficzny dla zasobu

Następujące usługi używają trybu diagnostyki platformy Azure lub trybu specyficznego dla zasobów dla dzienników zasobów w zależności od konfiguracji. W przypadku korzystania z trybu specyficznego dla zasobów nie wysyłają danych do tabeli AzureDiagnostics. Aby uzyskać szczegółowe informacje na temat tej konfiguracji, zobacz Dzienniki zasobów platformy Azure.

  • Usługi API Management
  • Azure Cosmos DB
  • Fabryki danych (wersja 2)
  • Usługa IoT Hub
  • Magazyny usługi Recovery Services (kopia zapasowa)
  • Zapory

Kategorie

  • Zasoby platformy Azure
  • Zabezpieczenia
  • Sieć

Rozwiązania

  • LogManagement

Typy zasobów

  • Bramy aplikacji
  • Profile sieci CDN
  • Azure Cosmos DB
  • Tematy usługi Event Grid
  • Event Hubs
  • Zapory
  • Magazyny kluczy
  • Usługi Kubernetes
  • Magazyny usługi Recovery Services
  • Service Bus
  • Serwery elastyczne usługi Azure Database for MySQL
  • Serwery elastyczne usługi Azure Database for PostgreSQL
  • Media Services
  • Analysis Services
  • Konta usługi Batch
  • Cognitive Services
  • Przestrzenie nazw partnerów usługi Event Grid
  • Tematy partnerów usługi Event Grid
  • Tematy dotyczące systemu usługi Event Grid
  • Platforma Kubernetes z obsługą usługi Azure Arc
  • Klastry aprowidowane w usłudze Azure Arc
  • Usługa IoT Hub
  • Logic Apps
  • Usługi API Management
  • Konto usługi Automation
  • Fabryki danych
  • Data Lake Storage Gen1
  • Data Lake Analytics
  • Power BI Embedded
  • Wystąpienia zarządzane SQL
  • Serwery SQL Server
  • Bazy danych SQL
  • Serwery usługi Azure Database for MySQL
  • Serwery usługi Azure Database for PostgreSQL
  • Serwery usługi Azure Database for PostgreSQL w wersji 2
  • Serwery usługi Azure Database for MariaDB
  • Device Provisioning Services
  • Obwody usługi ExpressRoute
  • Usługi Front Door
  • Interfejsy sieciowe
  • Grupy zabezpieczeń sieci
  • Publiczne adresy IP
  • Profile usługi Traffic Manager
  • Bramy sieci wirtualnej
  • Bramy wirtualnej sieci prywatnej
  • Sieci wirtualne
  • Usługi wyszukiwania
  • Zadania usługi Stream Analytics

Kolumny

Kolumna Type Opis
action_id_s String
action_name_s String
action_s String
ActivityId_g Identyfikator GUID
Dodatkowe pola
AdHocOrScheduledJob_s String
application_name_s String
audit_schema_version_d Liczba rzeczywista
avg_cpu_percent_s String
avg_mean_time_s String
backendHostname_s String
Caller_s String
callerId_s String
CallerIPAddress String
calls_s String
Kategoria String
client_ip_s String
clientInfo_s String
clientIP_s String
clientIp_s String
clientIpAddress_s String
clientPort_d Liczba rzeczywista
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 Liczba rzeczywista
cpu_time_d Liczba rzeczywista
database_name_s String
database_principal_name_s String
DatabaseName_s String
db_id_s String
direction_s String
dop_d Liczba rzeczywista
duration_d Liczba rzeczywista
duration_milliseconds_d Liczba rzeczywista
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 Liczba rzeczywista
executionInfo_endTime_t DateTime
executionInfo_exitCode_d Liczba rzeczywista
executionInfo_startTime_t DateTime
host_s String
httpMethod_s String
httpStatus_d Liczba rzeczywista
httpStatusCode_d Liczba rzeczywista
httpStatusCode_s String
httpVersion_s String
id_s String
identity_claim_appid_g Identyfikator GUID
identity_claim_ipaddr_s String
instanceId_s String
interval_end_time_d Liczba rzeczywista
interval_start_time_d Liczba rzeczywista
ip_s String
is_column_permission_s String
isAccessPolicyMatch_b Bool
JobDurationInSecs_s String
JobFailureCode_s String
JobId_g Identyfikator GUID
jobId_s String
JobOperation_s String
JobOperationSubType_s String
JobStartDateTime_s String
JobStatus_s String
JobUniqueId_g Identyfikator GUID
Poziom String
log_bytes_used_d Liczba rzeczywista
logical_io_reads_d Liczba rzeczywista
logical_io_writes_d Liczba rzeczywista
LogicalServerName_s String
macAddress_s String
matchedConnections_d Liczba rzeczywista
max_cpu_time_d Liczba rzeczywista
max_dop_d Liczba rzeczywista
max_duration_d Liczba rzeczywista
max_log_bytes_used_d Liczba rzeczywista
max_logical_io_reads_d Liczba rzeczywista
max_logical_io_writes_d Liczba rzeczywista
max_num_physical_io_reads_d Liczba rzeczywista
max_physical_io_reads_d Liczba rzeczywista
max_query_max_used_memory_d Liczba rzeczywista
max_rowcount_d Liczba rzeczywista
max_time_s String
mean_time_s String
Wiadomość String
min_time_s String
msg_s String
num_physical_io_reads_d Liczba rzeczywista
object_id_d Liczba rzeczywista
object_name_s String
OperationName String
OperationVersion String
partitionKey_s String
physical_io_reads_d Liczba rzeczywista
plan_id_d Liczba rzeczywista
policy_s String
policyMode_s String
primaryIPv4Address_s String
priority_d Liczba rzeczywista
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 Identyfikator GUID
query_hash_s String
query_id_d Liczba rzeczywista
query_max_used_memory_d Liczba rzeczywista
query_plan_hash_s String
query_time_d Liczba rzeczywista
querytext_s String
receivedBytes_d Liczba rzeczywista
Region_s String
requestCharge_s String
requestQuery_s String
requestResourceId_s String
requestResourceType_s String
requestUri_s String
reserved_storage_mb_s String
Zasób String
resource_actionName_s String
resource_location_s String
resource_originRunId_s String
resource_resourceGroupName_s String
resource_runId_s String
resource_subscriptionId_g Identyfikator GUID
resource_triggerName_s String
resource_workflowId_g Identyfikator GUID
resource_workflowName_s String
ResourceGroup String
_ResourceId String Unikatowy identyfikator zasobu skojarzonego z rekordem
ResourceProvider String
ResourceProvider String
ResourceType String
ResourceType String
response_rows_d Liczba rzeczywista
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 Liczba rzeczywista
ruleName_s String
RunbookName_s String
RunOn_s String
schema_name_s String
sentBytes_d Liczba rzeczywista
sequence_group_id_g Identyfikator GUID
sequence_number_d Liczba rzeczywista
server_principal_sid_s String
session_id_d Liczba rzeczywista