검색 작업은 대화형 및 장기 보존 모두에서 Log Analytics의 모든 데이터에 대해 실행하는 비동기 쿼리이며, 이를 통해 쿼리 결과를 작업 영역 내의 새 검색 테이블에서 대화형 쿼리에 사용할 수 있습니다. 검색 작업은 병렬 처리를 사용하며 대규모 데이터 세트에서 몇 시간 동안 실행할 수 있습니다. 이 문서에서는 쿼리 작업을 만드는 방법과 결과 데이터를 쿼리하는 방법에 대해 설명합니다.
이 동영상에서는 검색 작업을 사용하는 시기와 방법을 설명합니다.
필수 사용 권한
작업
필수 사용 권한
검색 작업 실행
예를 들어 Log Analytics 기여자 기본 제공 역할에서 제공하는 Log Analytics 작업 영역에 대한 Microsoft.OperationalInsights/workspaces/tables/write 및 Microsoft.OperationalInsights/workspaces/searchJobs/write 권한.
참고 항목
Entra ID 테넌트가 Azure Lighthouse를 통해 관리되는 경우에도 테넌트 간 검색 작업은 현재 지원되지 않습니다.
검색 작업을 사용하는 경우
검색 작업을 사용하여 다음을 수행합니다.
장기 보존 및 기본 및 보조 계획이 있는 테이블에서 레코드를 검색하여 Azure Monitor Log의 모든 분석 기능을 활용할 수 있는 새 분석 테이블로 이동합니다.
10분의 로그 쿼리 시간 제한이 충분하지 않으면 대량의 데이터를 검사합니다.
검색 작업은 무엇을 하나요?
검색 작업은 결과를 원본 데이터와 동일한 작업 영역의 새 테이블로 보냅니다. 결과 테이블은 검색 작업이 시작되는 즉시 사용할 수 있지만 결과가 나타나기 시작하는 데 시간이 걸릴 수 있습니다.
검색 작업 결과 테이블은 작업 영역의 테이블을 사용하는 로그 쿼리 및 기타 Azure Monitor 기능에 사용할 수 있는 Analytics 테이블입니다. 테이블은 작업 영역에 대해 설정된 보존 값을 사용하지만 테이블이 만들어진 후 이 값을 수정할 수 있습니다.
검색 결과 테이블 스키마는 원본 테이블 스키마와 지정된 쿼리를 기반으로 합니다. 다음과 같은 다른 열은 원본 레코드를 추적하는 데 도움이 됩니다.
Azure Monitor 로그 intellisense는 쿼리 작업 쿼리를 작성하는 데 도움이 되도록 쿼리 작업 모드에서 KQL 쿼리 제한을 지원합니다.
시간 선택기를 사용하여 검색 작업 날짜 범위를 지정합니다.
쿼리 작업 쿼리를 입력하고 작업 쿼리 단추를 선택합니다.
Azure Monitor 로그는 결과 집합 테이블의 이름을 제공하라는 메시지를 표시하고 검색 작업이 청구 대상임을 알려 줍니다.
검색 작업 결과 테이블의 이름을 입력하고 검색 작업 실행을 선택합니다.
Azure Monitor 로그는 검색 작업을 실행하고 검색 작업 결과에 대한 작업 영역에 새 테이블을 만듭니다.
새 테이블이 준비되면 tablename_SRCH 보기를 선택하여 Log Analytics에서 테이블을 봅니다.
새로 만들어진 검색 작업 결과 테이블로 흐르기 시작하면 검색 작업 결과를 볼 수 있습니다.
Azure Monitor 로그는 검색 작업이 끝날 때 검색 작업이 완료됨 메시지를 표시합니다. 이제 검색 쿼리와 일치하는 모든 레코드가 포함된 결과 테이블이 준비되었습니다.
검색 작업을 실행하려면 테이블 - 만들기 또는 업데이트 API를 호출합니다. 호출에는 만들 결과 테이블의 이름이 포함됩니다. 결과 테이블의 이름은 _SRCH로 끝나야 합니다.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/<TableName>_SRCH?api-version=2021-12-01-preview
요청 본문
요청 본문에 다음 값을 포함합니다.
이름
형식
설명
properties.searchResults.query
string
데이터를 쿼리하기 위해 KQL로 작성된 로그 쿼리입니다.
properties.searchResults.limit
정수
결과 집합의 최대 레코드 수입니다(최대 100만 레코드). (선택 사항)
properties.searchResults.startSearchTime
string
검색 시간 범위의 시작입니다.
properties.searchResults.endSearchTime
string
검색 시간 범위의 끝입니다.
샘플 요청
이 예에서는 Syslog 테이블에서 특정 레코드를 검색하는 쿼리 결과로 Syslog_suspected_SRCH라는 테이블을 만듭니다.
요청
PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/testRG/providers/Microsoft.OperationalInsights/workspaces/testWS/tables/Syslog_suspected_SRCH?api-version=2021-12-01-preview
GET https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/<TableName>_SRCH?api-version=2021-12-01-preview
테이블 상태
각 검색 작업 테이블에는 다음 값 중 하나를 가질 수 있는 provisioningState라는 속성이 있습니다.
상태
설명
업데이트
테이블 및 해당 스키마 채우기.
InProgress
검색 작업이 실행 중이며 데이터를 가져오는 중입니다.
성공
검색 작업이 완료되었습니다.
삭제 중
검색 작업 테이블을 삭제합니다.
샘플 요청
이 예에서는 이전 예의 검색 작업에 대한 테이블 상태를 검색합니다.
Request
GET https://management.azure.com/subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/testRG/providers/Microsoft.OperationalInsights/workspaces/testWS/tables/Syslog_SRCH?api-version=2021-12-01-preview
Response
{
"properties": {
"retentionInDays": 30,
"totalRetentionInDays": 30,
"archiveRetentionInDays": 0,
"plan": "Analytics",
"lastPlanModifiedDate": "Mon, 01 Nov 2021 16:38:01 GMT",
"schema": {
"name": "Syslog_SRCH",
"tableType": "SearchResults",
"description": "This table was created using a Search Job with the following query: 'Syslog | where * has 'suspected.exe'.'",
"columns": [...],
"standardColumns": [...],
"solutions": [
"LogManagement"
],
"searchResults": {
"query": "Syslog | where * has 'suspected.exe'",
"limit": 1000,
"startSearchTime": "Wed, 01 Jan 2020 00:00:00 GMT",
"endSearchTime": "Fri, 31 Jan 2020 00:00:00 GMT",
"sourceTable": "Syslog"
}
},
"provisioningState": "Succeeded"
},
"id": "subscriptions/00000000-0000-0000-0000-00000000000/resourcegroups/testRG/providers/Microsoft.OperationalInsights/workspaces/testWS/tables/Syslog_SRCH",
"name": "Syslog_SRCH"
}
검색 작업 결과 - Analytics 테이블의 데이터 수집 속도를 기준으로 검색 작업에서 찾아 결과 테이블에 수집되는 데이터의 양입니다.
예를 들어, 기본 테이블에 대한 검색이 30일 동안 이루어지고 테이블에 하루에 500GB의 데이터가 있는 경우, 검사된 데이터 15,000GB에 대한 요금이 부과됩니다. 검색 작업으로 1,000개 레코드가 반환되는 경우, 이 1,000개 레코드를 결과 테이블에 수집하는 데 요금이 부과됩니다.