Azure Monitor 로그 쿼리의 함수

함수는 명령인 것처럼 다른 로그 쿼리에서 사용할 수 있는 Azure Monitor의 로그 쿼리입니다. 함수를 사용하여 다양한 고객에게 솔루션을 제공하고 자체 환경에서 쿼리 논리를 재사용할 수도 있습니다. 이 문서에서는 함수를 사용하는 방법과 고유의 함수를 만드는 방법을 설명합니다.

필수 사용 권한

함수 유형

Azure Monitor에는 두 가지 유형의 함수가 있습니다.

  • 솔루션 함수: 미리 빌드된 함수는 Azure Monitor에 포함되어 있습니다. 이러한 함수는 모든 Log Analytics 작업 영역에서 사용할 수 있으며 수정할 수 없습니다.
  • 작업 영역 함수: 이 함수는 특정 Log Analytics 작업 영역에 설치됩니다. 사용자가 수정하고 제어할 수 있습니다.

함수 보기

Log Analytics 작업 영역의 왼쪽 창에 있는 함수 탭에서 현재 작업 영역에 있는 솔루션 함수 및 작업 영역 함수를 볼 수 있습니다. 필터를 사용하여 목록에 포함된 함수를 필터링합니다. 그룹화 기준을 사용하여 그룹화를 변경합니다. 특정 함수를 찾으려면 검색 상자에 문자열을 입력합니다. 함수를 마우스로 가리키면 설명 및 매개 변수를 포함한 세부 정보를 볼 수 있습니다.

Screenshot that shows viewing a function.

함수 사용

명령에 입력하는 것과 동일한 매개 변수 값으로 함수 이름을 입력하여 쿼리에서 함수를 사용합니다. 함수의 출력은 결과로 반환되거나 다른 명령으로 파이프될 수 있습니다.

함수 이름을 두 번 클릭하거나 마우스로 가리키고 편집기에서 사용을 선택하면 현재 쿼리에 함수를 추가할 수 있습니다. 쿼리를 입력할 때 작업 영역의 함수도 IntelliSense에 포함됩니다.

쿼리에 매개 변수가 필요한 경우 function_name(param1,param2,...) 구문을 사용하여 매개 변수를 제공합니다.

Screenshot that shows using a function.

함수 만들기

편집기의 현재 쿼리에서 함수를 만들려면 저장>함수로 저장을 선택합니다.

Screenshot that shows creating a function.

저장을 선택한 후, 다음 표의 정보를 지정하여 Azure Portal에서 Log Analytics로 함수를 만듭니다.

설정 설명
함수 이름 함수의 이름입니다. 이름에는 공백이나 특수 문자가 포함될 수 없습니다. 또한 밑줄(_)로 시작하지 않을 수도 있습니다. 이 문자는 솔루션 함수용으로 예약되어 있기 때문입니다.
레거시 범주 함수를 필터링하고 그룹화하는 데 도움이 되는 사용자 정의 범주입니다.
컴퓨터 그룹으로 저장 쿼리를 컴퓨터 그룹으로 저장합니다.
매개 변수 함수에서 사용할 때 값이 필요한 각 변수에 대한 매개 변수를 추가합니다. 자세한 내용은 함수 매개 변수를 참조하세요.

Screenshot that shows function details.

함수 매개 변수

함수를 호출할 때 특정 변수에 대한 값을 제공할 수 있도록 함수에 매개 변수를 추가할 수 있습니다. 결과적으로 동일한 함수를 서로 다른 쿼리에서 사용할 수 있으며 각 쿼리는 매개 변수에 대해 서로 다른 값을 제공합니다. 매개 변수는 다음 속성으로 정의됩니다.

설정 설명
Type 값의 데이터 유형입니다.
이름 매개 변수의 이름입니다. 이 이름은 쿼리에서 매개 변수 값으로 바꾸는 데 사용해야 합니다.
기본값 값이 제공되지 않으면 매개 변수에 사용할 값입니다.

매개 변수는 만들어지는 대로 정렬됩니다. 기본값이 없는 매개 변수는 기본값이 있는 매개 변수 앞에 배치됩니다.

참고 항목

클래식 Application Insights 리소스는 매개 변수가 있는 함수를 지원하지 않습니다. 작업 영역 기반 Application Insights 리소스가 있는 경우 Log Analytics 작업 영역에서 매개 변수가 있는 함수를 만들 수 있습니다. 클래식 Application Insights 리소스를 작업 영역 기반 리소스로 마이그레이션하는 방법에 대한 자세한 내용은 작업 영역 기반 Application Insights 리소스로 마이그레이션을 참조하세요.

함수 코드 작업

함수의 코드를 살펴보고 작동 방식에 대한 인사이트를 얻거나 작업 영역 함수의 코드를 수정할 수 있습니다. 편집기에서 현재 쿼리에 함수 코드를 추가하려면 함수 코드 로드를 선택합니다.

빈 쿼리나 기존 쿼리의 첫 줄에 함수 코드를 추가하면 탭에 함수 이름이 추가됩니다. 작업 영역 함수는 함수 세부 정보를 편집할 수 있는 옵션을 사용하도록 설정합니다.

Screenshot that shows loading function code.

함수 편집

새 쿼리를 만들어 함수의 속성 또는 코드를 편집합니다. 함수 이름 위로 마우스를 이동하고 함수 코드 로드를 선택합니다. 코드를 원하는 대로 수정하고 저장을 선택합니다. 그런 다음 함수 세부 정보 편집을 선택합니다. 함수의 속성 및 매개 변수를 원하는 대로 변경하고 저장을 선택합니다.

Screenshot that shows editing a function.

예시

다음 샘플 함수는 특정 범주와 일치하는 특정 날짜 이후의 Azure 활동 로그의 모든 이벤트를 반환합니다.

하드코딩된 값을 사용하여 다음 쿼리로 시작하여 쿼리가 예상대로 작동하는지 확인합니다.

AzureActivity
| where CategoryValue == "Administrative"
| where TimeGenerated > todatetime("2021/04/05 5:40:01.032 PM")

Screenshot that shows the initial query.

그런 다음 하드코딩된 값을 매개 변수 이름으로 바꿉니다. 그런 다음 저장>함수로 저장을 선택하여 함수를 저장합니다.

AzureActivity
| where CategoryValue == CategoryParam
| where TimeGenerated > DateParam

Screenshot that shows saving the function.

함수 속성에 대해 다음 값을 제공합니다.

속성
함수 이름 AzureActivityByCategory
레거시 범주 데모 함수

함수를 저장하기 전에 다음 매개 변수를 정의합니다.

Type 속성 기본값
문자열 CategoryParam "Administrative"
Datetime DateParam

Screenshot that shows function properties.

새 쿼리를 만들고 마우스로 가리켜서 새 함수를 살펴봅니다. 매개 변수의 순서를 살펴봅니다. 함수를 사용할 때 이 순서대로 지정해야 합니다.

Screenshot that shows viewing details.

쿼리에 새 함수를 추가하려면 편집기에서 사용을 선택합니다. 그런 다음 매개 변수 값을 추가합니다. CategoryParam에는 기본값이 있으므로 값을 지정할 필요가 없습니다.

Screenshot that shows adding values for parameters.

다음 단계

Azure Monitor 로그 쿼리를 작성하는 방법에 대한 자세한 내용은 문자열 작업을 참조하세요.