E-MapReduce (EMR) のオープンソースコンポーネントは、動作中に多数のログを生成します。ログ管理機能は、EMR と Simple Log Service (SLS) を統合し、EMR コンソールでこれらのコンポーネントログを直接クエリできるようにします。
前提条件
制限事項
-
本トピックは、DataLake、DataFlow、オンライン分析処理 (OLAP)、DataServing、DataLake (Hadoop) の各シナリオ向けクラスターにのみ適用されます。
-
ログシッピングは、hdfs、yarn、yarn_application、hive、spark、jindodata、tez、flink、hbase、zookeeper、kafka、presto、kudu、impala、flume、starrocks、clickhouse、kyuubi、rss、host の各サービスでサポートされます。
注意事項
-
SLS では、ログストレージやインデックストラフィックなどの課金項目に対して、標準料金で個別に課金されます。詳細については、「課金項目」をご参照ください。
-
RAM ユーザーを使用している場合は、Alibaba Cloud アカウントで RAM コンソールにログインし、RAM ユーザーに AliyunLogFullAccess 権限を付与してください。詳細については、「RAM ユーザーの権限管理」をご参照ください。
ログシッピングの有効化
-
ログ管理ページに移動します。
E-MapReduce コンソールにログインします。
-
上部メニューで、必要に応じてリージョンとリソースグループを選択します。
-
EMR on ECS ページで、対象クラスターの クラスターID をクリックします。
-
Logs タブをクリックします。
-
ログシッピング範囲を設定します。
-
Logs ページの右上隅にある Set Log Shipping Scope をクリックします。
-
表示されたダイアログボックスで、ログストレージ用のプロジェクトを設定します。
既存のプロジェクトを選択するか、新しいプロジェクトを作成できます。
重要プロジェクトは一度選択すると変更できません。
-
ログをシッピングするサービスを選択し、OK をクリックします。
-
-
サービスログを表示します。
-
[Please select EMR service] ドロップダウンリストから、ログを表示するサービスを選択します。
-
ログページでログを分析します。
時間範囲とクエリ文を指定して、リアルタイムクエリを実行できます。たとえば、特定のフィールドの一定期間における分布を迅速に分析したり、指定した条件に基づいてアクセスレコードをフィルタリングおよび集計したりできます。
-
ログシッピングの無効化
リアルタイムログシッピングを無効にしても、プロジェクトは自動的に削除されません。ログシッピングを無効にした後、不要な課金を避けるために、SLS コンソールに移動して、設定済みのプロジェクトを削除してください。詳細については、「プロジェクトの管理」をご参照ください。
ログデータを保持する必要がなくなった場合は、次の手順に従ってログシッピングを無効にします。
-
Logs ページの右上隅にある Disable Log Shipping をクリックします。
-
表示されたダイアログボックスで、[OK] をクリックします。
SLS プロジェクトの管理
Logs ページの右上隅にある Go to Log Service Console をクリックすると、SLS コンソールが開きます。SLS コンソールでは、ログの保存期間を設定したり、Logstore の設定を変更したりできます。
ログフィールド
|
パラメーター |
説明 |
|
|
ノードのプライベート IP アドレス。 |
|
|
ノードのホスト名。 |
|
|
ログの保存パス。 |
|
|
SLS がクラスターに対して定義するカスタム識別子。 |
|
|
Alibaba Cloud アカウントの UID。 |
|
|
ECS インスタンスの ID。 |
|
|
EMR クラスター ID。 |
|
|
ノードの名前。たとえば、 |
|
|
ログエントリを分類するために使用されるログトピック。 |
|
|
ログエントリの生の内容。 |
|
|
ログレベル。ログエントリの重大度を示します ( |
|
|
主要なログメッセージ。通常、解析後に抽出されます。 |
|
|
ログエントリを生成したスレッド。 |
|
|
ログエントリが生成されたタイムスタンプ。 |
アセット
-
カスタムプロジェクトと専用 Logstore
カスタムプロジェクトを指定できます。システムは、そのプロジェクト内に
emr_<service_name>_logという名前の専用 Logstore を作成します。たとえば、host サービスのログをシッピングする場合、対応する Logstore はemr_host_logです。重要-
ログ管理機能を無効にする前に、EMR ログ用の SLS プロジェクトおよび Logstore を削除しないでください。削除すると、既存のログが削除され、新しいログを SLS にシッピングできなくなります。
-
以前にデータ量課金の課金方法を使用していた場合、システムはデフォルトでこの方法を使用する専用 Logstore を作成します。機能課金の課金方法に切り替えるには、Logstore の設定を変更する必要があります。詳細については、「Logstore 設定の変更」をご参照ください。
-
-
専用ダッシュボード
専用ダッシュボードは提供されていません。クエリ結果を表示するためのカスタムダッシュボードを作成できます。詳細については、「ダッシュボードの作成」をご参照ください。
課金
-
ログ管理機能は、現在 EMR では無料で提供されています。
-
Logstore が機能課金の課金方法を使用している場合、SLS は、ストレージスペース、読み取りトラフィック、リクエスト、データ処理、データシッピングなどの課金項目に基づいて、シッピングされた EMR ログに対して課金します。詳細については、「機能課金の課金項目」をご参照ください。
-
Logstore がデータ量課金の課金方法を使用している場合、SLS は、取り込まれた生データの量に基づいて、シッピングされた EMR ログに対して課金します。詳細については、「データ量課金の課金項目」をご参照ください。
よくある質問
Q: SLS をアクティブ化し、必要な権限を付与しました。それでもコンソールに "Service log collection is not enabled for this resource. Go to the Log Management page of the cluster in the EMR console to enable it." というメッセージが表示されるのはなぜですか?
A: 現在のクラスターでは、ログシッピング用のサービスが設定されていません。右上隅にある Set Log Shipping Scope をクリックして、設定を完了してください。