docker中使用logrotate对logstash日志切分和过期

昨天发现爬虫的日志太大了,居然每个容器里面,日志都大10G了。   这边的环境是docker,日志收集用的是logstash,切分用的是logrotate 。  日志超过1G之后,logstash会占用的cpu 内存会更多,要及时的清理日志,不然光是logstash的那个java进程就要卡死你了。   在此之前docker里面的日志切分,我都是自己写切分程序,经过我的测试,在性能方面比logrotate差不少的。 不信,你试试?  另外需要注意,有些后端的进程,可能共享了一个logger的fd,这时候,千万不要直接mv,然后再创建一个,不然会引起程序找不到fd,造成崩溃。  madan,天太热,没心情扯淡了…    


http://xiaorui.cc/?p=1518


这是我的Dockerfile配置,我这边精简了很多。 

这是我启动容器后,启动的脚本.  因为是在docker里面,我就不用crontab来管理logrotate切分了。 

这是我logrotate的配置文件.  这配置文件很好理解,一共切分10次,每次100M


对Golang感兴趣的朋友可以加群: 278517979 !!!
另外如果大家觉得文章对你有些作用! 如果想赏钱,可以用微信扫描下面的二维码, 感谢!
另外再次标注博客原地址  xiaorui.cc

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">