자습서: Azure Portal을 사용하여 Azure Cosmos DB 작업 영역 데이터에 대한 변환 추가

이 자습서에서는 Azure Portal을 사용하여 작업 영역 DCR(데이터 수집 규칙)의 변환 샘플의 구성을 안내합니다.

참고 항목

Log Analytics를 사용하도록 설정하는 비용을 개선하기 위해 이제 Log Analytics 리소스에 데이터 수집 규칙 및 변환을 추가하여 열을 필터링하고, 반환되는 결과 수를 줄이고, 데이터가 대상으로 전송되기 전에 새 열을 만들 수 있습니다.

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

참고 항목

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

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

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

필수 조건

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

자습서 개요

이 자습서에서는 특정 레코드를 필터링하여 CDBDataPlaneRequests 테이블에 대한 스토리지 요구 사항을 줄입니다. 또한 열 데이터를 구문 분석하는 동안 열의 내용을 제거하여 사용자 지정 열에 데이터 조각을 저장합니다. CDBDataPlaneRequests 테이블은 작업 영역에서 로그 분석을 사용하도록 설정할 때 생성됩니다.

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

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

쿼리 감사 로그 사용

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

테이블에 변환 추가

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

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

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

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

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

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

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

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

    source
    | where StatusCode != 200 // searching for requests that are not successful
    | project-away Type, TenantId
    

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

    • 이러한 로그 항목은 유용하지 않으므로 공간을 절약하기 위해 CDBDataPlaneRequests 테이블 자체의 쿼리와 관련된 행이 삭제되었습니다.
    • 공간을 절약하기 위해 TenantIdType 열의 데이터가 제거되었습니다.
    • 변환은 쿼리에서 extend 연산자를 사용하여 열을 추가하는 것도 지원합니다.

    참고 항목

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

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

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

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

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

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

변환 테스트

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

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

문제 해결

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

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

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

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

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

다음 단계