ocp日志问题

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】ocp
【 使用版本 】4.2.2
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!


这种xxx.tmp日志是什么?
logging.file.max-history设置了30天,tmp日志没有被自动删除。

根据文档库中的信息,OCP的日志文件通常位于/home/admin/logs/ocp目录下,其中包括ocp.log等日志文件。关于您提到的.tmp日志文件,这些通常是临时文件,可能是OCP在生成或处理日志文件时产生的中间文件。

关于您提到的logging.file.max-history设置为30天,但.tmp日志文件没有被自动删除的问题,这可能是因为:

  1. 日志清理策略:OCP的日志清理策略主要由系统参数ocp.agent.ob-cleaner.config控制。虽然您设置了logging.file.max-history为30天,但这可能只影响正式的日志文件,而不是临时文件(.tmp)。您可以检查ocp.agent.ob-cleaner.config的具体配置,确保它涵盖了所有类型的日志文件。

  2. 临时文件处理.tmp文件通常是临时文件,可能不会被日志清理策略自动处理。您可以手动删除这些文件,或者在OCP的配置中添加特定的规则来处理这些临时文件。

建议您检查OCP的配置文件,特别是ocp.agent.ob-cleaner.config,确保它包含了对.tmp文件的清理规则。如果需要进一步的帮助,可以联系OceanBase的技术支持团队。

希望这些信息对您有所帮助!如果有其他问题,请随时提问。

详情请参考:

  1. 下载日志
  2. 查询日志
  3. 查看巡检报告
  4. 主机日志告警
  5. 部署后检查
  6. 升级后检查
  7. base_backup_fail 数据备份任务失败
  8. 日志服务
  9. SET_OPT_TRACE_PARAMETER
  10. 日志与监控
  11. 统计信息收集监控诊断
  12. 自动清理过期备份
  13. 管理历史统计信息
  14. 使用 OceanBase 导数工具从 OceanBase 集群 Oracle 租户迁移数据到 MySQL 租户

这些.tmp文件应该是在滚动日志文件时OCP生成的临时文件,可以配置ocp.agent.ob-cleaner.config清理或者单独写脚本清理下

没找到ocp.agent.ob-cleaner.config这个参数呢

感谢您的反馈。确实,ocp.agent.ob-cleaner.config 并不是一个标准的 OCP 配置参数。在这种情况下,.tmp 文件的清理可能需要通过其他方式来实现。

解决方案

  1. 手动删除
    您可以定期手动删除这些 .tmp 文件。例如,可以编写一个简单的脚本来定期清理这些文件:

    #!/bin/bash
    find /path/to/log/directory -name "*.tmp" -type f -mtime +30 -exec rm -f {} \;
    

    将上述脚本保存为 cleanup_tmp_logs.sh,然后设置一个定时任务(cron job)来定期执行这个脚本:

    crontab -e
    

    添加以下行来每天凌晨 1 点执行清理脚本:

    0 1 * * * /path/to/cleanup_tmp_logs.sh
    
  2. 配置日志轮转
    您可以配置日志轮转工具(如 logrotate)来自动管理日志文件,包括 .tmp 文件。编辑 /etc/logrotate.conf 或创建一个新的日志轮转配置文件(例如 /etc/logrotate.d/ocp):

    /path/to/log/directory/*.log {
        daily
        rotate 30
        compress
        delaycompress
        missingok
        notifempty
        create 0640 admin admin
        postrotate
            /usr/bin/find /path/to/log/directory -name "*.tmp" -type f -mtime +30 -exec rm -f {} \;
        endscript
    }
    
  3. 检查 OCP 日志清理策略
    虽然 ocp.agent.ob-cleaner.config 不是一个标准参数,但您可以检查 OCP 的日志清理策略,确保它涵盖了所有类型的日志文件。您可以在 OCP 的配置文件中查找相关的日志清理配置,或者在 OCP 的管理界面中查看是否有相关的日志清理设置。

总结

  1. 手动删除:编写脚本定期删除 .tmp 文件。
  2. 配置日志轮转:使用 logrotate 工具自动管理日志文件。
  3. 检查 OCP 日志清理策略:确保 OCP 的日志清理策略涵盖了所有类型的日志文件。

希望这些方法能帮助您解决 .tmp 文件未被自动删除的问题。如果有其他问题或需要进一步的帮助,请随时提问。

更多信息请查看:

  1. 查询主机的 OCP Agent 详情
  2. 使用图形化界面部署 OCP
  3. 管理 OBProxy 集群参数
  4. OCP-Agent 运维脚本使用说明
  5. 查询软件包列表
  6. 查看参数列表
  7. strict_check_os_params
  8. obshell-sdk-go 快速上手
  9. OBProxy 集群参数管理
  10. default_compress_func
  11. 在 Kubernetes 环境中部署 OceanBase 集群
  12. OBProxy 参数说明

(小助手的答复已结束,如未能解决您的问题,请继续提问并等待其他同学的回复,谢谢!)

我查询了下,你这个版本还没有这个参数,建议写个脚本加定时任务清理吧,
可参考下小助手提供的脚本

#!/bin/bash
find /path/to/log/directory -name “*.tmp” -type f -mtime +30 -exec rm -f {} ;