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 | 本次操作是否被允许,取值如下: 
 | 
| ugi | 操作用户(包含认证方式信息)。 | 
| ip | Client IP。 | 
| ns | Block模式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
使用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 partitions audit_log_source;返回信息类似如下。 
- 执行如下查询数据。select * from audit_log_source limit 10;返回信息类似如下。 select * from audit_log limit 10;返回信息类似如下。 
- 执行如下命令统计2020-10-20日不同命令的使用频次。 
