AzureDiagnostics

Azure Diagnostics 모드를 사용하는 Azure 서비스의 리소스 로그를 저장합니다. 리소스 로그는 Azure 리소스의 내부 작업을 설명합니다.

각 Azure 서비스에 대한 리소스 로그에는 고유한 열 세트가 있습니다. AzureDiagnostics 테이블에는 Azure 서비스에서 사용하는 가장 일반적인 열이 포함되어 있습니다. 리소스 로그에 AzureDiagnostics 테이블에 없는 열이 포함된 경우 해당 열은 데이터가 처음 수집될 때 추가됩니다. 최대 열 수 500개에 도달하면 추가 열에 대한 데이터가 동적 열에 추가됩니다.

리소스별 모드를 사용하는 Azure 서비스는 해당 서비스와 관련된 테이블에 데이터를 저장하고 AzureDiagnostics 테이블을 사용하지 않습니다. 각 메서드를 사용하는 서비스는 아래 리소스 종류를 참조하세요. 차이점에 대한 자세한 내용은 Azure 리소스 로그 를 참조하세요.

AdditionalFields 열

다른 테이블과 달리 AzureDiagnostics 는 이 테이블로 데이터를 보낼 수 있는 다양한 Azure 리소스로 인해 Log Analytics 작업 영역의 모든 테이블에 적용되는 500열 제한을 초과하기 훨씬 쉽습니다. 이 500열 제한을 초과하는 활성 열 수로 인해 데이터가 손실되지 않도록 하기 위해 AzureDiagnostics 열 만들기는 다른 테이블과 다른 방식으로 처리됩니다.

모든 작업 영역의 AzureDiagnostics 테이블에는 최소 동일한 200개의 열이 포함됩니다. 2021년 1월 19일 이전에 만든 작업 영역의 경우 테이블에 이 날짜 이전에 이미 배치된 열도 포함됩니다. 데이터가 아직 배치되지 않은 열로 전송되는 경우:

  • 현재 작업 영역에서 AzureDiagnostics 의 총 열 수가 500을 초과하지 않으면 다른 테이블과 마찬가지로 새 열이 만들어집니다.
  • 총 열 수가 500개 이상인 경우 초과 데이터는 AdditionalFields 라는 동적 속성 모음 열에 속성으로 추가됩니다.

예제

이 동작을 설명하기 위해(배포 날짜) 현재 작업 작업의 AzureDiagnostics 테이블이 다음과 같이 표시되어 있다고 상상해 보세요.

열 1 열 2 열 3 ... 열 498
abc def 123 ... 456
... ... ... ... ...

그런 다음 AzureDiagnostics에 데이터를 보내는 리소스는 NewInfo1이라고 하는 새 차원을 데이터에 추가합니다. 테이블에 여전히 500개 미만의 열이 있으므로 이 새 차원에 대한 데이터가 포함된 이벤트가 처음으로 발생하면 테이블에 새 열이 추가됩니다.

열 1 열 2 열 3 ... 열 498 NewInfo1_s
abc def 123 ... 456 xyz
... ... ... ... ... ...

간단한 쿼리에서 이 새 데이터를 반환할 수 있습니다.

AzureDiagnostics | where NewInfo1_s == "xyz"

나중에 다른 리소스는 NewInfo2NewInfo3이라는 새 차원을 추가하는 AzureDiagnostics로 데이터를 보냅니다. 테이블이 이 작업 영역에서 500개 열에 도달했기 때문에 새 데이터는 AdditionalFields 열로 이동합니다.

열 1 열 2 열 3 ... 열 498 NewInfo1_s AdditionalFields
abc def 123 ... 456 xyz {"NewInfo2":"789","NewInfo3":"qwerty"}
... ... ... ... ... ... ...

이 데이터를 쿼리할 수는 있지만 KQL의 동적 속성 연산자를 사용하여 속성 모음에서 추출해야 합니다.

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

AdditionalFields 열 사용에 대한 팁

쿼리의 첫 번째 절을 따라야 하므로 항상 시간별로 필터링하는 것과 같은 일반적인 쿼리 모범 사례에는 AdditionalFields를 사용할 때 고려해야 할 몇 가지 다른 권장 사항이 있습니다.

  • 추가 작업을 수행하기 전에 데이터를 형식캐스트해야 합니다. 예를 들어 Perf1Sec_i 라는 열과 Perf2Sec이라는 AdditionalFields의 속성이 있고 두 값을 모두 추가하여 총 성능 계산을 하려는 경우 다음과 같이 AzureDiagnostics | extend TotalPerfSec = Perf1Sec_i + toint(AdditionalFields.Perf2Sec) | ....사용합니다.
  • 성능을 크게 향상시키기 위해 복잡한 논리를 작성하기 전에 where 절을 사용하여 데이터 볼륨을 가능한 가장 작은 값으로 줄입니다. TimeGenerated 는 항상 가능한 가장 작은 창으로 줄여야 하는 하나의 열입니다. AzureDiagnostics의 경우 ResourceType 열을 사용하여 쿼리되는 리소스 종류에 대한 추가 필터도 항상 쿼리 맨 위에 포함되어야 합니다.
  • 매우 많은 양의 데이터를 쿼리할 때 구문 분석보다는 AdditionalFields 전체에서 필터를 수행하는 것이 더 효율적일 수 있습니다. 예를 들어 대용량 데이터의 AzureDiagnostics | where AdditionalFields has "Perf2Sec" 경우 보다 AzureDiagnostics | where isnotnull(toint(AdditionalFields.Perf2Sec))더 효율적인 경우가 많습니다.

