Nebula能够控制日志文件总容量和循环写日志文件吗?

研究了一下 glogs 库,现在 3.x 版本的 nebula 使用的 glogs v0.5 版本确实不支持上面的 logcleansecs 的 flag 来控制自动清理的时间,但是代码中有提供如下的接口按天来清理过期的日志:

google::EnableLogCleaner(int overdue_days);

但是这个接口在现在的 nebula 的 log 配置相关的代码中并没有显式调用,后面可以 PR 增加这个设置。目前如果想完成日志自动清理的任务,可以启动一个 cron job 来自动清理,比如配置 crontab 增加一条:

0 0 */5 * * find /path/to/nebula/logs/dir -type f -iname 'nebula-graphd.*.log.INFO.*' -mtime +5 -delete 

每5天删除修改时间5天以上的 nebula-graphd 的 INFO 日志,不过上面这样清理还是要依赖把 timestamp_in_logfile_name max_log_size 打开。

1 个赞