다음을 통해 공유


자습서: Log Analytics 작업 영역의 사용자 지정 필드를 KQL 기반 사용자 지정 열로 바꾸기

사용자 지정 필드는 동일한 테이블의 다른 텍스트 열에서 별도의 열 데이터로 추출할 수 있는 Azure Monitor의 기능입니다. 새 사용자 지정 필드를 만드는 기능은 2023년 3월 31일부터 사용할 수 없게 됩니다. 사용자 지정 필드 기능은 더 이상 사용되지 않으며, 기존 사용자 지정 필드는 2026년 3월 31일부터 작동하지 않게 됩니다.

동일한 결과를 얻기 위해 DCR 기반 수집 시간 변환을 사용하면 다음과 같은 몇 가지 이점이 있습니다.

  • 전체 문자열 함수 집합을 적용하여 사용자 지정 열을 형성할 수 있습니다.
  • 동일한 데이터에 여러 작업을 적용할 수 있습니다. 예를 들어 값의 일부를 별도의 열에 추출하고 원래 열을 제거합니다.
  • ARM 템플릿에서 수집 시간 변환을 사용하여 대규모로 사용자 지정 열을 배포할 수 있습니다.

DCR(데이터 수집 규칙)이 도입되면서 KQL 기반 변환은 레거시 사용자 지정 필드를 대체하는 테이블 사용자 지정의 표준 방법이 되었습니다.

이 자습서에서는 다음을 하는 방법을 알아볼 수 있습니다.

  • 대체가 필요한 사용자 지정 필드 찾기
  • 사용자 지정 필드의 내용 이해
  • 테이블 내의 사용자 지정 필드를 대체하도록 수집 시간 변환 설정

필수 조건

  • 사용자 지정 필드가 포함된 테이블이 있는 Log Analytics 작업 영역
  • DCR(데이터 수집 규칙)을 만들고 수정할 수 있는 충분한 계정 권한

바꿀 사용자 지정 필드 찾기

바꿀 사용자 지정 필드를 찾아 시작합니다. 바꿀 사용자 지정 필드를 이미 알고 있는 경우 다음 단계로 진행합니다.

  1. 사용자 지정 필드가 있는 테이블이 있는 Log Analytics 작업 영역으로 이동합니다.

  2. 측면 메뉴메뉴에서 테이블을 선택합니다. 테이블의 바로 가기 메뉴에서 테이블 관리를 선택합니다.

    Log Analytics 작업 영역의 테이블에 대한 테이블 관리 옵션을 보여 주는 스크린샷

  3. 특정 테이블과 연결된 DCR(데이터 수집 규칙)이 있는지 확인합니다.

    • 해당 섹션에 DCR이 있는 경우 기존 사용자 지정 필드가 이러한 DCR 내에서 이미 구현되었거나 DCR 생성 시 폐기되었음을 의미합니다. 이 자습서의 다음 단계에서 사용자 지정 필드의 콘텐츠를 검사하고 DCR에 대한 추가 업데이트가 필요한지 여부를 결정하게 됩니다.
    • 테이블과 연결된 데이터 수집 규칙이 없는 경우 이름이 "_CF"로 끝나는 특정 테이블의 모든 열은 대체될 수 있는 사용자 지정 필드가 됩니다.

    테이블과 연결된 데이터 수집 규칙을 포함하여 테이블의 속성을 보여 주는 스크린샷

  4. 테이블 속성 대화 상자를 닫고 테이블 바로 가기 메뉴에서 스키마 편집을 선택합니다. 사용자 지정 열이 나열된 페이지 아래쪽으로 스크롤합니다. 이러한 열은 _CF로 끝납니다.

    사용자 지정 열을 포함한 테이블의 열 목록을 보여 주는 스크린샷

  5. 다음 단계에서 콘텐츠를 결정하기 때문에 이러한 열의 이름을 적어둡니다.

사용자 지정 필드 콘텐츠 이해

