Azure Monitor ログでクエリを実行して HDInsight クラスターを監視する

Azure Monitor ログを使用して Azure HDInsight クラスターを監視する基本的なシナリオを説明します。

注意

この記事は最近、Log Analytics ではなく Azure Monitor ログという用語を使うように更新されました。 ログ データは引き続き Log Analytics ワークスペースに格納され、同じ Log Analytics サービスによって収集されて分析されます。 Azure Monitor のログの役割をより適切に反映させるために、用語を更新しています。 詳しくは、Azure Monitor の用語の変更に関するページをご覧ください。

前提条件

Azure Monitor ログを使用するように HDInsight クラスターを構成し、HDInsight クラスター固有の Azure Monitor ログ監視ソリューションをワークスペースに追加しておく必要があります。 手順については、「Use Azure Monitor logs with HDInsight clusters」(HDInsight クラスターでの Azure Monitor ログの使用) を参照してください。

HDInsight クラスターのメトリックを分析する

HDInsight クラスターの特定のメトリックを検索する方法を説明します。

  1. Azure Portal から HDInsight クラスターに関連付けられた Log Analytics ワークスペースを開きます。

  2. [全般] で、[ログ] を選択します。

  3. 検索ボックスに、Azure Monitor ログを使用するように構成したすべての HDInsight クラスターで使用できるすべてのメトリックを検索する次のクエリを入力して、[実行] を選択します。 結果を確認します。

    search *
    

    Apache Ambari analytics search all metrics.

  4. 左側のメニューから、[フィルター] タブを選択します。

  5. [種類][ハートビート] を選択します。 次に、[適用して実行] を選択します。

    log analytics search specific metrics.

  6. テキスト ボックス内のクエリが次のように変更されていることに注意してください。

    search *
    | where Type == "Heartbeat"
    
  7. 左側のメニューにあるオプションを使用して、詳しく調べることができます。 次に例を示します。

    • 特定のノードからのログを表示するには、次のようにします。

      Search for specific errors output1.

    • 特定の時刻のログを表示するには、次のようにします。

      Search for specific errors output2.

  8. [適用して実行] を選択し、結果を確認します。 クエリが次のように更新されたことにも注意してください。

    search *
    | where Type == "Heartbeat"
    | where (Computer == "zk2-myhado") and (TimeGenerated == "2019-12-02T23:15:02.69Z" or TimeGenerated == "2019-12-02T23:15:08.07Z" or TimeGenerated == "2019-12-02T21:09:34.787Z")
    

追加のサンプル クエリ

10 分間に使用されたリソースの平均値に基づくサンプル クエリ。クラスター名によって分類されます。

search in (metrics_resourcemanager_queue_root_default_CL) * 
| summarize AggregatedValue = avg(UsedAMResourceMB_d) by ClusterName_s, bin(TimeGenerated, 10m)

使用されたリソースの平均値に基づいて結果を調整する代わりに、次のクエリを使用すると、10 分間で最大 (および 90 パーセンタイルと 95 パーセンタイル) のリソースが使用された時刻に基づいて結果を調整できます。

search in (metrics_resourcemanager_queue_root_default_CL) * 
| summarize ["max(UsedAMResourceMB_d)"] = max(UsedAMResourceMB_d), ["pct95(UsedAMResourceMB_d)"] = percentile(UsedAMResourceMB_d, 95), ["pct90(UsedAMResourceMB_d)"] = percentile(UsedAMResourceMB_d, 90) by ClusterName_s, bin(TimeGenerated, 10m)

イベント追跡用のアラートを作成する

アラートを作成する最初の手順は、アラートをトリガーする基準となるクエリを作成することです。 アラートの作成には任意のクエリを使用できます。

  1. Azure Portal から HDInsight クラスターに関連付けられた Log Analytics ワークスペースを開きます。

  2. [全般] で、[ログ] を選択します。

  3. アラートを作成する次のクエリを実行して、[実行] を選択します。

    metrics_resourcemanager_queue_root_default_CL | where AppsFailed_d > 0
    

    このクエリは、HDInsight クラスターで実行されている失敗したアプリケーションの一覧を提供します。

  4. ページの先頭にある [新しいアラート ルール] を選択します。

    New alert rule.

  5. [ルールの作成] ウィンドウで、クエリとその他の情報を入力してアラートを作成し、[アラート ルールの作成] を選択します。

    Define alert condition.

既存のアラートを編集または削除する

  1. Azure Portal から Log Analytics ワークスペースを開きます。

  2. 左側のメニューの [監視][アラート] を選択します。

  3. 上部にある [アラート ルールの管理] を選択します。

  4. 編集または削除するアラートを選択します。

  5. [保存][破棄][無効化]、および [削除] の各オプションがあります。

    HDInsight Azure Monitor logs alert delete edit.

詳細については、「Azure Monitor を使用してメトリック アラートを作成、表示、管理する」を参照してください。

関連項目