前言

近期,数据仓库因为积压数据较大,故对数据访问进行统计,进而计算数据生命周期,决定是否删除,但是对于不同用户的访问,无法做到统计所有访问入口,故从最底层的hdfs审计日志进行解析,对hdfs namenode的审计日志解析,获取当前数据的访问时间,访问目录,访问用户等信息,进行整理数据访问生命周期

审计日志类型

  • 审计日志大致分两类,read/write,通过分析源码找到其包含类型

OperationCategory.READ

operationName = "listOpenFiles";
operationName = "open";
operationName = "getAdditionalBlock";
operationName = needBlockToken ? "open" : "getfileinfo";
operationName = "isFileClosed";
operationName = "contentSummary";
operationName = "quotaUsage";
operationName = "listStatus";
operationName = "listSnapshottableDirectory";
operationName = "computeSnapshotDiff";
operationName = "computeSnapshotDiff";
operationName = "queryRollingUpgrade";
operationName = "listCacheDirectives";
operationName = "listCacheDirectives";
operationName = "getAclStatus";
operationName = "getEZForPath";
operationName = "listEncryptionZones";
operationName = "listReencryptionStatus";
operationName = "getErasureCodingPolicy"
operationName = "getXAttrs";
operationName = "listXAttrs";
operationName = "checkAccess";

OperationCategory.WRITE

operationName = "setPermission";
operationName = "concat";
operationName = "setTimes";
operationName = "truncate";
operationName = "createSymlink";
operationName = "setReplication";
operationName = "setStoragePolicy";
operationName = "satisfyStoragePolicy";
operationName = "unsetStoragePolicy";
operationName = "rename";
operationName = "delete";
operationName = "mkdirs";
operationName = "setBalancerBandwidth";
operationName = "getDelegationToken";
operationName = "renewDelegationToken";
operationName = "cancelDelegationToken";
operationName = "disallowSnapshot";
operationName = "createSnapshot";
operationName = "renameSnapshot";
operationName = "deleteSnapshot";
operationName = "startRollingUpgrade";
operationName = "finalizeRollingUpgrade";
operationName = "addCacheDirective";
operationName = "modifyCacheDirective";
operationName = "removeCacheDirective";
operationName = "modifyCachePool";
operationName = "setAcl";
operationName = "setReplication";
operationName = "append";

日常分析

  • 通过分析日志情况,访问的操作命令大致如下
//访问数据文件之前,获取文件信息
getfileinfo
//创建数据库表时,会对应有创建文件的操作
mkdirs
//进行访问控制权限的操作
//创建数据文件
create
setAcl -- checkOperation(OperationCategory.WRITE);
//获取访问控制权限的信息
getAclStatus -- checkOperation(OperationCategory.READ);//数据文件重命名吗
rename -- Change the indicated filename.
//访问数据文件
open -- Get block locations within the specified range.
  • 数据库表创建,插入时,会有create,mkdir等操作
  • 数据表访问,分区查询时会有getFileStauts,listFileStatus,open灯光操作

#参考文档

  • https://cloud.tencent.com/developer/article/1357831

