すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:AuditLog の使用

最終更新日:Mar 27, 2026

Jindo AuditLog は、ブロックストレージモードまたはキャッシュモードで動作する E-MapReduce (EMR) JindoFS 名前空間における追加、削除、名前変更操作を記録します。AuditLog を使用して、名前空間へのアクセスを追跡し、異常なリクエストを検出し、エラーのトラブルシューティングを行います。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • EMR クラスターが存在すること。詳細については、「クラスターの作成」をご参照ください。

  • ログ保存用の OSS バケットが存在すること。詳細については、「バケットの作成」をご参照ください。

AuditLog の仕組み

名前空間に対して AuditLog を有効化すると、JindoFS は追加、削除、名前変更の各操作ごとに OSS にログエントリを書き込みます。続行する前に理解しておくべき主な動作は以下のとおりです。

  • ログファイルは指定した OSS パスに保存され、1 ファイルあたり最大 5 GB までとなります。

  • OSS のライフサイクルルールを使用して、ログの保存期間を制御します。保存期間を指定しない場合、ログは無期限に蓄積されます。

AuditLog のフォーマット

各ログエントリには、以下のフィールドが含まれます。

フィールド 説明
Time タイムスタンプ(yyyy-MM-dd hh:mm:ss.SSS 形式)
allowed 操作が許可されたかどうか: true または false
ugi 操作を実行したユーザー(認証方式を含む)
ip クライアントの IP アドレス
ns ブロックストレージモードでの名前空間名
cmd 操作コマンド
src ソースパス
dest 宛先パス(空欄可)
perm 操作対象ファイルの権限

ログエントリの例:

2020-07-09 18:29:24.689 allowed=true ugi=hadoop (auth:SIMPLE) ip=127.0.0.1 ns=test-block cmd=CreateFileletRequest src=jfs://test-block/test/test.snappy.parquet dst=null perm=::rwxrwxr-x

AuditLog の有効化

手順 1:構成パラメーターの追加

  1. Alibaba Cloud EMR コンソールにログインします。

  2. 上部ナビゲーションバーで、ご利用のクラスターが配置されているリージョンを選択します。必要に応じてリソースグループも選択します。デフォルトでは、アカウントのすべてのリソースが表示されます。

  3. クラスターマネジメント タブをクリックします。

  4. 一覧から対象のクラスターを見つけ、[操作] 列の 詳細 をクリックします。

  5. 左側ナビゲーションウィンドウで、クラスターサービスSmartData をクリックします。

  6. 構成 タブをクリックし、サービス構成セクションで 名前空間 タブをクリックします。

    namespace

  7. 右上隅の カスタム構成 をクリックします。

  8. 構成項目の追加 ダイアログボックスで、以下のパラメーターを設定します。

    パラメーター 説明 必須
    jfs.namespaces.{ns}.auditlog.enable 特定の名前空間に対して AuditLog を有効化します。true を指定すると有効化、false を指定すると無効化されます。 はい
    namespace.sysinfo.oss.uri ログ保存用の OSS パス。形式は oss://<yourbucket>/auditLog で、<yourbucket> の部分を実際のバケット名に置き換えてください。 はい
    namespace.sysinfo.oss.access.key OSS バケット用の AccessKey ID。 いいえ
    namespace.sysinfo.oss.access.secret OSS バケット用の AccessKey Secret。 いいえ
    namespace.sysinfo.oss.endpoint OSS バケットのエンドポイント。 いいえ

手順 2: デプロイと再起動

  1. サービス構成セクションの右上隅にある クライアント構成のデプロイ をクリックします。

  2. クラスター活動 ダイアログボックスで説明を入力し、OK をクリックします。

  3. 確認ダイアログボックスで OK をクリックします。

  4. 右上隅の 操作Jindo 名前空間サービスの再起動 を選択します。

  5. クラスター活動 ダイアログボックスで説明を入力し、OK をクリックします。

  6. 確認ダイアログボックスで OK をクリックします。

手順 3:ログの保存期間の設定

OSS のライフサイクルルールを設定して、指定日数経過後にログファイルを自動的に有効期限切れにします。

  1. OSS コンソールにログインします。

  2. 左側ナビゲーションウィンドウで バケット をクリックし、対象のバケット名をクリックします。

  3. 基本設定ライフサイクル を選択します。ライフサイクルセクションで 設定 をクリックします。

  4. ルールの作成 をクリックし、ルールのパラメーターを設定します。

  5. OK をクリックします。

ログファイルの分析

jindo sql コマンドを使用して、AuditLog データに対して Spark SQL クエリを実行します。このコマンドでは、以下の 3 つの組み込みテーブルが提供されます。

テーブル 説明
audit_log_source 生の AuditLog データ(パーティションテーブル)
audit_log クリーンアップ済みの AuditLog データ
fs_image fsimage ログデータ(パーティションテーブル)

利用可能なパラメーターを確認するには、jindo sql --help を実行します。

パラメーター 説明
-f 実行する SQL ファイルを指定します
-i コマンド起動後に初期化 SQL スクリプトを自動的に実行します

Spark リソースのチューニング

jindo sql は Spark を基盤としているため、デフォルトでは限定的なリソースで起動することがあります。クエリ実行前に、環境変数 JINDO_SPARK_OPTS を設定してリソース割り当てを調整してください。

export JINDO_SPARK_OPTS="--conf spark.driver.memory=4G --conf spark.executor.instances=20 --conf spark.executor.cores=5 --conf spark.executor.memory=20G"

クエリの例

以下のコマンドで利用可能なデータを確認できます。

-- 利用可能なすべてのテーブルを一覧表示
show tables;

-- audit_log_source テーブルのパーティションを表示
show partitions audit_log_source;

-- テーブル構造を確認
desc formatted audit_log_source;

show tables の出力例:

show_table

show partitions audit_log_source の出力例:

show_audit_log_source

生ログデータをクエリします。

select * from audit_log_source limit 10;
audit_log_source

クリーンアップ済みログデータをクエリします。

select * from audit_log limit 10;
audit_log

特定の日付におけるコマンド使用頻度の統計情報を収集します。

rate