Azure Monitor에서 검색 작업 실행

검색 작업은 추가 분석을 위해 작업 영역 내의 새 검색 테이블로 레코드를 가져오는 비동기 쿼리입니다. 검색 작업은 병렬 처리를 사용하며 대규모 데이터 세트에서 몇 시간 동안 실행할 수 있습니다. 이 문서에서는 쿼리 작업을 만드는 방법과 결과 데이터를 쿼리하는 방법에 대해 설명합니다.

참고 항목

작업 검색 기능은 현재 고객 관리형 키가 있는 작업 영역에서 지원되지 않습니다.

사용 권한

검색 작업을 실행하려면 예를 들어 Log Analytics 기여자 기본 제공 역할에서 제공하는 Log Analytics 작업 영역에 대한 Microsoft.OperationalInsights/workspaces/tables/writeMicrosoft.OperationalInsights/workspaces/searchJobs/write 권한이 필요합니다.

검색 작업을 사용하는 경우

10분의 로그 쿼리 제한 시간이 대용량 데이터를 쿼리하기에 충분하지 않거나 느린 쿼리를 실행 중인 경우 쿼리 작업을 사용합니다.

또한 검색 작업을 통해 보관된 로그기본 로그 테이블에서 쿼리에 사용할 수 있는 새 로그 테이블로 레코드를 검색할 수 있습니다. 이러한 방식으로 검색 작업을 실행하는 것은 다음과 같은 대안이 될 수 있습니다.

  • 특정 시간 범위의 보관된 로그에서 데이터 복원.
    대용량 데이터에 대해 많은 쿼리를 일시적으로 실행해야 하는 경우 복원을 사용합니다.

  • 기본 로그를 직접 쿼리하고 각 쿼리에 대해 비용을 지불합니다.
    어떤 대안이 더 비용 효율적인지 확인하려면 네이티브 로그를 쿼리하는 비용을 쿼리 작업을 실행하고 쿼리 작업 결과를 저장하는 비용과 비교합니다.

검색 작업은 무엇을 하나요?

검색 작업은 결과를 원본 데이터와 동일한 작업 영역의 새 테이블로 보냅니다. 결과 테이블은 검색 작업이 시작되는 즉시 사용할 수 있지만 결과가 나타나기 시작하는 데 시간이 걸릴 수 있습니다.

검색 작업 결과 테이블은 작업 영역의 테이블을 사용하는 로그 쿼리 및 기타 Azure Monitor 기능에 사용할 수 있는 Analytics 테이블입니다. 테이블은 작업 영역에 대해 설정된 보존 값을 사용하지만 테이블이 만들어진 후 이 값을 수정할 수 있습니다.

검색 결과 테이블 스키마는 원본 테이블 스키마와 지정된 쿼리를 기반으로 합니다. 다음과 같은 다른 열은 원본 레코드를 추적하는 데 도움이 됩니다.

Column
_OriginalType 원본 테이블에서 값을 입력합니다.
_OriginalItemId 원본 테이블의 _ItemID 값입니다.
_OriginalTimeGenerated 원본 테이블의 TimeGenerated 값.
TimeGenerated 검색 작업이 실행된 시간.

결과 테이블의 쿼리는 로그 쿼리 감사에 나타나지만 초기 쿼리 작업에는 나타나지 않습니다.

검색 작업 실행

검색 작업을 실행하여 대규모 데이터 세트의 레코드를 작업 영역의 새 검색 결과 테이블로 가져옵니다.

검색 작업을 실행하면 요금이 청구됩니다. 따라서 쿼리 작업을 실행하기 전에 Interactive Query 모드에서 쿼리를 작성하고 최적화합니다.

Azure Portal에서 검색 작업을 실행하려면 다음을 수행합니다.

  1. Log Analytics 작업 영역 메뉴에서 로그를 선택합니다.

  2. 화면 오른쪽에 있는 줄임표 메뉴를 선택하고 검색 작업 모드를 켭니다.

    Screenshot of the Logs screen with the Search job mode switch highlighted.

    Azure Monitor 로그 intellisense는 쿼리 작업 쿼리를 작성하는 데 도움이 되도록 쿼리 작업 모드에서 KQL 쿼리 제한을 지원합니다.

  3. 시간 선택기를 사용하여 검색 작업 날짜 범위를 지정합니다.

  4. 쿼리 작업 쿼리를 입력하고 작업 쿼리 단추를 선택합니다.

    Azure Monitor 로그는 결과 집합 테이블의 이름을 제공하라는 메시지를 표시하고 검색 작업이 청구 대상임을 알려 줍니다.

    Screenshot that shows the Azure Monitor Logs prompt to provide a name for the search job results table.

  5. 검색 작업 결과 테이블의 이름을 입력하고 검색 작업 실행을 선택합니다.

    Azure Monitor 로그는 검색 작업을 실행하고 검색 작업 결과에 대한 작업 영역에 새 테이블을 만듭니다.

    Screenshot that shows an Azure Monitor Logs message that the search job is running and the search job results table will be available shortly.

  6. 새 테이블이 준비되면 tablename_SRCH 보기를 선택하여 Log Analytics에서 테이블을 봅니다.

    Screenshot that shows an Azure Monitor Logs message that the search job results table is available to view.

    새로 만들어진 검색 작업 결과 테이블로 흐르기 시작하면 검색 작업 결과를 볼 수 있습니다.

    Screenshot that shows search job results table with data.

    Azure Monitor 로그는 검색 작업이 끝날 때 검색 작업이 완료됨 메시지를 표시합니다. 이제 검색 쿼리와 일치하는 모든 레코드가 포함된 결과 테이블이 준비되었습니다.

    Screenshot that shows an Azure Monitor Logs message that the search job is done.

검색 작업 상태 및 세부 정보 가져오기

  1. Log Analytics 작업 영역 메뉴에서 로그를 선택합니다.

  2. 테이블 탭에서 검색 결과를 선택하여 모든 검색 작업 결과 테이블을 봅니다.

    검색 작업 결과 테이블의 아이콘은 검색 작업이 완료될 때까지 업데이트를 표시합니다.

    Screenshot that shows the Tables tab on Logs screen in the Azure portal with the search results tables listed under Search results.

검색 작업 테이블 삭제

테이블 쿼리를 완료하면 쿼리 작업 테이블을 삭제하는 것이 좋습니다. 이렇게 하면 작업 영역이 복잡해지고 데이터 보존에 대한 추가 비용이 줄어듭니다.

제한 사항

검색 작업에는 다음 제한 사항이 적용됩니다.

  • 한 번에 하나의 테이블을 쿼리하도록 최적화되었습니다.
  • 검색 기간은 최대 1년입니다.
  • 최대 24시간 제한 시간까지 장기간 실행되는 검색을 지원합니다.
  • 결과는 레코드 집합의 100만 레코드로 제한됩니다.
  • 동시 실행은 작업 영역당 5개의 검색 작업으로 제한됩니다.
  • 작업 영역당 검색 결과 테이블이 100개로 제한됩니다.
  • 작업 영역당 하루에 100개의 검색 작업 실행으로 제한됩니다.

레코드 제한에 도달하면 Azure는 부분 성공 상태로 작업을 중단하고 테이블에는 해당 지점까지 수집된 레코드만 포함됩니다.

KQL 쿼리 제한 사항

검사 작업은 특정 테이블에서 대량의 데이터를 검사하기 위한 것입니다. 따라서 검색 작업 쿼리는 항상 테이블 이름으로 시작해야 합니다. 배포 및 세분화를 사용하여 비동기 실행을 사용하도록 설정하기 위해 쿼리는 연산자를 포함하여 KQL의 하위 집합을 지원합니다.

이러한 연산자 내에서 모든 함수와 이항 연산자를 사용할 수 있습니다.

가격 책정 모델

검색 작업에 대한 요금은 다음을 기준으로 합니다.

  • 검색 작업 실행 - 검색 작업이 검사하는 데이터의 양입니다.
  • 검색 작업 결과 - 검색 작업에서 찾아서 일반 로그 데이터 수집 가격을 기준으로 결과 테이블에 수집된 데이터의 양입니다.

예를 들어 테이블이 하루에 500GB를 보유하는 경우 30일 동안 검색하면 15,000GB의 검사된 데이터에 대한 요금이 청구됩니다. 검색 작업에서 검색 쿼리와 일치하는 1,000개의 레코드를 찾으면 이러한 1,000개의 레코드를 결과 테이블에 수집한 요금이 청구됩니다.

자세한 내용은 Azure Monitor 가격을 참조하세요.

다음 단계