Ranger日志介绍
Ranger作为MRS集群的统一权限管理组件,其运行日志和审计日志是排查权限问题和服务异常的重要依据。当集群中出现鉴权失败、用户同步异常、策略下发延迟或Ranger服务启动失败等问题时,管理员需要通过查看Ranger各组件的日志来定位根因。
本文适用于MRS集群管理员和运维工程师,介绍Ranger各组件的日志类型、存储路径、日志级别、日志格式以及修改日志级别的方法,帮助用户快速定位和排查Ranger相关问题。
日志分类
Ranger由多个组件协同工作,各组件产生不同类型的日志,理解组件职责有助于快速定位问题:
- RangerAdmin:Ranger核心管理组件,负责权限策略的创建、存储和分发,处理鉴权请求。
- UserSync:负责从LDAP/AD等用户源同步用户和用户组信息到RangerAdmin。
- TagSync:负责同步标签(Tag)策略,将资源标签信息同步到RangerAdmin,支持基于标签的权限策略。
- PolicySync:负责监听策略变更并通知各组件Plugin更新本地策略缓存(MRS 3.3.0及之后版本)。
Ranger日志按用途分为以下三类:
- 运行日志:记录组件运行状态、错误信息和业务处理过程,是排查组件异常的主要依据。
- 审计日志:记录用户的权限鉴权操作(如鉴权成功/失败、访问的资源、操作类型),用于安全审计和合规追溯。
- GC日志:记录JVM垃圾回收情况,用于排查内存溢出(OOM)、频繁Full GC等性能问题。各组件均有对应的GC日志文件。
日志描述
日志存储路径:Ranger相关日志的默认存储路径为“/var/log/Bigdata/ranger/角色名”
- RangerAdmin:“/var/log/Bigdata/ranger/rangeradmin”(运行日志),“/var/log/Bigdata/audit/ranger/rangeradmin”(审计日志,MRS 3.3.0及之后版本)。
- TagSync:“/var/log/Bigdata/ranger/tagsync”(运行日志)。
- UserSync“/var/log/Bigdata/ranger/usersync”(运行日志)。
- PolicySync:“/var/log/Bigdata/ranger/policysync”(运行日志,MRS 3.3.0及之后版本)。
日志归档规则:Ranger的日志启动了自动压缩归档功能,默认情况下,当日志大小超过20 MB时,会自动压缩,压缩后的日志文件名规则为:“<原有日志名>-<yyyy-mm-dd_hh-mm-ss>.[编号].log.zip”,最多保留最近的20个压缩文件。
| 日志类型 | 日志文件名 | 描述 |
|---|---|---|
| RangerAdmin运行日志 | access_log.<DATE>.log | Tomcat访问日志。 |
| catalina.out | Tomcat服务运行日志。 | |
| threadDump-<DATE>.log | 进程JVM线程日志。 | |
| gc-worker-pid<PID>-<日期>.log.<编号> | RangerAdmin的GC日志。 | |
| postinstallDetail.log | 实例安装前启动后工作日志。 | |
| prestartDetail.log | 实例启动前准备工作日志。 | |
| ranger-admin.log | RangerAdmin运行日志。 | |
| pid-check.log | 实例进程检查日志。 | |
| monitorCheck.log | 监控检查日志。 | |
| serviceCheck.log | 服务检查日志。 | |
| stopDetail.log | 实例停止日志。 | |
| startDetail.log | 实例启动日志。 | |
| TagSync运行日志 | gc-worker-pid<PID>-<日期>.log.<编号> | 实例GC日志。 |
| postinstallDetail.log | 实例安装前启动后工作日志。 | |
| prestartDetail.log | 实例启动前准备工作日志。 | |
| pid-check.log | 实例进程检查日志。 | |
| ranger-tagsync.log | TagSync运行日志。 | |
| startDetail.log | 实例启动日志。 | |
| stopDetail.log | 实例停止日志。 | |
| tagsync.out | TagSync的运行日志。 | |
| UserSync运行日志 | auth.log | unixauth服务运行日志。 |
| gc-worker-pid<PID>-<日期>.log.<编号> | 实例GC日志。 | |
| postinstallDetail.log | 实例安装前启动后工作日志。 | |
| prestartDetail.log | 实例启动前准备工作日志。 | |
| pid-check.log | 实例进程检查日志。 | |
| ranger-usersync.log | UserSync运行日志。 | |
| startDetail.log | 实例启动日志。 | |
| stopDetail.log | 实例停止日志。 | |
| RangerKMS运行日志(MRS 3.3.0及之后版本) | access-<host>-<DATE>.log | Tomcat访问日志。 |
| threadDump-<DATE>.log | 进程JVM GC日志。 | |
| gc-worker-pid<PID>-<日期>.log.<编号> | 实例GC日志。 | |
| stopDetail.log | 实例停止日志。 | |
| startDetail.log | 实例启动日志。 | |
| ranger-kms.log | 实例运行日志。 | |
| prestartDetail.log | 实例启动前准备工作日志。 | |
| catalina.out | Tomcat服务运行日志。 | |
| postinstallDetail.log | 实例安装前启动后工作日志。 | |
| PolicySync运行日志(MRS 3.3.0及之后版本) | cleanupDetail.log | 实例清理日志。 |
| policysync.out | 实例运行日志。 | |
| postinstallDetail.log | 实例安装前启动后工作日志。 | |
| prestartDetail.log | 实例启动前准备工作日志。 | |
| ranger-policysync.log | 实例运行日志。 | |
| startDetail.log | 实例启动日志。 | |
| gc-worker-pid<PID>-<日期>.log.<编号> | 实例GC日志。 | |
| stopDetail.log | 实例停止日志。 | |
| 审计日志(MRS 3.3.0及之后版本) | rangeradmin-audit.log | RangerAdmin审计日志。 |
日志级别
Ranger中提供了如表2所示的日志级别,日志级别优先级从高到低分别是FATAL、ERROR、WARN、INFO、DEBUG,程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少。
| 级别 | 描述 |
|---|---|
| FATAL | FATAL表示当前事件处理出现严重错误信息,可能导致系统崩溃。 |
| ERROR | ERROR表示当前事件处理出现错误信息,系统运行出错。 |
| WARN | WARN表示当前事件处理存在异常信息,但认为是正常范围,不会导致系统出错。 |
| INFO | INFO表示记录系统及各事件正常运行状态信息 |
| DEBUG | DEBUG表示记录系统及系统的调试信息。 |
日志级别使用建议:
- INFO:日常运行。
- DEBUG:排查鉴权失败或策略异常,排查完成后恢复为INFO,避免日志量过大。
- DEBUG:排查用户同步问题,排查完成后恢复为INFO。
如果您需要修改日志级别,请执行如下操作:
- 登录FusionInsight Manager。
- 选择“集群 > 服务 > Ranger > 配置”。
- 选择“全部配置”。
- 左边菜单栏中选择所需修改的角色所对应的日志菜单。
- 选择所需修改的日志级别。
- 单击“保存”,在弹出窗口中单击“确定”使配置生效。
配置完成后立即生效,不需要重启服务。
日志格式
Ranger的日志格式如下所示:
| 日志类型 | 格式 | 示例 |
|---|---|---|
| 运行日志 | <yyyy-MM-dd HH:mm:ss,SSS>|<Log Level>|<产生该日志的线程名字>|<log中的message>|<日志事件的发生位置> | 2020-04-29 20:09:28,543 | INFO | http-bio-21401-exec-56 | Request comes from API call, skip cas filter. | CasAuthenticationFilterWrapper.java:25 |
常见问题
Q:日志文件过大占满磁盘怎么办?
A:Ranger默认开启了日志自动压缩归档功能,当日志大小超过20MB时自动压缩,最多保留20个压缩文件。如果磁盘仍被占满,可检查是否有未归档的大日志文件,手动清理历史日志或调整日志级别为WARN减少日志输出量。
Q:如何在审计日志中查找特定用户的鉴权记录?
A:可使用grep命令按用户名、资源路径或IP地址过滤,例如:grep "testuser" /var/log/Bigdata/audit/ranger/rangeradmin/rangeradmin-audit.log。
Q:DEBUG级别日志输出量很大,排查完成后如何恢复?
A:按照本文修改日志级别章节的步骤,将日志级别重新设置为INFO。建议排查完成后及时恢复,避免大量DEBUG日志影响系统性能和磁盘空间。
相关文档
- 了解如何查看Ranger审计信息,请参考查看Ranger审计信息。
- 如果Ranger服务出现异常,请参考Ranger故障排除。
- 了解Ranger性能调优方法,请参考Ranger性能调优。
- 了解如何配置Ranger权限策略,请参考Ranger权限策略配置示例。