자습서: Azure Portal을 사용하여 작업 영역 데이터 수집 규칙에 변환 추가

이 자습서에서는 Azure Portal을 사용하여 작업 영역 DCR(데이터 수집 규칙)의 변환 샘플의 구성을 안내합니다. Azure Monitor의 변환을 사용하면 들어오는 데이터를 대상으로 보내기 전에 필터링하거나 수정할 수 있습니다. 작업 영역 변환은 아직 Azure Monitor 데이터 수집 파이프라인을 사용하지 않는 워크플로에 대한 수집 시간 변환을 지원합니다.

작업 영역 변환은 작업 영역 DCR(데이터 수집 규칙)이라고 하는 작업 영역에 대한 단일 DCR에 함께 저장됩니다. 각 변환은 특정 테이블과 연결됩니다. 변환은 DCR을 사용하지 않는 워크플로에서 이 테이블로 전송된 모든 데이터에 적용됩니다.

참고 항목

이 자습서에서는 Azure Portal을 사용하여 작업 영역 변환을 구성합니다. Azure Resource Manager 템플릿 및 REST API를 사용하는 동일한 자습서는 자습서: 리소스 관리자 템플릿을 사용하여 Azure Monitor에 작업 영역 데이터 수집 규칙의 변환 추가를 참조하세요.

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

  • Log Analytics 작업 영역의 테이블에 대해 작업 영역 변환을 구성합니다.
  • 작업 영역 변환에 대한 로그 쿼리를 작성합니다.

필수 조건

이 자습서를 완전히 학습하려면 다음이 필요합니다.

자습서 개요

이 자습서에서는 특정 레코드를 필터링하여 LAQueryLogs 테이블에 대한 스토리지 요구 사항을 줄입니다. 또한 열 데이터를 구문 분석하는 동안 열의 내용을 제거하여 사용자 지정 열에 데이터 조각을 저장합니다. LAQueryLogs 테이블은 작업 영역에서 로그 쿼리 감사를 사용하도록 설정할 때 만들어집니다. 이와 동일한 기본 프로세스를 사용하여 Log Analytics 작업 영역에서 모든 지원되는 테이블에 대한 변환을 만들 수 있습니다.

이 자습서에서는 수집 시간 변환을 만드는 과정을 안내하는 마법사를 제공하는 Azure Portal을 사용합니다. 단계를 완료하면 마법사가 표시됩니다.

  • 쿼리의 다른 열로 테이블 스키마를 업데이트합니다.
  • WorkspaceTransforms DCR을 만들고 기본 DCR이 아직 작업 영역에 연결되지 않은 경우 작업 영역에 연결합니다.
  • 수집 시간 변환을 만들어 DCR에 추가합니다.

쿼리 감사 로그 사용

작업할 LAQueryLogs 테이블을 만들려면 작업 영역에 대해 쿼리 감사를 사용하도록 설정해야 합니다. 이 단계가 모든 수집 시간 변환에 필요한 것은 아닙니다. 이는 단지 작업할 샘플 데이터를 생성하기 위한 것입니다.

  1. Azure Portal의 Log Analytics 작업 영역 메뉴에서 진단 설정>진단 설정 추가를 선택합니다.

    진단 설정을 보여 주는 스크린샷

  2. 진단 설정의 이름을 입력합니다. 감사 데이터가 동일한 작업 영역에 저장되도록 작업 영역을 선택합니다. 감사 범주를 선택한 다음, 저장을 선택하여 진단 설정을 저장하고 진단 설정 페이지를 닫습니다.

    새 진단 설정을 보여 주는 스크린샷

  3. 로그를 선택한 다음 일부 쿼리를 실행하여 일부 데이터로 LAQueryLogs를 채웁니다. 이러한 쿼리는 감사 로그에 추가할 데이터를 반환할 필요가 없습니다.

    샘플 로그 쿼리를 보여 주는 스크린샷

테이블에 변환 추가

