빠른 시작: ARM 템플릿을 사용하여 새 추천에 대한 Advisor 경고 만들기
이 문서에서는 ARM 템플릿(Azure Resource Manager 템플릿)을 사용하여 Azure Advisor의 새 추천에 대한 경고를 설정하는 방법을 보여 줍니다.
Azure Resource Manager 템플릿은 프로젝트에 대한 인프라 및 구성을 정의하는 JSON(JavaScript Object Notation) 파일입니다. 이 템플릿은 선언적 구문을 사용합니다. 배포를 만들기 위한 프로그래밍 명령의 시퀀스를 작성하지 않고 의도하는 배포를 설명합니다.
Advisor가 리소스 중 하나에 대한 새로운 권장 사항을 검색할 때마다 이벤트가 Azure 활동 로그에 저장됩니다. 권장 사항별 경고 만들기 환경을 사용하여 Advisor에서 이러한 이벤트에 대한 경고를 설정할 수 있습니다. 구독을 선택하고 필요에 따라 리소스 그룹을 선택하여 경고를 받도록 하려는 리소스를 지정할 수 있습니다.
다음 속성을 사용하여 추천 유형을 확인할 수도 있습니다.
- 범주
- 영향 수준
- 추천 유형
다음을 통해 경고가 트리거될 때 발생하는 작업을 구성할 수도 있습니다.
- 기존 작업 그룹 선택.
- 새 작업 그룹 생성.
작업 그룹에 대해 자세히 알아보려면 작업 그룹 만들기 및 관리를 참조하세요.
참고 항목
Advisor 경고는 현재 고가용성, 성능 및 비용 추천에만 사용할 수 있습니다. 보안 권장 사항은 지원되지 않습니다.
필수 조건
- Azure 구독이 없는 경우 시작하기 전에 체험 계정을 만듭니다.
- 로컬 컴퓨터에서 명령을 실행하려면 Azure CLI 또는 Azure PowerShell 모듈을 설치합니다. 자세한 내용은 Azure CLI 설치 및 Azure PowerShell 설치를 참조하세요.
템플릿 검토
이메일 대상이 포함된 작업 그룹을 만들고 대상 구독에 모든 서비스 상태 알림을 사용하도록 설정하는 템플릿은 다음과 같습니다. 이 템플릿을 CreateAdvisorAlert.json으로 저장합니다.
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"actionGroups_name": {
"defaultValue": "advisorAlert",
"type": "string"
},
"activityLogAlerts_name": {
"defaultValue": "AdvisorAlertsTest",
"type": "string"
},
"emailAddress": {
"defaultValue": "<email address>",
"type": "string"
}
},
"variables": {
"alertScope": "[concat('/','subscriptions','/',subscription().subscriptionId)]"
},
"resources": [
{
"comments": "Action Group",
"type": "microsoft.insights/actionGroups",
"apiVersion": "2019-06-01",
"name": "[parameters('actionGroups_name')]",
"location": "Global",
"scale": null,
"dependsOn": [],
"tags": {},
"properties": {
"groupShortName": "[parameters('actionGroups_name')]",
"enabled": true,
"emailReceivers": [
{
"name": "[parameters('actionGroups_name')]",
"emailAddress": "[parameters('emailAddress')]"
}
],
"smsReceivers": [],
"webhookReceivers": []
}
},
{
"comments": "Azure Advisor Activity Log Alert",
"type": "microsoft.insights/activityLogAlerts",
"apiVersion": "2017-04-01",
"name": "[parameters('activityLogAlerts_name')]",
"location": "Global",
"scale": null,
"tags": {},
"properties": {
"scopes": [
"[variables('alertScope')]"
],
"condition": {
"allOf": [
{
"field": "category",
"equals": "Recommendation"
},
{
"field": "properties.recommendationCategory",
"equals": "Cost"
},
{
"field": "properties.recommendationImpact",
"equals": "Medium"
},
{
"field": "operationName",
"equals": "Microsoft.Advisor/recommendations/available/action"
}
]
},
"actions": {
"actionGroups": [
{
"actionGroupId": "[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]",
"webhookProperties": {}
}
]
},
"enabled": true,
"description": ""
},
"dependsOn": [
"[resourceId('microsoft.insights/actionGroups', parameters('actionGroups_name'))]"
]
}
]
}
템플릿은 다음 두 가지 리소스를 정의합니다.
템플릿 배포
CLI 및 PowerShell을 사용하는 다음 예제처럼 ARM 템플릿 배포를 위한 표준 방법을 사용하여 템플릿을 배포합니다. ResourceGroup
및 emailAddress
에 대한 샘플 값을 사용자 환경에 적합한 값으로 바꿉니다. 작업 영역 이름은 모든 Azure 구독에서 고유해야 합니다.
az login
az deployment group create --name CreateAdvisorAlert --resource-group my-resource-group --template-file CreateAdvisorAlert.json --parameters emailAddress='user@contoso.com'
배포 유효성 검사
다음 명령 중 하나를 사용하여 작업 영역이 만들어졌는지 확인합니다. 리소스 그룹에 대한 샘플 값을 이전 예제에서 사용한 값으로 바꿉니다.
az monitor activity-log alert show --resource-group my-resource-group --name AdvisorAlertsTest
리소스 정리
후속 빠른 시작 및 자습서를 계속 사용하려는 경우 이러한 리소스를 그대로 유지할 수 있습니다. 리소스가 더 이상 필요하지 않은 경우 리소스 그룹을 삭제합니다. 그러면 경고 규칙과 관련 리소스가 삭제됩니다. CLI 또는 PowerShell을 사용하여 리소스 그룹을 삭제하려면 다음을 수행합니다.
az group delete --name my-resource-group
관련 콘텐츠
- 활동 로그 경고의 개요를 확인하고 경고를 받는 방법에 대해 알아보세요.
- 작업 그룹에 대해 자세히 알아보세요.