首批通过分布式安全可靠测评,为关键业务系统打造
各组件日志清理策略
更新时间:2024-01-22 01:56
为了防止长期不清理日志占用大量的磁盘空间并影响数据库运行性能,需要定期对日志进行清理。本文整理了 OceanBase 各组件的日志清理策略。
OBServer 日志清理策略
可以在 OCP 中开启 ob_cleaner 自动清理功能。
或者通过设置 OBServer 日志清理参数来清理日志。
a.
enable_syslog_recycle配置项默认值为 false 时表示回收日志前可容纳的日志文件数量中不包含重启前的日志。命令如下。```shell obclient> ALTER SYSTEM SET enable_syslog_recycle=true; ```b.设置
max_syslog_file_count配置项为 100 启用自动回收之前保留的日志文件数量,max_syslog_file_count配置项默认值为 0 时表示不自动清理。每个日志文件最大为 256 MB,如果磁盘空间不足,可以适当调小该配置项。命令如下:```shell obclient> ALTER SYSTEM SET max_syslog_file_count=100; ```
OBProxy 日志清理策略
可以通过设置以下参数来控制 OBProxy 的日志清理。
log_file_percentage:用于设置 OBProxy 的日志阈值,超过该阈值会进行日志清理,默认为 80%。示例命令如下。ALTER SYSTEM SET log_file_percentage=75;log_dir_size_threshold:日志目录最大可用空间,默认为 10G。示例命令如下。obclient> ALTER SYSTEM SET log_dir_size_threshold=15G;max_log_file_size:日志文件最大大小,默认为 256M。示例命令如下。obclient> ALTER SYSTEM SET max_log_file_size= 200M;ODP 日志清理策略与清理
- ODP Server 容器里的 admin 用户下制定清理策略,如占本地磁盘的 90% 开始清理,每秒清理 20M,直到清理到 90% 以下。
- ODP Server 容器里的 admin 用户下设定
zclean.sh脚本定时清理任务。示例如下:
* * * * * /bin/bash /home/admin/logs/zclean.sh >> /home/admin/logs/zclean.log 2>&1
OCP 日志清理策略
ocp 日志清理由 ocp-agent 按照一定规则来清理 OcenaBase 运行目录下 log 子目录。
当目录所在磁盘使用比例超过阈值(默认 80%),按照天数和保留文件比例来删除日志文件,具体可以参考 agent module_config 下 ob_logcleaner_module.yaml 配置。
OMS 各个组件的日志位置与清理策略
OMS 各个组件的日志位置信息如下:
Console 组件日志的默认目录为
/home/admin/logs/ghana/Ghana。CM 组件日志的默认目录为
/home/admin/logs/cm/log。Store 组件日志的默认目录为
/home/ds/store/store{port}/log。Full-Import/Incr-Sync 组件日志的默认目录为
/home/ds/run/{name}/logs。Full-Verification 组件日志的目录为
/home/ds/run/{name}/logs。Supervisor 组件日志的目录为
/home/admin/logs/supervisor/。
OMS 各个组件清理策略,方法如下。
在 OMS 管理控制台根据保留日志的要求设置相应日志清理任务。
ODC 日志清理策略
ODC 桌面版本地目录日志路径。
ODC V3.3.0 及之后的版本
Windows 系统日志路径
%USERPROFILE%\AppData\Roaming\odc\logs\下的server和client子目录,路径中的%USERPROFILE% 通常为 C:\Users{username}\。Mac 系统日志路径
~/Library/Application Support/odc/logs/下的server和client子目录,路径中的~通常为/Users/{username}。
ODC V2.3.0~V3.2.x 版本
Windows 系统日志路径
%USERPROFILE%\AppData\Roaming\odc\下的logs和javaLog子目录,路径中的%USERPROFILE%通常为C:\Users{username}\。Mac 系统日志路径
~/Library/Application Support/odc/下的logs和javaLog子目录,路径中的~通常为/Users/{username}。
ODC V2.2.x 及之前的版本
Windows 系统日志路径
%USERPROFILE%\AppData\Roaming\odc-sql-console\logs,路径中的%USERPROFILE%通常为C:\Users{username}\。Mac 系统日志路径
/Users/{user}/Library/Application Support/odc-sql-console/logs下的logs和javaLog子目录 。
注意
桌面版无提供调整日志配置的方法,日志配置是打包在 jar 内的。
Web 版 ODC 日志路径和文件
日志路径。
a. 登录宿主机,执行以下命令进入 ODC Docker。
b. 查看 odc docker image name。
docker ps -a --format "{{.Names}}" | grep odcc. 进入 odc docker,假设 docker image name 为 odc。
IMAGE_NAME=odc && docker exec -it ${IMAGE_NAME} shDocker 中
/opt/odc/log/即为 Web 版 ODC 的日志路径。日志文件。
a. 进入日志文件目录。
cd /opt/odc/logb. 列出当前目录下的文件和子目录的详细信。
sh-4.2# ls -l输出结果如下。
total 540 -rw-r--r-- 1 root root 9062 May 13 15:23 gc.log.0.current -rw-r--r-- 1 root root 523802 May 13 15:23 odc.log注意
ODC WEB 版日志配置文件默认路径为
/opt/odc/conf/log4j2.xml,如需调整日志清理策略,可修改此文件,修改日志配置不需要重启 odc 进程,30 秒生效。