크기 자동 조정 작업을 사용하여 Azure Monitor에서 전자 메일 및 webhook 경고 알림 보내기

이 문서에서는 Azure에서 자동 스케일링 작업을 기준으로 특정 웹 URL을 호출하거나 메일을 보낼 수 있도록 알림을 설정하는 방법을 설명합니다.

웹후크

웹후크를 사용하면 특정 이벤트 또는 트리거가 발생할 때 특정 URL 엔드포인트(콜백 URL)에 HTTP 요청을 보낼 수 있습니다. 웹후크를 사용하면 여러 시스템 또는 애플리케이션 간에 정보 자동 교환을 사용하도록 설정하여 프로세스를 자동화하고 간소화할 수 있습니다. 웹후크를 사용하여 자동 스케일링 이벤트가 발생할 때 실행할 사용자 지정 코드, 알림 또는 기타 작업을 트리거합니다.

전자 메일

자동 스케일링 이벤트가 발생할 때 유효한 메일 주소로 메일을 보낼 수 있습니다. 규칙이 실행되고 있는 구독의 관리자와 공동 관리자도 알림을 받습니다.

알림 구성

Azure Portal, CLI, PowerShell 또는 Resource Manager 템플릿을 사용하여 알림을 구성합니다.

Azure Portal을 사용하여 알림을 설정합니다.

자동 스케일링 설정 페이지에서 알림 탭을 선택하여 알림을 구성합니다.

확인란을 선택하여 구독 관리자 또는 공동 관리자에게 메일을 보냅니다. 알림을 보낼 메일 주소 목록을 입력할 수도 있습니다.

웹 서비스에 알림을 보낼 웹후크 URI를 입력합니다. 웹후크 요청에 사용자 지정 헤더를 추가할 수도 있습니다. 예를 들어 헤더에 인증 토큰을 추가하거나, 쿼리 매개 변수를 추가하거나, 사용자 지정 헤더를 추가하여 요청의 원본을 식별할 수 있습니다.

A screenshot showing the notify tab on the autoscale settings page.

Webhook의 인증

webhook는 토큰 ID를 쿼리 매개 변수로 사용해서 webhook URI를 저장하는 토큰 기반 인증을 통해 인증할 수 있습니다. 예: https://mysamplealert/webcallback?tokenid=123-abc456-7890&myparameter2=value123.

크기 자동 조정 알림 Webhook 페이로드 스키마

크기 자동 조정 알림이 생성될 때는 다음 메타데이터가 Webhook 페이로드에 포함됩니다.

{
    "version": "1.0",
    "status": "Activated",
    "operation": "Scale Out",
    "context": {
        "timestamp": "2023-06-22T07:01:47.8926726Z",
        "id": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/microsoft.insights/autoscalesettings/AutoscaleSettings-002",
        "name": "AutoscaleSettings-002",
        "details": "Autoscale successfully started scale operation for resource 'ScaleableAppServicePlan' from capacity '1' to capacity '2'",
        "subscriptionId": "123456ab-9876-a1b2-a2b1-123a567b9f8767",
        "resourceGroupName": "rg-001",
        "resourceName": "ScaleableAppServicePlan",
        "resourceType": "microsoft.web/serverfarms",
        "resourceId": "/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
        "portalLink": "https://portal.azure.com/#resource/subscriptions/123456ab-9876-a1b2-a2b1-123a567b9f8767/resourceGroups/rg-001/providers/Microsoft.Web/serverfarms/ScaleableAppServicePlan",
        "resourceRegion": "West Central US",
        "oldCapacity": "1",
        "newCapacity": "2"
    },
    "properties": {
        "key1": "value1",
        "key2": "value2"
    }   
}
필드 필수 설명
status 자동 스케일링 작업이 생성되었음을 나타내는 상태입니다.
operation 인스턴스 증가의 경우 "스케일 아웃"입니다. 인스턴스 감소의 경우 "스케일 인"입니다.
context 자동 스케일링 작업 컨텍스트입니다.
timestamp 자동 스케일링 작업이 트리거된 타임스탬프입니다.
id 자동 스케일링 설정의 Resource Manager ID입니다.
name 자동 스케일링 설정의 이름입니다.
details 자동 스케일링 서비스가 수행한 작업에 대한 설명과 인스턴스 수의 변경입니다.
subscriptionId 스케일링 중인 대상 리소스의 구독 ID입니다.
resourceGroupName 스케일링 중인 대상 리소스의 리소스 그룹 이름입니다.
resourceName에 대한 추천 사항을 찾았음 스케일링할 대상 리소스의 이름입니다.
resourceType 다음의 세 값이 지원됩니다. "microsoft.classiccompute/domainnames/slots/roles" - Azure Cloud Services 역할, "microsoft.compute/virtualmachinescalesets" - Azure Virtual Machine Scale Sets, "Microsoft.Web/serverfarms" - Azure Monitor의 웹앱 기능
resourceId 스케일링 중인 대상 리소스의 Resource Manager ID입니다.
portalLink 대상 리소스의 요약 페이지에 대한 Azure Portal 링크입니다.
oldCapacity 자동 스케일링이 스케일링 작업을 수행한 경우의 현재(이전) 인스턴스 수입니다.
newCapacity 자동 스케일링 기능으로 리소스를 스케일링한 새 인스턴스 수입니다.
속성 아니요 선택 사항. <키, 값> 쌍집합(예: Dictionary <문자열, 문자열>). 속성 필드는 선택 사항입니다. 사용자 지정 사용자 인터페이스 또는 논리 앱 기반 워크플로에서는 페이로드를 사용하여 전달할 수 있는 키와 값을 입력할 수 있습니다. Webhook URI 자체를 쿼리 매개 변수로 사용하여 발신 Webhook 호출로 사용자 지정 속성을 다시 전달할 수도 있습니다.