자습서: Azure Monitor 로그에서 수집하는 동안 문자 로그 변환
수집 시간 변환을 사용하면 들어오는 데이터를 Log Analytics 작업 영역에 저장하기 전에 필터링하거나 수정할 수 있습니다. 이 문서에서는 문자 로그 데이터를 변환하고 변환을 데이터 수집 규칙에 추가하는 KQL 쿼리를 작성하는 방법을 설명합니다.
여기에 설명된 절차에서는 Azure Monitor 에이전트를 사용하여 텍스트 로그 수집에 설명된 대로 텍스트 파일에서 일부 데이터를 이미 수집했다고 가정합니다. 이 자습서에서는 다음을 수행합니다.
- KQL 쿼리를 작성하여 수집된 데이터를 변환합니다.
- 대상 테이블 스키마를 수정합니다.
- 변환을 데이터 수집 규칙에 추가합니다.
- 변환이 올바르게 작동하는지 확인합니다.
필수 조건
이 절차를 완료하려면 다음이 필요합니다.
- 최소한 기여자 권한이 있는 Log Analytics 작업 영역입니다.
- Azure Monitor 에이전트를 사용하여 텍스트 로그 수집에 설명된 대로 데이터 수집 규칙, 데이터 수집 엔드포인트 및 사용자 지정 테이블입니다.
- 텍스트 파일에 로그를 로그하는 VM, Virtual Machine Scale Set 또는 Arc 지원 온-프레미스 서버입니다.
텍스트 파일 요구 사항:
- Azure Monitor 에이전트가 실행되는 컴퓨터의 로컬 드라이브에 저장합니다.
- 줄 끝으로 구분합니다.
- ASCII 또는 UTF-8 인코딩을 사용합니다. UTF-16과 같은 다른 형식은 지원되지 않습니다.
- 순환 로깅, 새 항목으로 파일을 덮어쓰는 로그 회전 또는 파일이 이동되고 이름이 같은 새 파일이 열리는 위치의 이름을 바꾸는 것을 허용하지 않습니다.
수집된 데이터를 변환하는 KQL 쿼리 작성
Log Analytics에서 대상 사용자 지정 테이블의 데이터를 봅니다.
- Azure Portal에서 Log Analytics 작업 영역>Log Analytics 작업 영역>로그를 선택합니다.
- 사용자 지정 로그 테이블인 기본 쿼리를 실행하여 테이블 데이터를 봅니다.
쿼리 창을 사용하여 테이블의 원시 데이터를 변환하는 쿼리를 작성하고 테스트합니다.
변환이 지원하는 KQL 연산자에 대한 자세한 내용은 Azure Monitor의 변환 구조를 참조하세요.
참고 항목
변환을 적용할 수 있는 유일한 열은 TimeGenerated 및 RawData입니다. 다른 열은 변환 후에 자동으로 테이블에 추가되며 변환 시 사용할 수 없습니다. _ResourceId 열은 변환에 사용할 수 없습니다.
예제
이 샘플에서는 기본 KQL 연산자를 사용하여
RawData
열의 데이터를Time Ingested
,RecordNumber
및RandomContent
(이)라는 세 개의 새 열로 구문 분석합니다.extend
연산자는 새 열을 추가합니다.project
연산자는 대상 테이블 스키마의 열과 일치하도록 출력 형식을 지정합니다.
MyTable_CL | extend d=todynamic(RawData) | project TimeGenerated,TimeIngested=tostring(d.Time), RecordNumber=tostring(d.RecordNumber), RandomContent=tostring(d.RandomContent), RawData
참고 항목
이러한 방식으로 테이블 데이터를 쿼리해도 테이블의 데이터가 실제로 수정되지는 않습니다. Azure Monitor는 데이터 수집 규칙에 변환 쿼리를 추가한 후 데이터 수집 파이프라인에 변환을 적용합니다.
쿼리의 형식을 한 줄로 지정하고 쿼리의 첫 번째 줄에 있는 테이블 이름을
source
단어로 바꿉니다.예시:
source | extend d=todynamic(RawData) | project TimeGenerated,TimeIngested=tostring(d.Time),RecordNumber=tostring(d.RecordNumber), RandomContent=tostring(d.RandomContent), RawData
서식이 지정된 쿼리를 복사하여 데이터 수집 규칙 구성에 붙여넣을 수 있습니다.
새 열을 포함하도록 사용자 지정 테이블 수정
변환 쿼리에 따라 사용자 지정 테이블에서 열을 추가하거나 삭제합니다.
위의 예제 변환 쿼리는 string
형식의 세 개의 새 열을 추가합니다.
TimeIngested
RecordNumber
RandomContent
이 변환을 지원하려면 이러한 세 개의 새 열을 사용자 지정 테이블에 추가합니다.
데이터 수집 규칙에 변환 적용
모니터 메뉴에서 데이터 수집 규칙> 데이터 수집 규칙을 선택합니다.
데이터 원본> 데이터 원본을 선택합니다.
서식이 지정된 변환 쿼리를 데이터 원본 추가 화면의 데이터 원본 탭에 있는 변환 필드에 붙여넣습니다.
저장을 선택합니다.
변환이 작동하는지 확인
대상 사용자 지정 테이블의 데이터를 보고 데이터가 수정된 테이블에 올바르게 수집되고 있는지 확인합니다.
- Azure Portal에서 Log Analytics 작업 영역>Log Analytics 작업 영역>로그를 선택합니다.
- 사용자 지정 로그 테이블인 기본 쿼리를 실행하여 테이블 데이터를 봅니다.
다음 단계
자세히 알아보기: