Azure Monitor에서 검색 작업 실행

검색 작업은 Log Analytics의 모든 데이터에서 비동기 쿼리를 실행하는 것으로, 이는 분석과 장기 보존 모두에 적용됩니다. 이 작업은 작업 영역 내의 새 검색 테이블에서 대화형 쿼리에 쿼리 결과를 활용할 수 있게 합니다. 검색 작업은 병렬 처리를 사용하며 대규모 데이터 세트에서 몇 시간 동안 실행할 수 있습니다. 이 문서에서는 쿼리 작업을 만드는 방법과 결과 데이터를 쿼리하는 방법에 대해 설명합니다.

이 동영상에서는 검색 작업을 사용하는 시기와 방법을 설명합니다.

필요한 사용 권한

작업 필요한 사용 권한
검색 작업 실행 예를 들어 Microsoft.OperationalInsights/workspaces/tables/write에서 제공하는 Log Analytics 작업 영역에 대한 Microsoft.OperationalInsights/workspaces/searchJobs/write 및 권한.

참고

테넌트 간 검색 작업은 지원되지 않습니다. SearchJobs/쓰기 권한을 포함하는 위임된 역할이 할당된 경우에도 Azure Lighthouse 위임 액세스는 검색 작업(또는 복원)에도 지원되지 않습니다.

검색 작업을 사용하는 경우

검색 작업을 사용하여 다음을 수행합니다.

  • 장기 보존 및 기본 로그 또는 보조 로그가 있는 테이블에서 Azure Monitor 로그의 전체 분석 기능을 지원하는 새 분석 로그 테이블로 레코드를 검색합니다.
  • 로그 쿼리 시간 제한(10분)이 충분하지 않은 경우 대량의 데이터를 검색합니다.

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

검색 작업은 데이터를 검색하고 원본 데이터와 동일한 작업 영역의 새 테이블로 결과를 보냅니다. 결과 테이블은 검색 작업이 시작되는 즉시 사용할 수 있지만 결과가 나타나기 시작하는 데 시간이 걸릴 수 있습니다. 검색된 데이터의 가격 책정 모델 및 수집된 결과의 크기에 따라 비용이 발생합니다. 검색 작업을 실행하기 전에 작업 실행 여부를 결정하는 데 도움이 되는 비용 추정을 사용할 수 있습니다.

비용 예측 미리 보기를 보여 주는 스크린샷.

검색 작업 결과 테이블은 쿼리 및 작업 영역의 테이블을 사용하는 다른 Azure Monitor 기능에 사용할 수 있는 분석 로그 테이블입니다. 테이블은 작업 영역에 대한 보존 값 집합을 상속하며 테이블을 만든 후에도 편집 가능한 상태로 유지됩니다.

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

칼럼 값
_OriginalType 원본 테이블에서 값을 입력합니다.
_OriginalItemId 원본 테이블의 _ItemID 값입니다.
_OriginalTimeGenerated 원본 테이블의 TimeGenerated 값.
타임제너레이티드 검색 작업이 실행된 시간.

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

검색 작업 실행

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

다음 코드 예제에서는 결과를 1,500개의 레코드로 제한합니다. 와 같은 2026-01-01T00:00:00.000ZUTC 타임스탬프를 사용하여 검색 창을 지정합니다. 예를 들어 쿼리 Heartbeat | where ComputerIP has "198.51.100.101" 는 특정 컴퓨터 IP 주소에서 레코드를 검색합니다.

팁

검색 작업을 실행하면 요금이 청구됩니다. 검색 작업을 실행하기 전에 대화형 쿼리 모드에서 쿼리를 작성하고 최적화합니다. 비용 예측 미리 보기를 사용하여 잠재적인 비용을 파악합니다.

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

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

  2. 검색 작업 쿼리를 입력하거나 원하는 테이블을 선택합니다.

  3. 화면 오른쪽에 있는 줄임표 메뉴를 선택하고 검색 작업을 선택합니다.

    검색 작업 메뉴 항목이 강조 표시된 로그 화면의 스크린샷.

  4. 또는 실행 풀다운 메뉴를 사용하고 검색 작업으로 실행을 선택합니다.

    실행 검색 작업 메뉴 항목이 강조 표시된 로그 화면의 스크린샷.

  5. 시간 선택기를 사용하여 검색 작업 날짜 범위를 지정합니다. 총 보존 기간 내의 기간을 선택합니다.

    Kusto 쿼리에서 시간 범위도 지정하는 경우 시간 범위의 합은 검색 작업에 사용됩니다.

    시간 범위 및 검색 작업 결과 테이블을 묻는 검색 작업 인터페이스를 보여 주는 스크린샷.

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

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

  7. 새 테이블이 준비되면 '<searchtablename>_SRCH' 보기를 선택하여 Log Analytics에서 테이블을 봅니다.

    검색 작업 결과는 새로 만든 검색 작업 결과 테이블로 전달되기 시작할 때 사용할 수 있습니다.

    데이터가 있는 검색 작업 결과 테이블을 보여 주는 스크린샷.

    Azure Monitor 로그는 검색 작업이 완료되면 완료 된 메시지를 표시합니다. 해당 메시지가 보이거나 진행률이%100%로 표시되면, 이제 검색과 일치하는 모든 레코드가 결과 테이블에 준비됩니다.

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

검색 결과 테이블을 확인하여 검색 작업의 진행률을 추적합니다.

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

  2. 테이블>검색 결과에서 검색 결과 테이블을 마우스로 가리켜 진행률을 확인합니다.

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

    스크린샷은 검색 테이블 결과의 상태를 보여줍니다.

검색 작업 테이블 삭제

테이블 쿼리가 완료되면 검색 작업 테이블을 삭제 합니다. 이 모범 사례는 작업 영역의 혼란과 데이터 보존에 대한 추가 요금을 줄입니다.

고려 사항

검색 작업에는 다음과 같은 고려 사항이 적용됩니다.

  • 한 번에 하나의 테이블을 쿼리하도록 최적화됨
  • 검색 날짜 범위는 총 보존 기간 내의 모든 기간입니다.
  • 최대 24시간 제한 시간까지 장시간 실행되는 검색을 지원합니다.
  • 결과는 레코드 집합에서 1억 개의 레코드로 제한됩니다. 제한이 초과되면 Azure Monitor는 부분 성공 상태로 작업을 중단하고 테이블에는 해당 시점까지 수집된 레코드만 포함됩니다.
  • 동시 실행은 작업 영역당 10개의 검색 작업으로 제한됩니다.
  • 작업 영역당 검색 결과 테이블 200개로 제한됨
  • 작업 영역당 하루 200회 검색 작업 실행으로 제한됨
  • 테넌트 간 검색 작업은 지원되지 않습니다.
  • 위임에 적절한 searchJobs/write 권한이 포함되어 있더라도 Azure Lighthouse 위임 액세스는 검색 작업에 대해 지원되지 않으며, 이 엑세스는 오류 메시지와 함께 실패합니다.
    User<managing-tenant-userId>는 <delegated-workspace-resourceID> 범위에서 Microsoft.OperationalInsights/workspaces/searchJobs/write 작업에 대한 액세스 권한을 유지하지 않습니다.

KQL 쿼리 고려 사항

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

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

contains 고급 텍스트 일치가 성능에 큰 영향을 주므로 문자열 연산자는 검색 작업에서 사용할 수 없습니다. 대신 문자열 연산자를 has 사용합니다. 성능 고려 사항에 대한 자세한 내용은 Azure Monitor에서 로그 쿼리 최적화를 참조하세요.

가격 책정 모델

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

  • 검색 작업 실행

    • 분석 로그 - 검색 작업이 스캔하는 장기 보존 중인 데이터의 양입니다.

      참고

      분석 로그의 경우 분석 보존 중인 데이터를 검사하는 데 요금이 부과되지 않습니다.

    • 기본 또는 보조 계획 - 검색 작업이 쿼리된 시간 범위 내에서 검색하는 모든 데이터입니다.

    검색된 데이터는 지정한 시간 범위 내에서 검색 작업을 실행하는 테이블의 데이터 볼륨으로 정의됩니다. 분석 및 장기 보존에 대한 자세한 내용은 Log Analytics 작업 영역에서 데이터 보존 관리를 참조하세요.

  • 검색 작업 결과 - 분석 로그에 대한 데이터 수집 속도에 따라 검색 작업이 검색 작업에서 찾아서 결과 테이블에 수집하는 데이터의 양입니다.

가격 예시

분석 로그가 포함된 테이블에 대한 검색 범위가 60일에 걸치고 해당 테이블이 하루에 500GB의 데이터를 수집하지만, 테이블의 분석 보존 기간이 30일로 설정되어 있는 경우에는 장기 보존에 해당하는 30일치 데이터만 포함되어 총 15,000GB의 검색된 데이터에 대한 요금이 청구됩니다. 분석 보존에서 30일간의 데이터를 검사하는 데는 요금이 부과되지 않습니다. 검색 작업으로 1,000개 레코드가 반환되는 경우, 이 1,000개 레코드를 결과 테이블에 수집하는 데 요금이 부과됩니다.

기본 또는 보조 로그가 포함된 테이블에서 검색하는 경우 60일 동안 테이블이 하루에 500GB의 데이터를 수집하는 경우 30,000GB의 스캔된 데이터에 대한 요금이 청구됩니다. 검색 작업으로 1,000개 레코드가 반환되는 경우, 이 1,000개 레코드를 결과 테이블에 수집하는 데 요금이 부과됩니다.

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