Azure Diagnostics 모드

다음 서비스는 리소스 로그에 Azure 진단 모드를 사용하고 Azure Diagnostics 테이블로 데이터를 보냅니다.

  • Analysis Services
  • Application Gateway
  • Automation 계정
  • Azure Database for MariaDB 서버
  • Azure Database for MySQL 서버
  • Azure Database for PostgreSQL 서버
  • Azure Database for PostgreSQL 서버 v2
  • Batch 계정
  • CDN 프로필
  • Cognitive Services
  • Data Lake Analytics
  • DataLake Storage Gen1
  • Device Provisioning Services
  • Digital Twins
  • Event Grid 토픽
  • Event Hubs
  • ExpressRoute 회로
  • Front Door
  • 통합 계정
  • Key Vault
  • Kubernetes 서비스
  • 부하 분산 장치
  • Logic Apps
  • 미디어 서비스
  • 네트워크 인터페이스
  • 네트워크 보안 그룹
  • P2S VPN Gateway
  • Power BI Embedded
  • 공용 IP 주소
  • Recovery Services 자격 증명 모음(Site Recovery)
  • Search 서비스
  • Service Bus
  • SQL 데이터베이스
  • SQL 관리되는 인스턴스
  • SQL Server
  • Stream Analytics 작업
  • Traffic Manager 프로필
  • 가상 네트워크
  • 가상 네트워크 게이트웨이
  • VPN Gateway

Azure Diagnostics 모드 또는 리소스별 모드

다음 서비스는 구성에 따라 리소스 로그에 Azure 진단 모드 또는 리소스별 모드를 사용합니다. 리소스별 모드를 사용하는 경우 AzureDiagnostics 테이블에 데이터를 보내지 않습니다. 이 구성에 대한 자세한 내용은 Azure 리소스 로그 를 참조하세요.

  • API Management Services
  • Azure Cosmos DB
  • 데이터 팩터리(V2)
  • IoT Hub
  • Recovery Services 자격 증명 모음(Backup)
  • 방화벽

범주

  • Azure 리소스
  • 보안
  • 네트워크

솔루션

  • LogManagement

리소스 종류

  • Application Gateway
  • CDN 프로필
  • Azure Cosmos DB
  • Event Grid 토픽
  • Event Hubs
  • 방화벽
  • Key Vault
  • Kubernetes 서비스
  • Recovery Services 자격 증명 모음
  • Service Bus
  • Azure Database for MySQL 유연한 서버
  • 유연한 서버 Azure Database for PostgreSQL
  • Media Services
  • Analysis Services
  • Batch 계정
  • Cognitive Services
  • Event Grid 파트너 네임스페이스
  • Event Grid 파트너 토픽
  • Event Grid 시스템 항목
  • Azure Arc 지원 Kubernetes
  • Azure Arc 프로비저닝된 클러스터
  • IoT Hub
  • Logic Apps
  • API Management 서비스
  • Automation 계정
  • 데이터 팩터리
  • Data Lake Storage Gen1
  • Data Lake Analytics
  • Power BI Embedded
  • SQL Managed Instances
  • SQL Server
  • SQL Database
  • Azure Database for MySQL 서버
  • PostgreSQL용 Azure 데이터베이스 서버
  • Azure Database for PostgreSQL 서버 V2
  • Azure Database for MariaDB 서버
  • Device Provisioning Services
  • ExpressRoute 회로
  • Front Door
  • 네트워크 인터페이스
  • 네트워크 보안 그룹
  • 공용 IP 주소
  • Traffic Manager 프로필
  • Virtual Network 게이트웨이
  • 가상 사설망 게이트웨이
  • 가상 네트워크
  • Search Services
  • Stream Analytics 작업