hdfs 审计日志解析相关推荐

  1. hdfs auditlog(审计日志)

    hdfs审计日志(Auditlog)记录了用户针对hdfs的所有操作,详细信息包括操作成功与否.用户名称.客户机地址.操作命令.操作的目录等.对于用户的每一个操作,namenode都会将这些信息以ke ...

  2. android审计日志,hdfs auditlog(审计日志)

    hdfs审计日志(Auditlog)记录了用户针对hdfs的所有操作,详细信息包括操作成功与否.用户名称.客户机地址.操作命令.操作的目录等.对于用户的每一个操作,namenode都会将这些信息以ke ...

  3. Hadoop的log4j审计日志文件

    自定义修改hadoop/conf/log4j.properties hdfs审计日志(Auditlog)记录了用户针对hdfs的所有操作,详细信息包括操作成功与否.用户名称.客户机地址.操作命令.操作 ...

  4. java audit模块实现_Apollo 源码解析 —— Config Service 操作审计日志 Audit

    > 摘要: 原创出处 http://www.iocoder.cn/Apollo/config-service-audit/ 「芋道源码」欢迎转载,保留摘要,谢谢! 1. 概述 本文分享 Conf ...

  5. Spark HistoryServer日志解析清理异常

    Spark HistoryServer日志解析&清理异常 一.背景介绍 用户在使用 Spark 提交任务时,经常会出现任务完成后在 HistoryServer(Spark 1.6 和 Spar ...

  6. Spell 基于最长公共子序列的在线日志解析方法

    文章目录 01 日志模板挖掘 02 基于 LCS 的日志解析流程 2.1 日志键匹配查找 2.2 拆分与合并处理 2.2.1 拆分过程 2.2.2 合并过程 03 匹配查找优化 3.1 前缀树预过滤 ...

  7. ABP开发框架前后端开发系列---(7)系统审计日志和登录日志的管理

    我们了解ABP框架内部自动记录审计日志和登录日志的,但是这些信息只是在相关的内部接口里面进行记录,并没有一个管理界面供我们了解,但是其系统数据库记录了这些数据信息,我们可以为它们设计一个查看和导出这些 ...

  8. Hadoop审计日志配置[转自 AIMP平台wiki]

    Hadoop审计日志配置 hdfs审计 log4j.properties 中配置(缺省就包含) hdfs.audit.logger=INFO,NullAppender hdfs.audit.log.m ...

  9. 数据库安全:审计产品特性解析

    数据库安全面临着诸多问题,由于计算机软硬件故障.******.病毒侵害等原因会导致数据库系统不能正常运转.数据丢失等.然而更高的风险来源于企业内部,企业内部人员非法访问.恶意篡改等操作,给数据库系统带 ...

最新文章

  1. 模板格式丢失_公司法人私章证明丢失应该怎么办,需要补办吗?
  2. 针对表单的事件;条件语句;定时器的简单介绍;
  3. 和我一起写矩阵类(一)
  4. 一张图看懂阿里企业级分布式应用服务EDAS
  5. 一些Chrome 调试小技巧汇总
  6. Python适合自己的IDE才是最好的IDE
  7. 俞渝欲花费百万召开“抢章座谈会” ?当当网回应来了
  8. 输出斐波那契数列的第n项
  9. PLSQL的中文乱码显示全是问号
  10. 简单的识别猫狗的模型
  11. 使用Java语言开发微信公众平台(五)——获取access_token
  12. OCR文本扫描 轮廓检测 透视变换-唐宇迪笔记
  13. 使用PID和LQR控制器进行多旋翼飞行器控制
  14. (4)NS3仿真--AODV协议
  15. 计算机实验PPT情景短剧,8.用计算机做科学实验.ppt
  16. 广东省计算机学校,广东省计算机基础练习平台(高校版)安装设置方法
  17. 中移动入侵防御设备集采,总限价1.6亿;爱立信斩获95个5G商用合同
  18. xp系统安装金蝶k3服务器配置,xp安装金蝶k3安全设置.doc
  19. 爬虫------12306
  20. 百度2017春招笔试真题编程题集合--买帽子

热门文章

  1. 经常肠胃不好的人,多吃这4种食物,让你的身体越来越好
  2. css继承-文字及inherit/优先级-权重/盒子问题box-sizing/溢出overflow
  3. A. Appalling Architecture(重心公式)
  4. 【JZOJ 5028】跳蚤王国
  5. Container killed on request. Exit code is 143_Permission denied: user=dr.who, a---Hadoop3.x启动报错记录001
  6. Linux上Jvm性能调优方法
  7. 《都挺好》告诉我们:这些人生道理,每个人都必须要懂
  8. flvjs api 中文
  9. 原因:MAC下webstorm输入中文非常卡
  10. 人事考试网:2021年度一建考试有关事项通告、汇总报考常见问题解答!