사용자 지정 필드 정의를 직접 검사할 방법이 없으므로 테이블을 쿼리하여 사용자 지정 필드 수식을 결정해야 합니다.

  1. 측면 메뉴에서 로그를 선택하고 쿼리를 실행하여 테이블에서 데이터 샘플을 가져옵니다.

    샘플 데이터를 반환하는 쿼리가 있는 Log Analytics의 스크린샷

  2. 이전 단계에서 설명한 열을 찾아 해당 콘텐츠를 검사합니다.

    • 열이 비어 있지 않고 테이블과 연결된 DCR이 있는 경우 사용자 지정 필드 논리가 변환을 통해 이미 구현된 것입니다. 아무 작업도 필요하지 않습니다.
    • 열이 비어 있는 경우(또는 쿼리 결과에 없는 경우) 테이블과 연결된 DCR이 있는 경우 사용자 지정 필드 논리가 DCR로 구현되지 않은 것입니다. 기존 DCR의 데이터 흐름에 변환을 추가합니다.
    • 열이 비어 있지 않고 테이블과 연결된 DCR이 없는 경우 사용자 지정 필드 논리는 작업 영역 DCR에서 변환으로 구현되어야 합니다.
  3. 사용자 지정 필드의 내용을 검사하고 계산 방법을 논리로 결정합니다. 사용자 지정 필드는 일반적으로 같은 테이블에 있는 다른 열의 부분 문자열을 계산합니다. 데이터가 어느 열에서 나오는지, 그리고 데이터가 추출되는 문자열 부분을 결정합니다.

변환 만들기

이제 필요한 KQL 코드 조각을 만들고 DCR에 추가할 준비가 되었습니다. 이 논리는 작업 영역에 수집될 때 각 레코드에 적용됩니다.

  1. KQL을 사용하여 테이블에 대한 쿼리를 수정하여 사용자 지정 필드 논리를 복제합니다. 바꿀 사용자 지정 필드가 여러 개인 경우 해당 계산 논리를 단일 명령문으로 결합할 수 있습니다.

    • 문자열 내의 부분 문자열을 패턴 기반으로 검색하려면 parse 연산자를 사용합니다.
    • regex 기반 부분 문자열 검색에는 extract() 함수를 사용합니다.
    • split(), substring()기타 여러 가지 문자열 함수도 유용할 수 있습니다.

    변환 쿼리를 사용하여 데이터를 반환하는 쿼리가 있는 Log Analytics의 스크린샷

  2. 사용자 지정 열의 새 KQL 정의를 배치해야 하는 위치를 결정합니다.

질문과 대답

레거시 Log Analytics 에이전트(MMA)를 사용하여 수집된 텍스트 로그에 대한 사용자 지정 필드를 마이그레이션하려면 어떻게 해야 하나요?

AMA(Azure Monitor 에이전트)로 마이그레이션하는 것이 좋습니다. Log Analytics 에이전트가 지원 종료를 앞두고 있으므로 AMA(Azure Monitor 에이전트)로 마이그레이션해야 합니다. AMA로 수집된 텍스트 로그는 처음부터 KQL 변환 형식으로 정의된 로그 구문 분석 논리를 사용합니다. Azure Monitor 에이전트에서 수집한 텍스트 로그에는 사용자 지정 필드가 필요하지 않으며 지원되지 않습니다.

사용자 지정 필드를 KQL로 마이그레이션하는 것이 필수인가요?

아니요, 사용자 지정 열을 계속 채우려는 경우에만 사용자 지정 필드를 마이그레이션해야 합니다. 사용자 지정 필드를 마이그레이션하지 않으면 사용자 지정 필드 지원이 종료되면 해당 열이 더 이상 채워지지 않습니다. 이미 처리되어 테이블에 저장된 데이터는 영향을 받지 않으며 계속 사용할 수 있습니다.

사용자 지정 필드를 제때 마이그레이션하지 않으면 해당 열의 기존 데이터가 손실될까요?

아니요, 사용자 지정 필드는 데이터 수집 시 계산됩니다. 필드 정의를 삭제하거나 제때에 마이그레이션하지 않으면 이전에 수집된 데이터에는 영향을 주지 않습니다.

다음 단계