형식 설명
action_id_s 문자열
action_name_s 문자열
action_s 문자열
ActivityId_g Guid
AdditionalFields
AdHocOrScheduledJob_s 문자열
application_name_s 문자열
audit_schema_version_d Double
avg_cpu_percent_s 문자열
avg_mean_time_s 문자열
backendHostname_s 문자열
Caller_s 문자열
callerId_s 문자열
CallerIPAddress 문자열
calls_s 문자열
범주 String
client_ip_s 문자열
clientInfo_s 문자열
clientIP_s 문자열
clientIp_s 문자열
clientIpAddress_s 문자열
clientPort_d Double
code_s 문자열
collectionName_s 문자열
conditions_destinationIP_s 문자열
conditions_destinationPortRange_s 문자열
conditions_None_s 문자열
conditions_protocols_s 문자열
conditions_sourceIP_s 문자열
conditions_sourcePortRange_s 문자열
CorrelationId 문자열
count_executions_d Double
cpu_time_d Double
database_name_s 문자열
database_principal_name_s 문자열
DatabaseName_s 문자열
db_id_s 문자열
direction_s 문자열
dop_d Double
duration_d Double
duration_milliseconds_d Double
DurationMs BigInt
ElasticPoolName_s 문자열
endTime_t DateTime
Environment_s 문자열
error_code_s 문자열
error_message_s 문자열
errorLevel_s 문자열
event_class_s 문자열
event_s 문자열
event_subclass_s 문자열
event_time_t DateTime
EventName_s 문자열
execution_type_d Double
executionInfo_endTime_t DateTime
executionInfo_exitCode_d Double
executionInfo_startTime_t DateTime
host_s 문자열
httpMethod_s 문자열
httpStatus_d Double
httpStatusCode_d Double
httpStatusCode_s 문자열
httpVersion_s 문자열
id_s 문자열
identity_claim_appid_g Guid
identity_claim_ipaddr_s 문자열
instanceId_s 문자열
interval_end_time_d Double
interval_start_time_d Double
ip_s 문자열
is_column_permission_s 문자열
isAccessPolicyMatch_b Bool
JobDurationInSecs_s 문자열
JobFailureCode_s 문자열
JobId_g Guid
jobId_s 문자열
JobOperation_s 문자열
JobOperationSubType_s 문자열
JobStartDateTime_s 문자열
JobStatus_s 문자열
JobUniqueId_g Guid
Level 문자열
log_bytes_used_d Double
logical_io_reads_d Double
logical_io_writes_d Double
LogicalServerName_s 문자열
macAddress_s 문자열
matchedConnections_d Double
max_cpu_time_d Double
max_dop_d Double
max_duration_d Double
max_log_bytes_used_d Double
max_logical_io_reads_d Double
max_logical_io_writes_d Double
max_num_physical_io_reads_d Double
max_physical_io_reads_d Double
max_query_max_used_memory_d Double
max_rowcount_d Double
max_time_s 문자열
mean_time_s 문자열
메시지 String
min_time_s 문자열
msg_s 문자열
num_physical_io_reads_d Double
object_id_d Double
object_name_s 문자열
OperationName String
OperationVersion String
partitionKey_s 문자열
physical_io_reads_d Double
plan_id_d Double
policy_s 문자열
policyMode_s 문자열
primaryIPv4Address_s 문자열
priority_d Double
properties_enabledForDeployment_b Bool
properties_enabledForDiskEncryption_b Bool
properties_enabledForTemplateDeployment_b Bool
properties_s 문자열
properties_sku_Family_s 문자열
properties_sku_Name_s 문자열
properties_tenantId_g Guid
query_hash_s 문자열
query_id_d Double
query_max_used_memory_d Double
query_plan_hash_s 문자열
query_time_d Double
querytext_s 문자열
receivedBytes_d Double
Region_s 문자열
requestCharge_s 문자열
requestQuery_s 문자열
requestResourceId_s 문자열
requestResourceType_s 문자열
requestUri_s 문자열
reserved_storage_mb_s 문자열
리소스 String
resource_actionName_s 문자열
resource_location_s 문자열
resource_originRunId_s 문자열
resource_resourceGroupName_s 문자열
resource_runId_s 문자열
resource_subscriptionId_g Guid
resource_triggerName_s 문자열
resource_workflowId_g Guid
resource_workflowName_s 문자열
ResourceGroup String
_ResourceId 문자열 레코드가 연결된 리소스의 고유 식별자입니다.
ResourceProvider String
ResourceProvider String
ResourceType String
ResourceType String
response_rows_d Double
resultCode_s 문자열
ResultDescription 문자열
ResultDescription 문자열
resultDescription_ChildJobs_s 문자열
resultDescription_ErrorJobs_s 문자열
resultMessage_s 문자열
ResultSignature 문자열
ResultType String
ResultType String
rootCauseAnalysis_s 문자열
routingRuleName_s 문자열
rowcount_d Double
ruleName_s 문자열
RunbookName_s 문자열
RunOn_s 문자열
schema_name_s 문자열
sentBytes_d Double
sequence_group_id_g Guid
sequence_number_d Double
server_principal_sid_s 문자열
session_id_d Double