全部產品
Search
文件中心

E-MapReduce:AuditLog使用說明

更新時間:Jul 01, 2024

Jindo AuditLog提供緩衝和Block模式的審計功能,記錄Namespace端的增加、刪除和重新命名操作資訊。

前提條件

背景資訊

AuditLog可以分析Namespace端訪問資訊、發現異常請求和追蹤錯誤等。JindoFS AuditLog儲存記錄檔至OSS,單個Log檔案不超過5 GB。基於OSS的生命週期策略,您可以自訂記錄檔的保留天數和清理策略等。因為JindoFS AuditLog提供分析功能,所以您可以通過Shell命令分析指定的記錄檔。

審計資訊

Block模式記錄的審計資訊參數如下所示。
參數描述
時間時間格式yyyy-MM-dd hh:mm:ss.SSS。
allowed本次操作是否被允許,取值如下:
  • true
  • false
ugi操作使用者(包含認證方式資訊)。
ipClient IP。
nsBlock模式namespace的名稱。
cmd操作命令。
src源路徑。
dest目標路徑,可以為空白。
perm操作檔案Permission資訊。
審計資訊樣本。
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. 進入SmartData服務。
    1. 登入阿里雲E-MapReduce控制台
    2. 在頂部功能表列處,根據實際情況選擇地區和資源群組
    3. 單擊上方的叢集管理頁簽。
    4. 叢集管理頁面,單擊相應叢集所在行的詳情
    5. 在左側導覽列,選擇叢集服務 > SmartData
  2. 進入namespace服務配置。
    1. 單擊配置頁簽。
    2. 單擊namespace
      namespace
  3. 配置如下參數。
    1. namespace頁簽,單擊右上方的自訂配置
    2. 新增配置項對話方塊中,新增如下參數。
      參數描述是否必填
      jfs.namespaces.{ns}.auditlog.enable開啟指定namespaces的AuditLog開關,取值如下:
      • true:開啟AuditLog功能。
      • false:關閉AuditLog功能。
      namespace.sysinfo.oss.uri儲存AuditLog的OSS Bucket。

      請參見oss://<yourbucket>/auditLog格式配置。

      <yourbucket>請替換為待儲存的Bucket的名稱。

      namespace.sysinfo.oss.access.key儲存OSS的AccessKey ID。
      namespace.sysinfo.oss.access.secret儲存OSS的AccessKey Secret。
      namespace.sysinfo.oss.endpoint儲存OSS的Endpoint。
    3. 單擊部署用戶端配置
    4. 執行叢集操作對話方塊中,輸入執行原因,單擊確定
    5. 確認對話方塊中,單擊確定
  4. 重啟服務。
    1. 單擊右上方的操作 > 重啟Jindo Namespace Service
    2. 執行叢集操作對話方塊中,輸入執行原因,單擊確定
    3. 確認對話方塊中,單擊確定
  5. 配置清理策略。
    OSS提供了lifeCycle功能來管理OSS上檔案的生命週期,您可以利用該功能來自訂Log檔案的清理或者儲存時間。
    1. 登入 OSS管理主控台
    2. 單擊建立的儲存空間。
    3. 在左側導覽列,單擊基礎設定 > 生命週期,在生命週期單擊設定
    4. 單擊建立規則,在建立生命週期規則配置各項參數。
    5. 單擊確定

使用Jindo AuditLog分析功能

JindoFS為儲存在OSS上的AuditLog檔案提供SQL的分析功能,通過SQL分析相關表,提供Top-N活躍操作命令分析和Top-N活躍IP分析。您可以使用jindo sql命令,使用該功能。

jindo sql使用Spark-SQL文法,內部嵌入了audit_log_source(auditlog未經處理資料)、audit_log(auditlog清洗後資料)和fs_image(fsimage日誌資料)三個表,audit_log_source和fs_image均為分區表。使用方法如下:
  • jindo sql --help查看支援參數的詳細資料。常用參數如下。
    參數描述
    -f指定啟動並執行SQL檔案。
    -i啟動jindo sql後自動運行初始化SQL指令碼。
  • show partitions table_name擷取所有分區。
  • desc formatted table_name查看錶結構。
因為Jindo sql基於Spark的程式,所以初始資源可能較小,您可以通過環境變數JINDO_SPARK_OPTS來修改初始資源Jindo sql的啟動參數,修改樣本如下。
 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;
    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
  • 執行如下命令統計2020-10-20日不同命令的使用頻次。rate