Azure Monitor ログを使用して HDInsight クラスターを監視する

Azure Monitor ログを有効にして、HDInsight で Hadoop クラスターの操作を監視する方法を説明します。 また、HDInsight 監視ソリューションを追加する方法について説明します。

Azure Monitor ログは、クラウド環境とオンプレミス環境を監視する Azure Monitor サービスです。 この監視では、可用性とパフォーマンスを維持します。 クラウド、オンプレミス環境内にあるリソースによって生成されたデータと他の監視ツールのデータを収集します。 データは、複数のソースにわたる分析を提供するために使用されます。

注意

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

Azure サブスクリプションをお持ちでない場合は、開始する前に無料アカウントを作成してください。

重要

新しい Azure Monitor エクスペリエンスは、すべてのリージョンでプレビュー機能として使用できます。

前提条件

  • Log Analytics ワークスペース。 このワークスペースは、独自のデータ リポジトリ、データ ソース、およびソリューションを備えた一意の Azure Monitor ログ環境と考えることができます。 手順については、Log Analytics ワークスペースの作成に関するページをご覧ください。

  • Azure HDInsight クラスター。 現在、Azure Monitor ログは次の HDInsight クラスター タイプで使用できます。

    • Hadoop
    • hbase
    • Interactive Query
    • Kafka
    • Spark

    HDInsight クラスターの作成手順については、Azure HDInsight の概要に関するページをご覧ください。

  • PowerShell を使用している場合は、AZ モジュールが必要になります。 最新バージョンを使用していることを確認します。 必要であれば、Update-Module -Name Az を実行します。

  • Azure CLI を使用したいが、まだインストールしていない場合は、「Azure CLI のインストール」を参照してください。

Note

新しい Azure Monitor エクスペリエンスは、すべてのリージョンでプレビュー機能としてのみ使用できます。 パフォーマンス向上のため、HDInsight クラスターと Log Analytics ワークスペースの両方を同じリージョンに配置することをお勧めします。

ポータルを使用して Azure Monitor を有効にする

ここでは、ジョブやデバッグ ログなどを監視するために、Azure Log Analytics ワークスペースを使用するよう既存の HDInsight Hadoop クラスターを構成します。

  1. Azure portal でご自身のクラスターを選択します。 このクラスターは、新しいポータル ページで開かれます。

  2. 左側の [監視] で [モニター統合] を選択します。

  3. メイン ビューの [HDInsight クラスター統合用の Azure Monitor] で、[有効化] を選択します。

  4. [ワークスペースを選択] ドロップダウン リストから、既存の Log Analytics ワークスペースを選択します。

  5. [保存] を選択します。 設定を保存するまでしばらく時間がかかります。

    Enable monitoring for HDInsight clusters.

Azure Monitor を無効にする場合は、このポータルで同じことを行います。

Azure PowerShell を使用して Azure Monitor を有効にする

Azure PowerShell Az モジュールの Enable-AzHDInsightAzureMonitor コマンドレットを使用して Azure Monitor ログを有効にすることができます。

# Enter user information
$resourceGroup = "<your-resource-group>"
$cluster = "<your-cluster>"
$LAW = "<your-Log-Analytics-workspace>"
# End of user input

# obtain workspace id for defined Log Analytics workspace
$WorkspaceId = (Get-AzOperationalInsightsWorkspace `
                    -ResourceGroupName $resourceGroup `
                    -Name $LAW).CustomerId

# obtain primary key for defined Log Analytics workspace
$PrimaryKey = (Get-AzOperationalInsightsWorkspace `
                    -ResourceGroupName $resourceGroup `
                    -Name $LAW | Get-AzOperationalInsightsWorkspaceSharedKeys).PrimarySharedKey

# Enables monitoring and relevant logs will be sent to the specified workspace.
Enable-AzHDInsightAzureMonitor `
    -ResourceGroupName $resourceGroup `
    -ClusterName $cluster `
    -WorkspaceId $WorkspaceId `
    -PrimaryKey $PrimaryKey

# Gets the status of monitoring installation on the cluster.
Get-AzHDInsightAzureMonitor `
    -ResourceGroupName $resourceGroup `
    -ClusterName $cluster

