컨테이너 인사이트 로그 스키마

컨테이너 인사이트는 수집한 로그 데이터를 ContainerLogV2라는 테이블에 저장합니다. 이 문서에서는 이 테이블의 스키마와 레거시 ContainerLog 테이블에서의 비교 및 마이그레이션에 대해 설명합니다.

Important

ContainerLogV2는 CLI 버전 2.54.0 이상의 ConfigMap을 통해 기본 스키마가 됩니다. ContainerLogV2는 ARM, Bicep, Terraform, 정책 및 포털 온보딩을 사용하여 관리 ID 인증으로 컨테이너 인사이트를 온보딩하는 고객을 위한 기본 수집 형식이 됩니다. ContainerLogV2는 데이터 수집 설정을 사용하여 CLI 버전 2.51.0 이상을 통해 명시적으로 사용하도록 설정할 수 있습니다.

ContainerLog 테이블에 대한 지원은 2026년 9월 30일에 사용 중지됩니다.

테이블 비교

다음 표에서는 ContainerLogV2와 ContainerLog 스키마 사용 간의 주요 차이점을 강조 표시합니다.

기능 차이점 ContainerLog ContainerLogV2
스키마 ContainerLog의 세부 정보입니다. ContainerLogV2세부 정보입니다.
추가 열은 다음과 같습니다.
- ContainerName
- PodName
- PodNamespace.
온보딩 ConfigMap을 통해서만 구성할 수 있습니다. ConfigMap 및 DCR을 통해 구성할 수 있습니다. 1
가격 책정 정가 분석 로그와만 호환됩니다. 분석 로그 외에도 저렴한 기본 로그 계층을 지원합니다.
쿼리 표준 쿼리를 위해 인벤토리 테이블을 사용하는 여러 조인 작업이 필요합니다. 쿼리 복잡성을 줄이고 작업을 조인하는 추가 Pod 및 컨테이너 메타데이터를 포함합니다.
여러 줄 지원되지 않는 여러 줄 항목은 여러 행으로 분할됩니다. 다중 줄 출력에 대한 통합된 단일 항목을 허용하도록 다중 줄 로깅을 지원합니다.

서비스 주체 인증 기반 클러스터를 사용하는 클러스터에는 1DCR 구성이 지원되지 않습니다. 서비스 주체가 있는 클러스터를 관리 ID 로 마이그레이션하여 이 환경을 사용합니다.

참고 항목

들어오는 LogMessage가 유효한 JSON이 아닌 경우 Event Hub 및 Storage 계정으로 내보내기는 지원되지 않습니다. 최상의 성능을 위해 JSON 형식으로 컨테이너 로그를 내보내는 것이 좋습니다.

기존 경고에 미치는 영향 평가

ContainerLogsV2 스키마를 사용하도록 설정하기 전에 ContainerLog 테이블을 사용하는 경고 규칙이 있는지 평가해야 합니다. 새 테이블을 사용하려면 이러한 경고를 업데이트해야 합니다.

ContainerLog 테이블을 참조하는 경고를 검색하려면 다음 Azure Resource Graph 쿼리를 실행합니다.

resources
| where type in~ ('microsoft.insights/scheduledqueryrules') and ['kind'] !in~ ('LogToMetric')
| extend severity = strcat("Sev", properties["severity"])
| extend enabled = tobool(properties["enabled"])
| where enabled in~ ('true')
| where tolower(properties["targetResourceTypes"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["targetResourceType"]) matches regex 'microsoft.operationalinsights/workspaces($|/.*)?' or tolower(properties["scopes"]) matches regex 'providers/microsoft.operationalinsights/workspaces($|/.*)?'
| where properties contains "ContainerLog"
| project id,name,type,properties,enabled,severity,subscriptionId
| order by tolower(name) asc

ContainerLogV2 스키마 사용

클러스터의 DCR(데이터 수집 규칙) 또는 ConfigMap을 사용하여 클러스터에 대해 ContainerLogV2 스키마를 사용하도록 설정할 수 있습니다. 두 설정을 모두 사용하도록 설정하면 ConfigMap이 우선합니다. Stdout 및 stderr 로그는 DCR 및 ConfigMap이 모두 명시적으로 꺼짐으로 설정된 경우에만 ContainerLog 테이블에 수집됩니다.

컨테이너 인사이트의 여러 줄 로깅

다중 줄 로깅을 사용하도록 설정하면 이전에 분할된 컨테이너 로그가 함께 연결되고 ContainerLogV2 테이블에 단일 항목으로 전송됩니다. 연결 로그 줄이 64KB보다 크면 Log Analytics 작업 영역 제한으로 인해 잘립니다. 이 기능은 ContainerLogV2 테이블에 단일 항목으로 표시되는 .NET, Go, Python 및 Java 스택 추적도 지원합니다. ConfigMap을 사용하여 컨테이너 인사이트에서 데이터 수집 구성에 설명된 대로 ConfigMap을 사용하여 다중 줄 로깅을 사용하도록 설정합니다.

참고 항목

이제 configmap에는 고객이 관심 있는 언어만 선택할 수 있는 언어 사양 옵션이 제공됩니다. 이 기능은 configmap의 stacktrace_languages 옵션에서 언어를 편집하여 사용하도록 설정할 수 있습니다.

다음 스크린샷은 Go 예외 스택 추적에 대한 여러 줄 로깅을 보여 줍니다.

여러 줄 로깅 사용 안 함

Screenshot that shows Multi-line logging disabled.

여러 줄 로깅 사용

Screenshot that shows Multi-line enabled.

Java 스택 추적

Screenshot that shows Multi-line enabled for Java.

Python 스택 추적

Screenshot that shows Multi-line enabled for Python.

다음 단계