Share via


Azure CLI でメトリック アラートを作成する

これらのサンプルでは、Azure CLI コマンドを使用して Azure Monitor のメトリック アラートの監視を作成します。 最初のサンプルでは、仮想マシン用のアラートを作成します。 2 番目のコマンドでは、App Service プランのディメンションを含むアラートを作成します。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

アラートを作成する

このアラートでは、ContosoVMRG という名前のリソース グループにある、VM07 という名前の既存の仮想マシンを監視します。

az group create コマンドを使ってリソース グループを作成できます。 仮想マシンの作成の詳細については、Azure CLI での Windows 仮想マシンの作成に関するページ、Azure CLI での Linux 仮想マシンの作成に関するページ、az vm create コマンドを参照してください。

# resource group name: ContosoVMRG
# virtual machine name: VM07

# Create scope
scope=$(az vm show --resource-group ContosoVMRG --name VM07 --output tsv --query id)

# Create action
action=$(az monitor action-group create --name ContosoWebhookAction \
  --resource-group ContosoVMRG --output tsv --query id \
  --action webhook https://alerts.contoso.com usecommonalertschema)

# Create condition
condition=$(az monitor metrics alert condition create --aggregation Average \
  --metric "Percentage CPU" --op GreaterThan --type static --threshold 90 --output tsv)

# Create metrics alert
az monitor metrics alert create --name alert-01 --resource-group ContosoVMRG \
  --scopes $scope --action $action --condition $condition --description "Test High CPU"

このサンプルでは、引用符などの不要な記号が含まれていない tsv の出力の種類を使用します。 詳細については、「Azure CLI を効果的に使用する」を参照してください。

ディメンションを含むアラートを作成する

このサンプルでは、App Service プランを作成し、それに対するメトリック アラートを作成します。 この例では、ディメンションを使用して、App Service プランのすべてのインスタンスがこのメトリックに分類されることを指定します。 このサンプルでは、リソース グループとアプリケーション サービス プランを作成します。

# Create resource group
az group create --name ContosoRG --location eastus2
 
# Create application service plan
az appservice plan create --resource-group ContosoRG --name ContosoAppServicePlan \
   --is-linux --number-of-workers 4 --sku S1 
 
# Create scope
scope=$(az appservice plan show --resource-group ContosoRG --name ContosoAppServicePlan \
   --output tsv --query id) 
 
# Create dimension
dim01=$(az monitor metrics alert dimension create --name Instance --value * --op Include --output tsv)
 
# Create condition
condition=$(az monitor metrics alert condition create --aggregation Average \
   --metric CpuPercentage --op GreaterThan --type static --threshold 90 \
   --dimension $dim01 --output tsv)

使用可能なメトリックの一覧を表示するには、az monitor metrics list-definitions コマンドを実行します。 --output パラメーターにより、読み取り可能な形式で値が表示されます。

az monitor metrics list-definitions --resource $scope --output table 
 
# Create metrics alert
az monitor metrics alert create --name alert-02 --resource-group ContosoRG \
   --scopes $scope --condition $condition --description "Service Plan High CPU"

デプロイのクリーンアップ

これらのコマンドをテストするためにリソース グループを作成した場合は、az group delete コマンドを使用して、リソース グループとそのすべての内容を削除できます。

az group delete --name ContosoVMRG

az group delete --name ContosoRG

保持する既存のリソースを使用した場合は、az monitor metrics alert delete コマンドを使用して、プラクティス アラートを削除します。

az monitor metrics alert delete --name alert-01

az monitor metrics alert delete --name alert-02

この記事で使用されている Azure CLI コマンド

この記事では、次の Azure CLI コマンドが使用されています。

次のステップ