無効にする場合は、Disable-AzHDInsightAzureMonitor コマンドレットを使用します。

Disable-AzHDInsightAzureMonitor -ResourceGroupName $resourceGroup `
-ClusterName $cluster

Azure CLI を使用して Azure Monitor を有効にする

Azure CLI az hdinsight azure-monitor enable コマンドを使用して、Azure Monitor ログを有効にすることができます。

# set variables
export resourceGroup=RESOURCEGROUPNAME
export cluster=CLUSTERNAME
export LAW=LOGANALYTICSWORKSPACENAME

# Enable the Azure Monitor logs integration on an HDInsight cluster.
az hdinsight azure-monitor enable --name $cluster --resource-group $resourceGroup --workspace $LAW

# Get the status of Azure Monitor logs integration on an HDInsight cluster.
az hdinsight azure-monitor show --name $cluster --resource-group $resourceGroup

無効にするには、az hdinsight monitor disable コマンドを使用します。

az hdinsight azure-monitor disable --name $cluster --resource-group $resourceGroup

HDInsight の既定の分析情報を使用して 1 つのクラスターを監視する

HDInsight には、分析情報を迅速に得るのに役立つワークロード固有のブックが用意されています。 このブックによって、HDInsight クラスターから重要なパフォーマンス メトリックが収集され、最も一般的なシナリオ用に視覚化とダッシュボードが提供されます。 既定の分析情報から、リソース使用率やアプリケーションの状態など、1 つの HDInsight クラスターを完全に把握できます。

使用可能な HDInsight ブック:

  • HDInsight Spark ブック
  • HDInsight Kafka ブック
  • HDInsight HBase ブック
  • HDInsight Hive/LLAP ブック

Spark ブックのスクリーンショット Spark workbook screenshot.

パフォーマンス カウンターの構成

Azure Monitor では、クラスター内のノードのパフォーマンス メトリックの収集と分析がサポートされています。 詳細については、Azure Monitor の Linux パフォーマンス データ ソースに関する記事をご覧ください。

クラスターの監査

HDInsight では、次の種類のログをインポートすることによって、Azure Monitor ログを使用したクラスターの監査をサポートしています。

  • log_gateway_audit_CL - このテーブルは、成功/失敗したサインイン試行を示すクラスター ゲートウェイ ノードの監査ログを提供します。
  • log_auth_CL - このテーブルは、成功/失敗したサインイン試行が含まれる SSH のログを提供します。
  • log_ambari_audit_CL - このテーブルは、Ambari からの監査ログを提供します。
  • log_ranger_audti_CL - このテーブルは、ESP クラスター上の Apache Ranger からの監査ログを提供します。

HDInsight の Azure Monitor 統合で使用される Log Analytics (OMS) エージェントを更新する

クラスターで Azure Monitor 統合が有効になっていると、Log Analytics エージェントや Operations Management Suite (OMS) エージェントは、クラスターにインストールされて、Azure Monitor 統合を無効にして再度有効にしない限り更新されません。 クラスター上の OMS エージェントを更新する必要がある場合は、下記の手順を完了します。 ファイアウォールの背後にいる場合は、ファイアウォールの背後にあるクラスターの前提条件を完了してから、これらの手順を完了する必要がある場合があります。

  1. Azure portal でご自身のクラスターを選択します。 このクラスターは、新しいポータル ページで開かれます。
  2. 左側の [監視][Azure Monitor] を選択します。
  3. 現在の Log Analytics ワークスペースの名前を書き留めます。
  4. メイン ビューの [Azure Monitor の統合] で、トグルを無効にしてから [保存] を選択します。
  5. 設定の保存後、 [Azure Monitor の統合] トグルを再度有効にして、同じ Log Analytics ワークスペースが選択されていることを確認してから [保存] を選択します。

クラスターで Azure Monitor 統合を有効にしている場合は、OMS エージェントを更新すると Open Management Infrastructure (OMI) バージョンも更新されます。 次のコマンドを実行すると、クラスターでの OMI バージョンをチェックできます。

 sudo /opt/omi/bin/omiserver –version

次のステップ