如何管理/旋转/删除mesos日志

jdg4fx2g  于 2021-06-26  发布在  Mesos
关注(0)|答案(2)|浏览(411)

我使用以下命令启动mesos主容器:

ExecStart=/usr/bin/docker run --rm \
    -e MESOS_HOSTNAME={{ ansible_hostname }} \
    -e MESOS_IP={{mesos.external_ip}} \
    -e MESOS_QUORUM={{mesos.quorum}} \
    -e MESOS_ZK={{mesos.zk}} \
    -e MESOS_LOG_DIR=/var/log/mesos -v /var/log/mesos:/var/log/mesos \
    -e MESOS_WORK_DIR=/var/lib/mesos -v {{mesos_work_dir}}:/var/lib/mesos \
    --name mesos-master --net host {{docker.master}}

我得到了大量的mesos原木:mesos原木

lrwxrwxrwx. 1 root root     60 Apr 19 17:14 mesos-master.INFO -> mesos-master.vdorct1.invalid-user.log.INFO.20170419-141458.6
-rw-r--r--. 1 root root  23983 Apr 19 16:46 mesos-master.vdorct1.invalid-user.log.INFO.20170419-134210.6
-rw-r--r--. 1 root root  48678 Apr 19 17:14 mesos-master.vdorct1.invalid-user.log.INFO.20170419-135536.6
-rw-r--r--. 1 root root   6595 Apr 19 17:14 mesos-master.vdorct1.invalid-user.log.INFO.20170419-141436.6
-rw-r--r--. 1 root root   8240 Apr 19 17:14 mesos-master.vdorct1.invalid-user.log.INFO.20170419-141444.6
-rw-r--r--. 1 root root 122324 Apr 19 18:14 mesos-master.vdorct1.invalid-user.log.INFO.20170419-141458.6
-rw-r--r--. 1 root root    253 Apr 19 16:42 mesos-master.vdorct1.invalid-user.log.WARNING.20170419-134210.

我需要管理这个日志,定义要保留多少文件和/或保留日志多少天。我可以使用bash+cron访问它。但这是不可接受的,因为公司的政策:我必须使用linux工具。
我试着配置logrotate。但它不能仅用于删除文件:它只能删除旋转的文件或所有文件。
可能我可以强制mesos在一个文件中写入日志:例如,仅

mesos-master.vdorct1.invalid-user.log.INFO

而不是

mesos-master.vdorct1.invalid-user.log.INFO.20170419-134210.6 
mesos-master.vdorct1.invalid-user.log.INFO.20170419-135536.6 
...

在这种情况下,我可以配置logrotate。
所以问题是:如何使用standart linux工具自动清理mesos日志?或者我如何强制mesos在单个文件中编写日志?
谢谢!

4szc88ey

4szc88ey1#

您可以在/var/log/mesos中尝试这样的操作:

find /var/log/mesos -mtime +7 -name '*log.INFO.*' | xargs --no-run-if-empty rm

调整以匹配信息|警告|错误等

bqjvbblv

bqjvbblv2#

可以使用带有olddir参数的logrotate实现类似的功能:

/var/log/mesos/*.*.* {
 olddir /var/log/mesos/backup
 maxsize 2000k
 daily
 maxage 7
 copytruncate
 postrotate
 find  /var/log/mesos /var/log/mesos/backup -mtime +7 -delete
 endscript
}

在logrotate运行之前,必须从olddir参数创建文件夹。

相关问题