이제 테이블이 만들어졌으므로 변환을 만들 수 있습니다.

  1. Azure Portal의 Log Analytics 작업 영역 메뉴에서 테이블을 선택합니다. LAQueryLogs 테이블을 찾아 변환 만들기를 선택합니다.

    새 변환을 만드는 모습을 보여 주는 스크린샷

  2. 이 변환은 작업 영역의 첫 번째 변환이므로 작업 영역 변환 DCR을 만들어야 합니다. 동일한 작업 영역에서 다른 테이블에 대한 변환을 만들면 동일한 DCR에 저장됩니다. 새 데이터 컬렉션 규칙 만들기를 선택합니다. 구독리소스 그룹이 작업 영역에 이미 채워져 있습니다. DCR의 이름을 입력하고 완료를 선택합니다.

    새 데이터 수집 규칙을 만드는 모습을 보여 주는 스크린샷

  3. 다음을 선택하여 테이블에서 샘플 데이터를 봅니다. 변환을 정의할 때 결과는 샘플 데이터에 적용됩니다. 따라서 실제 데이터에 적용하기 전에 결과를 평가할 수 있습니다. 변환 편집기를 선택하여 변환을 정의합니다.

    로그 테이블의 샘플 데이터를 보여 주는 스크린샷

  4. 변환 편집기에서 테이블에 수집하기 전에 데이터에 적용할 변환을 볼 수 있습니다. 들어오는 데이터는 source라는 가상 테이블로 표시되며, 이 테이블에는 대상 테이블 자체와 동일한 열 세트가 있습니다. 변환은 처음에 변경 내용 없이 source 테이블을 반환하는 간단한 쿼리를 포함합니다.

  5. 쿼리를 다음 예제로 수정합니다.

    source
    | where QueryText !contains 'LAQueryLogs'
    | extend Context = parse_json(RequestContext)
    | extend Workspace_CF = tostring(Context['workspaces'][0])
    | project-away RequestContext, Context
    

    이렇게 수정하면 다음과 같이 변경됩니다.

    • 이러한 로그 항목은 유용하지 않으므로 공간을 절약하기 위해 LAQueryLogs 테이블 자체의 쿼리와 관련된 행이 삭제되었습니다.
    • 쿼리된 작업 영역의 이름에 대한 열이 추가되었습니다.
    • 공간을 절약하기 위해 RequestContext 열의 데이터가 제거되었습니다.

    참고 항목

    Azure Portal을 사용하면 필요한 경우 변환 출력 시 테이블 스키마에 대한 변경이 시작됩니다. 열이 아직 없는 경우 변환 출력과 일치하도록 추가됩니다. 테이블에 추가하지 않으려는 추가 열이 출력에 포함되지 않도록 해야 합니다. 테이블에 이미 있는 열이 출력에 포함되지 않으면 해당 열은 제거되지 않지만 데이터는 추가되지 않습니다.

    기본 제공 테이블에 추가된 모든 사용자 지정 열은 _CF로 끝나야 합니다. 사용자 지정 테이블에 추가된 열에는 이 접미사가 필요하지 않습니다. 사용자 지정 테이블에는 _CL로 끝나는 이름이 있습니다.

  6. 쿼리를 변환 편집기에 복사하고 실행을 선택하여 샘플 데이터의 결과를 봅니다. 쿼리에 새 Workspace_CF 열이 있는지 확인할 수 있습니다.

    변환 편집기를 보여 주는 스크린샷

  7. 적용을 클릭하여 변환을 저장한 후 다음을 클릭하여 구성을 검토합니다. 만들기를 선택하여 DCR을 새 변환으로 업데이트합니다.

    변환 저장을 보여 주는 스크린샷

변환 테스트

변환이 적용되는 데 약 30분이 소요됩니다. 그런 다음 테이블에 대해 쿼리를 실행하여 테스트할 수 있습니다. 변환이 적용된 후 테이블로 전송된 데이터만 영향을 받습니다.

이 자습서에서는 몇 가지 샘플 쿼리를 실행하여 데이터를 LAQueryLogs 테이블로 보냅니다. 변환이 이러한 레코드를 필터링하는지 확인할 수 있도록 LAQueryLogs에 대한 일부 쿼리를 포함합니다. 출력에 새 Workspace_CF 열이 있고 LAQueryLogs에 대한 레코드가 없습니다.

문제 해결

이 섹션에서는 나타날 수 있는 다양한 오류 조건과 이를 수정하는 방법에 대해 설명합니다.

Log Analytics의 IntelliSense가 테이블의 새 열을 인식하지 못함

IntelliSense를 구동하는 캐시는 업데이트하는 데 최대 24시간이 걸릴 수 있습니다.

동적 열의 변환이 작동하지 않음

알려진 문제는 현재 동적 열에 영향을 줍니다. 임시 해결 방법은 동적 열 데이터에 대해 작업을 수행하기 전에 parse_json()을 사용하여 동적 열 데이터를 명시적으로 구문 분석하는 것입니다.

다음 단계