次の方法で共有


Resource Health アラートを作成して構成する

この記事では、Azure portal、Azure PowerShell、Azure Resource Manager (ARM) テンプレート、Azure CLI を使用して Azure Resource Health アラートを作成して構成する方法について説明します。

Resource Health アラートは、Azure リソースの正常性状態の変化 (使用不能になったり低下したりするなど) が発生したときに通知します。 これらのアラートは、ワークロードに影響を与えるサービスの問題に関する情報を常に把握し、迅速に対応するのに役立ちます。

Service Health ポータルで Resource Health アラート ルールを作成する

  1. Azure ポータルで、[サービス正常性] を選択します。

[サービス正常性] オプションのスクリーンショット。

  1. [リソース正常性] を選択します。

Resource Health オプションのスクリーンショット。

  1. [リソース正常性アラートの追加] を選びます。

Resource Health の作成オプションのスクリーンショット。

アラート ルールの作成ウィザードでは、[条件] タブが開き、[スコープ] タブが既に設定されています。

[Resource Health scope]\(リソース正常性スコープ\) タブのスクリーンショット。

  1. アラート ルール ウィザード[条件] タブから Resource Health アラートを作成する手順に従います。

[リソース正常性条件] タブのスクリーンショット。

PowerShell を使用して Resource Health アラートを作成する

Note

Azure を操作するには、Azure Az PowerShell モジュールを使用することをお勧めします。 作業を始めるには、「Azure PowerShell をインストールする」を参照してください。 Az PowerShell モジュールに移行する方法については、「AzureRM から Az への Azure PowerShell の移行」を参照してください。

このページの指示に従うには、事前にいくつかの項目を設定する必要があります。

  1. Azure PowerShell モジュールをインストールする必要があります。
  2. 通知を行うよう構成されたアクション グループを作成または再利用する必要があります。

PowerShell の手順

  1. PowerShell を使用してアカウントを使用して Azure にサインインし、使用するサブスクリプションを選択します。

    Login-AzAccount
    Select-AzSubscription -Subscription <subscriptionId>
    

    Note

    Get-AzSubscription を使用すると、アクセスできるサブスクリプションを一覧表示できます。

  2. アクション グループの完全な Azure Resource Manager ID を検索して保存します。

    (Get-AzActionGroup -ResourceGroupName <resourceGroup> -Name <actionGroup>).Id
    
  3. Resource Health アラート用の ARM テンプレートを作成して resourcehealthalert.json として保存する (詳細を参照)

  4. このテンプレートを使用して、新しい Azure Resource Manager デプロイを作成します。

    New-AzResourceGroupDeployment -Name ExampleDeployment -ResourceGroupName <resourceGroup> -TemplateFile <path\to\resourcehealthalert.json>
    
  5. アラート名と、先ほどコピーしたアクション グループのリソース ID の入力を求めるメッセージが表示されます。

    Supply values for the following parameters:
    (Type !? for Help.)
    activityLogAlertName: <Alert Name>
    actionGroupResourceId: /subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/microsoft.insights/actionGroups/<actionGroup>
    
  6. すべてが正常に動作すると、PowerShell に確認メッセージが表示されます

    DeploymentName          : ExampleDeployment
    ResourceGroupName       : <resourceGroup>
    ProvisioningState       : Succeeded
    Timestamp               : 11/8/2017 2:32:00 AM
    Mode                    : Incremental
    TemplateLink            :
    Parameters              :
                            Name                     Type       Value
                            ===============          =========  ==========
                            activityLogAlertName     String     <Alert Name>
                            activityLogAlertEnabled  Bool       True
                            actionGroupResourceId    String     /...
    
    Outputs                 :
    DeploymentDebugLogLevel :
    

Note

このプロセスを完全に自動化することを計画している場合は、手順 5 で値の入力を求めないように ARM テンプレートを編集するだけで済みます。

テンプレート オプションを使用してリソース正常性アラートを作成する

Resource Health アラートを作成するための開始点として、この基本テンプレートを使用できます。 このテンプレートは記述どおりに機能し、サブスクリプション内のすべてのリソースで新しくアクティブ化されたすべてのリソース正常性イベントのアラートを受け取るようにサインアップします。

Note

Resource Health アラート テンプレートは、このテンプレートと比較して Resource Health アラートのシグナル対ノイズ比を高める必要がある、より複雑なアラート テンプレートです。

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "activityLogAlertName": {
      "type": "string",
      "metadata": {
        "description": "Unique name (within the Resource Group) for the Activity log alert."
      }
    },
    "actionGroupResourceId": {
      "type": "string",
      "metadata": {
        "description": "Resource Id for the Action group."
      }
    }
  },
  "resources": [   
    {
      "type": "Microsoft.Insights/activityLogAlerts",
      "apiVersion": "2017-04-01",
      "name": "[parameters('activityLogAlertName')]",      
      "___location": "Global",
      "properties": {
        "enabled": true,
        "scopes": [
            "[subscription().id]"
        ],        
        "condition": {
          "allOf": [
            {
              "field": "category",
              "equals": "ResourceHealth"
            },
            {
              "field": "status",
              "equals": "Active"
            }
          ]
        },
        "actions": {
          "actionGroups":
          [
            {
              "actionGroupId": "[parameters('actionGroupResourceId')]"
            }
          ]
        }
      }
    }
  ]
}

ただし、このような広範なアラートは推奨されません。 重要なイベントに焦点を合わせるためにこのアラートの範囲を設定する方法について説明します。

Next steps

Resource Health に関する詳細情報を参照してください。

Service Health アラートを作成します。