演習 - メトリック アラートを使用して Azure 環境でのパフォーマンスの問題についてアラートを生成する

完了

あなたが勤務している運送会社では、Azure プラットフォーム上のアプリケーションの更新に関する今後の問題を回避したいと考えています。 Azure 内のアラート機能を改善するために、Azure メトリック アラートを使用することにしました。

この演習では、Linux 仮想マシン (VM) を作成します。 この VM では、100% の使用率で CPU を実行するアプリが実行されます。 Azure portal と Azure CLI で監視ルールを作成して、CPU の高使用率について警告します。

VM の作成

この VM では、CPU に負荷をかけ、アラートをトリガーするために必要なメトリック監視データを生成する特定の構成を実行します。

  1. まず、構成スクリプトを作成してみましょう。 VM の構成を含む cloud-init.txt ファイルを作成するには、Azure Cloud Shell で次のコマンドを実行します。

    cat <<EOF > cloud-init.txt
    #cloud-config
    package_upgrade: true
    packages:
    - stress
    runcmd:
    - sudo stress --cpu 1
    EOF
    
  2. Ubuntu Linux VM を設定するには、次の az vm create コマンドを実行します。 このコマンドでは、前の手順で作成した cloud-init.txt ファイルを使用して、新たに作成した Ubuntu Linux VM の構成を行います。

    az vm create \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --name vm1 \
        --location eastUS \
        --image Ubuntu2204 \
        --custom-data cloud-init.txt \
        --generate-ssh-keys
    

Azure portal を使用してメトリック アラートを作成する

Note

VM が正常に作成されるのを待って演習に進んでください。 完了した JSON 出力が Azure Cloud Shell ウィンドウに表示されたら、VM の作成プロセスは完了です。

メトリック アラートを作成するために、Azure portal または CLI を使用できます。 この演習では両方を扱いますが、Azure portal から始めましょう。

  1. サンドボックスのアクティブ化に使ったのと同じアカウントを使って、Azure portal にサインインします。

  2. Azure portal のメニュー上で、[Monitor] を探して選択します。 [モニターの概要] ページで、[アラート] を選択します。

  3. [+ 作成] メニューを開き、[アラート ルール] を選択します

  4. [リソースの選択] ペインで、アラート ルールのスコープを設定します。 サブスクリプション、リソースの種類、リソースの場所でフィルター処理できます。

  5. [リソースの種類] ドロップダウンで、「仮想マシン」と入力して、[仮想マシン] を選択してください。

  6. vm1 の隣にあるボックスをオンにし、ペインの下部にある [適用] を選択します。

    [リソースの選択] ペインを示すスクリーンショット。[vm1] が選択されています。

  7. ページの下部にある [次へ: 条件] を選択します。

  8. [シグナル名] で、[CPU 使用率] を選択します。

  9. [アラート ロジック] セクションで、各設定で次の値を入力 (または確認) します。

    設定
    アラート ロジック
    しきい値 スタティック
    集計の種類 最大値
    演算子 より大きい
    しきい値 90
    評価するタイミング
    確認する間隔 1 分
    ルックバック期間 1 分

    メトリック条件ロジックの設定を示すスクリーンショット。

  10. ページの上部にある [詳細] タブを選びます。 [アラート ルールの詳細] で、各設定で次の値を入力します。

    設定
    重大度 2- 警告
    アラート ルール名 Cpu90PercentAlert
    説明 仮想マシンが 90% 以上の CPU 使用率で実行されています
  11. [詳細設定オプション] セクションを展開し、各設定について次の値を確認します。

    設定
    作成時に有効化 はい (オン)
    Automatically resolve alerts (アラートを自動的に解決する) はい (オン)

    [アラート ルールの詳細] セクションの完成した設定を示すスクリーンショット。

  12. [確認および作成] を選択して入力を検証してから、[作成] を選択します。

これで、VM の CPU 使用率が 90% を超えたときにアラートがトリガーされるメトリック アラート ルールが正常に作成されました。 このルールは 1 分間隔でチェックされ、1 分間のデータが確認されます。 メトリック アラート ルールがアクティブになるまでに最大 10 分かかることがあります。

CLI を使用してメトリック アラートを作成する

メトリック アラートは CLI を使って設定することもできます。 このプロセスは、ポータルを使用する場合よりも高速です (特に複数のアラートの設定を計画している場合)。

Azure portal に設定したものと同様の新しいメトリック アラートを作成してみましょう。

  1. Cloud Shell で以下のコマンドを実行し、以前に作成した仮想マシンのリソース ID を取得します。

    VMID=$(az vm show \
            --resource-group "<rgn>[sandbox resource group name]</rgn>" \
            --name vm1 \
            --query id \
            --output tsv)
    
  2. 次のコマンドを実行して、新しいメトリック アラートを作成します。 アラートは、VM の CPU が 80% を超えるとトリガーされます。

    az monitor metrics alert create \
        -n "Cpu80PercentAlert" \
        --resource-group "<rgn>[sandbox resource group name]</rgn>" \
        --scopes $VMID \
        --condition "max percentage CPU > 80" \
        --description "Virtual machine is running at or greater than 80% CPU utilization" \
        --evaluation-frequency 1m \
        --window-size 1m \
        --severity 3
    

Azure Monitor でメトリック アラートを表示する

この演習では、Ubuntu VM を設定し、CPU のストレス テストを行うように構成しました。 また、CPU の最大使用率が 80% と 90% を超えた場合に検出するメトリック ルールを作成しました。

Note

Azure portal にアラートが表示されるまでに、10 分かかることがあります。

  1. Azure portal に戻ります。

  2. Azure portal のメニューで [モニター] を選択してから、左側のメニュー ウィンドウで [アラート] を選択します。

    このステップにより [警告の概要] ウィンドウが表示され、各アラートの数を確認できます。 アラートが表示されない場合は、数分待ってから [最新の情報に更新] を選択します。

    [警告の概要] ペインを示すスクリーンショット。

  3. 重大度が 2 と 3 のメトリック アラートを構成しました。 アラートのいずれかを選択すると、重大度レベルが表示されます。

  4. アラートのいずれかを選択すると、そのアラートの詳細が表示されます。