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日不同命令的使用频次。