Azure HDInsight のスクリプト アクションで選択的ログを使用する
Azure Monitor ログは、クラウド環境とオンプレミス環境を監視する Azure Monitor サービスです。 この監視では、可用性とパフォーマンスの維持に役立ちます。
Azure Monitor Logs は、クラウド上のリソース、オンプレミス環境内にあるリソース、および他の監視ツールによって生成されたデータを収集します。 そのデータを使用して、複数のソースにわたる解析を提供します。 解析を取得するには、Azure portal で HDInsight のスクリプト アクションを使用して、選択的ログ機能を有効にします。
選択的ログについて
選択的ログは、Azure の全体的な監視システムの一部です。 クラスターを Log Analytics ワークスペースに接続し、選択的なログを有効にすると、HDInsight セキュリティ ログ、Yarn Resource Manager、システム メトリックなどのログとメトリックを確認できます。 ワークロードを監視し、それらがクラスターの安定性にどのように影響しているかを確認できます。
選択的ログを使用すると、すべてのテーブルを有効または無効にしたり、Log Analytics ワークスペースで選択したテーブルを有効にしたりできます。 各テーブルごとにソースの種類を調整できます。
注意
Log Analytics がクラスターに再インストールされた場合は、すべてのテーブルとログの種類をもう一度無効にする必要があります。 再インストールすると、すべての構成ファイルが元の状態にリセットされます。
スクリプト アクションに関する考慮事項
- 監視システムは、統合ログレイヤーを使用してログを収集するためにメタデータ サーバー デーモン (監視エージェント) と Fluentd を使用します。
- 選択的ログでは、スクリプト アクションを使用して、テーブルとそのログの種類を無効または有効にします。 選択的ログでは、新しいポートを開いたり、既存のセキュリティ設定を変更したりしないため、セキュリティの変更はありません。
- スクリプト アクションは、指定されたすべてのノードで並列に実行され、テーブルとそのログの種類を無効または有効にするために構成ファイルを変更します。
前提条件
- Log Analytics ワークスペース。 このワークスペースは、独自のデータ リポジトリ、データ ソース、およびソリューションを備えた一意の Azure Monitor ログ環境と考えることができます。 手順については、Log Analytics ワークスペースの作成に関するページを参照してください。
- Azure HDInsight クラスター。 現在、次の HDInsight クラスターの種類で選択的ログ機能を使用できます。
- Hadoop
- hbase
- Interactive Query
- Spark
HDInsight クラスターの作成手順については、Azure HDInsight の概要に関するページを参照してください。
複数のテーブルとログの型について、スクリプト アクションを使用して、ログを有効または無効にする
クラスターの [スクリプト アクション] に移動し、[新規で送信] を選択して、スクリプト アクションの作成プロセスを開始します。
[スクリプトの送信アクション] ウィンドウが表示されます。
[スクリプトの種類] は、[カスタム] を選択します。
スクリプトに名前を付けます。 たとえば、「2 つのテーブルと 2 つのソースを無効にする」とします。
Bash スクリプト URI は、selectiveLoggingScript.sh へのリンクである必要があります。
クラスターに適用されるすべてのノード タイプを選択します。 オプションは、ヘッド ノード、ワーカー ノード、ZooKeeper ノードです。
パラメーターを定義します。 たとえば、次のように入力します。
- Spark:
spark HDInsightSparkLogs:SparkExecutorLog --disable
- 対話型クエリ:
interactivehive HDInsightSparkLogs:SparkExecutorLog --enable
- Hadoop:
hadoop HDInsightSparkLogs:SparkExecutorLog --disable
- HBase:
hbase HDInsightSparkLogs: HDInsightHBaseLogs --enable
詳細については、「パラメーターの構文」セクションを参照してください。
- Spark:
[作成] を選択します
数分後、スクリプト アクション履歴の横に緑色のチェック マークが表示されます。 これは、スクリプトが正常に実行されたことを意味します。
Log Analytics ワークスペースに変更が表示されます。
トラブルシューティング
Log Analytics ワークスペースに変更は表示されない
スクリプト アクションが送信されても、Log Analytics ワークスペースに変更がない場合。
[ダッシュボード] で、Ambari ホームを選択してデバッグ情報を確認します。
[設定] ボタンを選択します。
バックグラウンド操作のリストの上部にある最新のスクリプト実行を選択します。
すべてのノードで個別にスクリプトの実行状態を確認します。
パラメーター構文セクションのパラメーター構文が正しいことを確認します。
Log Analytics ワークスペースがクラスターに接続されていて、Log Analytics の監視が有効になっていることを確認します。
実行した スクリプト アクションの [クラスターに新しいノードが追加されたときに再実行するには、このスクリプト アクションを永続化する] チェック ボックスが選択されていることを確認します。
新しいノードが最近クラスターに追加されてたかどうかを確認します。
注意
スクリプトを最新のクラスターで実行するには、スクリプトを永続化する必要があります。
スクリプト アクションに必要なすべてのノード タイプを選択していることを確認します。
スクリプトアクションの失敗
スクリプト アクションの履歴で、スクリプト アクションが失敗の状態を表示している場合。
- パラメーター構文セクションのパラメーター構文が正しいことを確認します。
- スクリプトのリンクが正しいかどうか確認します。 これは、
https://hdiconfigactions.blob.core.windows.net/log-analytics-patch/selectiveLoggingScripts/selectiveLoggingScript.sh
である必要があります。
テーブル名
Spark クラスター
次のテーブル名は、Spark テーブル内のさまざまなログの型 (ソース) 用です。
ソース番号 | テーブル名 | ログの種類 | 説明 |
---|---|---|---|
1. | HDInsightAmbariCluster Alerts | ログの種類なし | このテーブルには、クラスター内の各ノードからの Ambari クラスター アラート (エッジ ノードを除く) が含まれています。 各アラートは、このテーブル内のレコードです。 |
2. | HDInsightAmbariSystem Metrics | ログの種類なし | このテーブルには、Ambari から収集されたシステム メトリックが含まれています。 これらのメトリックは、2 つのヘッドノードだけではなく、クラスター内の各ノード (エッジ ノードを除く) から取得されるようになりました。 各メトリックは列になり、各メトリックはレコードごとに 1 回報告されます。 |
3. | HDInsightHadoopAnd YarnLogs | ヘッド ノード: MRJobSummary、Resource Manager、TimelineServer ワーカー ノード: NodeManager | このテーブルには、Hadoop フレームワークと YARN フレームワークから生成されたすべてのログが含まれています。 |
4. | HDInsightSecurityLogs | AmbariAuditLog、AuthLog | このテーブルには、Ambari 監査ログおよび認証ログのレコードが含まれています。 |
5. | HDInsightSparkLogs | ヘッド ノード: JupyterLog、LivyLog、SparkThriftDriverLog ワーカー ノード: SparkExecutorLog、SparkDriverLog | このテーブルには、Spark とそれに関連するコンポーネント (Livy と Jupyter) に関連するすべてのログが含まれています。 |
6. | HDInsightHadoopAnd YarnMetrics | ログの種類なし | このテーブルには、Hadoop フレームワークと YARN フレームワークの JMX メトリックが含まれています。 これには、古いカスタム ログ テーブルと同じすべての JMX メトリックに加えて、重要と考えられるより多くのメトリックが含まれています。 タイムライン サーバー、ノード マネージャー、およびジョブ履歴サーバーのメトリックが追加されました。 レコードごとに 1 つのメトリックが含まれています。 |
7. | HDInsightOozieLogs | Oozie | このテーブルには、Oozie フレームワークから生成されたすべてのログが含まれています。 |
対話型クエリ クラスター
次のテーブル名は、Interactive Query テーブル内のさまざまなログの型 (ソース) に使用されます。
ソース番号 | テーブル名 | ログの種類 | 説明 |
---|---|---|---|
1. | HDInsightAmbariClusterAlerts | ログの種類なし | このテーブルには、クラスター内の各ノードからの Ambari クラスター アラート (エッジ ノードを除く) が含まれています。 各アラートは、このテーブル内のレコードです。 |
2. | HDInsightAmbariSystem Metrics | ログの種類なし | このテーブルには、Ambari から収集されたシステム メトリックが含まれています。 これらのメトリックは、2 つのヘッドノードだけではなく、クラスター内の各ノード (エッジ ノードを除く) から取得されるようになりました。 各メトリックは列になり、各メトリックはレコードごとに 1 回報告されます。 |
3. | HDInsightHadoopAndYarnLogs | ヘッド ノード: MRJobSummary、Resource Manager、TimelineServer ワーカー ノード: NodeManager | このテーブルには、Hadoop フレームワークと YARN フレームワークから生成されたすべてのログが含まれています。 |
4. | HDInsightHadoopAndYarnMetrics | ログの種類なし | このテーブルには、Hadoop フレームワークと YARN フレームワークの JMX メトリックが含まれています。 これには、古いカスタム ログ テーブルと同じすべての JMX メトリックに加えて、重要と考えられるより多くのメトリックが含まれています。 タイムライン サーバー、ノード マネージャー、およびジョブ履歴サーバーのメトリックが追加されました。 レコードごとに 1 つのメトリックが含まれています。 |
5. | HDInsightHiveAndLLAPLogs | ヘッド ノード: InteractiveHiveHSILog、InteractiveHiveMetastoreLog、ZeppelinLog | このテーブルには、Hive、LLAP、およびそれらに関連するコンポーネント (WebHCat と Zeppelin) から生成されたログが含まれています。 |
6. | HDInsightHiveAndLLAPmetrics | ログの種類なし | このテーブルには、Hive フレームワークと LLAP フレームワークの JMX メトリックが含まれています。 これには、古いカスタム ログ テーブルと同じすべての JMX メトリックが含まれます。 レコードごとに 1 つのメトリックが含まれています。 |
7. | HDInsightHiveTezAppStats | ログの種類なし | |
8. | HDInsightSecurityLogs | ヘッド ノード: AmbariAuditLog、AuthLog ZooKeeper ノード、ワーカー ノード: AuthLog | このテーブルには、Ambari 監査ログおよび認証ログのレコードが含まれています。 |
HBase クラスター
次のテーブル名は、HBase テーブル内のさまざまなログの型 (ソース) に使用されます。
ソース番号 | テーブル名 | ログの種類 | 説明 |
---|---|---|---|
1. | HDInsightAmbariClusterAlerts | 他のログの種類なし | このテーブルには、クラスター内の各ノードからの Ambari クラスター アラート (エッジ ノードを除く) が含まれています。 各アラートは、このテーブル内のレコードです。 |
2. | HDInsightAmbariSystem Metrics | 他のログの種類なし | このテーブルには、Ambari から収集されたシステム メトリックが含まれています。 これらのメトリックは、2 つのヘッドノードだけではなく、クラスター内の各ノード (エッジ ノードを除く) から取得されるようになりました。 各メトリックは列になり、各メトリックはレコードごとに 1 回報告されます。 |
3. | HDInsightHadoopAndYarnLogs | ヘッド ノード: MRJobSummary、Resource Manager、TimelineServer ワーカー ノード: NodeManager | このテーブルには、Hadoop フレームワークと YARN フレームワークから生成されたすべてのログが含まれています。 |
4. | HDInsightSecurityLogs | ヘッド ノード: AmbariAuditLog、AuthLog ワーカー ノード: AuthLog ZooKeeper ノード: AuthLog | このテーブルには、Ambari 監査ログおよび認証ログのレコードが含まれています。 |
5. | HDInsightHBaseLogs | ヘッド ノード: HDFSGarbageCollectorLog、HDFSNameNodeLog ワーカー ノード: PhoenixServerLog、HBaseRegionServerLog、HBaseRestServerLog ZooKeeper ノード: HBaseMasterLog | このテーブルには、HBase とそれに関連するコンポーネント (Phoenix と HDFS) のログが含まれています。 |
6. | HDInsightHBaseMetrics | ログの種類なし | このテーブルには、HBase の JMX メトリックが含まれています。 これには、"古いスキーマ" 列に示されているテーブルと同じすべての JMX メトリックが含まれます。 古いテーブルとは異なり、各行に 1 つのメトリックが含まれています。 |
7. | HDInsightHadoopAndYarn Metrics | ログの種類なし | このテーブルには、Hadoop フレームワークと YARN フレームワークの JMX メトリックが含まれています。 これには、古いカスタム ログ テーブルと同じすべての JMX メトリックに加えて、重要と考えられるより多くのメトリックが含まれています。 タイムライン サーバー、ノード マネージャー、およびジョブ履歴サーバーのメトリックが追加されました。 レコードごとに 1 つのメトリックが含まれています。 |
Hadoop クラスター
次のテーブル名は、Hadoop テーブル内のさまざまなログの型 (ソース) に使用されます。
ソース番号 | テーブル名 | ログの種類 | 説明 |
---|---|---|---|
1. | HDInsightAmbariClusterAlerts | ログの種類なし | このテーブルには、クラスター内の各ノードからの Ambari クラスター アラート (エッジ ノードを除く) が含まれています。 各アラートは、このテーブル内のレコードです。 |
2. | HDInsightAmbariSystem Metrics | ログの種類なし | このテーブルには、Ambari から収集されたシステム メトリックが含まれています。 これらのメトリックは、2 つのヘッドノードだけではなく、クラスター内の各ノード (エッジ ノードを除く) から取得されるようになりました。 各メトリックは列になり、各メトリックはレコードごとに 1 回報告されます。 |
3. | HDInsightHadoopAndYarnLogs | ヘッド ノード: MRJobSummary、Resource Manager、TimelineServer ワーカー ノード: NodeManager | このテーブルには、Hadoop フレームワークと YARN フレームワークから生成されたすべてのログが含まれています。 |
4. | HDInsightHadoopAndYarnMetrics | ログの種類なし | このテーブルには、Hadoop フレームワークと YARN フレームワークの JMX メトリックが含まれています。 これには、古いカスタム ログ テーブルと同じすべての JMX メトリックに加えて、重要と考えられるより多くのメトリックが含まれています。 タイムライン サーバー、ノード マネージャー、およびジョブ履歴サーバーのメトリックが追加されました。 レコードごとに 1 つのメトリックが含まれています。 |
5. | HDInsightHiveAndLLAPLogs | ヘッド ノード: HiveMetastoreLog、HiveServer2Log、WebHcatLog | このテーブルには、Hive、LLAP、およびそれらに関連するコンポーネント (WebHCat と Zeppelin) から生成されたログが含まれています。 |
6. | HDInsight Hive And LLAP Metrics | ログの種類なし | このテーブルには、Hive フレームワークと LLAP フレームワークの JMX メトリックが含まれています。 これには、古いカスタム ログ テーブルと同じすべての JMX メトリックが含まれます。 レコードごとに 1 つのメトリックが含まれています。 |
7. | HDInsight Security Logs | ヘッド ノード: AmbariAuditLog、AuthLog ZooKeeper ノード: AuthLog | このテーブルには、Ambari 監査ログおよび認証ログのレコードが含まれています。 |
パラメーター構文
パラメーターは、クラスターの型、テーブル名、ソース名、アクションを定義します。
パラメーターは 3 つの部分から構成されています。
- クラスターの種類
- テーブルとログの型
- アクション (
--disable
または--enable
のいずれか)
複数のテーブルを使用する場合の構文
複数のテーブルがある場合は、コンマで区切られます。 たとえば、次のように入力します。
spark HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --disable
hbase HDInsightSecurityLogs, HDInsightAmbariSystemMetrics --enable
複数のソースの型またはログの型に対応する構文
複数のソースの型またはログの型がある場合は、スペースで区切られます。
ソースを無効にするには、ログの型を含むテーブル名、コロン、実際のログの種類の名前を書き込みます。
TableName : LogTypeName
たとえば、 spark HDInsightSecurityLogs
は、AmbariAuditLog
とAuthLog
の 2 つのログの型 を持つテーブルであるとします。 両方のログの型を無効にするには、正しい構文は次のようになります。
spark HDInsightSecurityLogs: AmbariAuditLog AuthLog --disable
複数のテーブルとソースの型に対応する構文
2 つのテーブルと 2 つのソースの型を無効にする必要がある場合は、次の構文を使用します。
- Spark:
HDInsightHiveAndLLAPLogs
テーブルのInteractiveHiveMetastoreLog
ログの種類 - Spark:
HDInsightHiveAndLLAPLogs
テーブルのInteractiveHiveHSILog
ログの種類 - Hadoop:
HDInsightHiveAndLLAPMetrics
テーブル - Hadoop:
HDInsightHiveTezAppStats
テーブル
テーブルはコンマで区切ります。 ソースが存在するテーブル名の後にコロン (:) を使用して、ソースを示します。
これらの場合の正しいパラメーターの構文は次のようになります。
interactivehive HDInsightHiveAndLLAPLogs: InteractiveHiveMetastoreLog, HDInsightHiveAndLLAPMetrics, HDInsightHiveTezAppStats, HDInsightHiveAndLLAPLogs: InteractiveHiveHSILog --enable