日志清理相关问题

请问 /log目录下的tidb-.log 和tikv.log. 的日志文件时可以安全的手工删除吗? tidb是否包含日志容量限额的功能?超过一定大小自动清理?

我阅读了https://pingcap.com/docs-cn/v3.1/reference/configuration/tidb-server/configuration-file/ 这个介绍中关于日志尺寸的部分,但是我在3.0.3里找不到对应的配置文件,我的文件结尾都是yml,不是toml。

  1. log file 是有参数控制自动清理的,TiDB 的可以参考这里:logfile
  2. 官方文档的指的是这个源码的 config 的文件: https://github.com/pingcap/tidb/blob/v3.0.3/config/config.toml.example 。另外如果要修改 ansible 内的配置模板的话可以修改
  3. 不建议直接手工清理 tidb.log tikv.log 这样会导致日志丢失的。

如果我需要修改 ansible的配置 ,把日志保留的数量降低,该怎么修改?我看了那个logfile的配置,但是找不到修改的位置。说的更清楚一点,我不知道要改哪个文件。因为我搜了所有的yml,都找不到类似的参数。

我是要修改 ansible 的 conf/tidb.yml 来设置这些参数吗?没有的就手动添加?

  1. 你可以先根据自己的需要修改 {tidb_ansible_path}/conf/tidb.yml 里面 log.file 部分的参数,详细每个参数项的意思可以参考:https://pingcap.com/docs-cn/v3.1/reference/configuration/tidb-server/configuration-file/#logfile
  file:
    # Max log file size in MB. (upper limit to 4096MB).
    # max-size: 300

    # Max log file keep days. No clean up by default.
    # max-days: 0

    # Maximum number of old log files to retain. No clean up by default.
    # max-backups: 0

    # Rotate log by day
    # log-rotate: true
  1. 修改完毕之后执行 ansible-playbook rolling_update.yml -t tidb 进行配置的刷新,注意如果该操作会滚动重启 TiDB server ,如果前面没有 LB ,请避开业务高峰操作。

已经解决。谢谢。