最近在搭建日志收集平台,将linux的部分日志收集到elasticsearch上通过kibana进行搜索展现,基本上是标准的ELK架构,但是agent端复用了已有的flume。在功能测试的时候,是将本地messages日志备份出来对备份的日志进行了切割测试。经过一周测试终于完成了,当时的内心是:

日志的切割,采用了linux自带的logrotate进行日志的切割。配置就不放了,主要就是去切割指定的文件,然后将切割的文件转移到agent收集工具监控的目录,然后将文件权限改一下就行。当功能性测试通过后,就需要进行正常的测试了,然后将切割的文件改为系统的messages日志,然后进行logrotate切割测试。然后崩溃的事情来了:

这是什么鬼!!!!!不是测试好好的吗???这到底是啥错啊?!!

当然作为一个坚强的小伙子,当经历过一段时间的WFK后,就果断的请来了谷歌大法了。

但是,当查了半天没结果的时候,在stackoverflow上看到有讨论说是logrotate的版本的BUG的时候,我整个人又。。。。。。。

当然作为一个坚强的小伙,我怎么可能真的去睡觉。在被卡了近半天以后,我决定还是去翻翻鸟哥linux的私房菜看看。然后看到了鸟哥linux私房菜里有这么一章《认识与分析日志文件》,然后我就通读里一遍。结果可想而知:

截取了其中一段内容如下:

加入了a这个属性之后,你的 /var/log/messages 登录文件从此就仅能被添加,而不能被删除,直到 root 以『 chattr -a /var/log/messages 』取消这个 a 的参数之后,才能被删除或移动喔!

也就是说,为了保证系统日志的准确性,linux对messages系统日志设置了只能追加不能删和移动,而logrotate需要将文件移动后新建一个新messages文件给系统。所以为了能用logrotate进行切割,我们需要先将messages文件的安全属性a给去掉,当然如果系统管理员直接将这个安全属性去掉的话,在生产环境来说还是不安全的设置。有什么办法能不需要管理员手工去调整安全权限呢?很多管理员第一想法是直接写个脚本去切割的时候改一下,切割完成后改回来不就完了。当然通过shell脚本是可以很好的完成,但是杀鸡焉用牛刀?这个时候logrotate的强大就体现出来了:logrotate可以在配置文件中配置logrotate启动前执行一些shell命令,然后logrotate启动后再执行一些shell命令。你看问题不是迎刃而解了吗?具体到详细的配置文件可以参考如下:

然后完美的完成了!logrotate可以完美切割日志文件,而不需要对当前messages的安全性做任何调整。何其方便!!!!

PS:还是要好好看书!还是要好好看书!还是要好好看书!重要的事情说三遍!

以上完成后,写个定时任务去跑就好了,然后可以到kibana上去搜索日志了:

以上,完美解决!

如果喜欢欢迎关注公共号:运维技术分享   后面会继续写一些自动化的东西和ELK的内容

logrotate测试_logrotate日志切割相关推荐

  1. logrotate测试_日志切割之Logrotate

    1.关于日志切割 日志文件包含了关于系统中发生的事件的有用信息,在排障过程中或者系统性能分析时经常被用到.对于忙碌的服务器,日志文件大小会增长极快,服务器会很快消耗磁盘空间,这成了个问题.除此之外,处 ...

  2. logrotate测试_logrotate 日志管理

    a.logrotate 简介 logrotate是一个日志管理程序,用来把旧的日志文件删除(备份),并创建新的日志文件,这个过程称为"转储". 我们可以根据日志的大小,或者根据其使 ...

  3. logrotate测试_logrotate日志转储

    logrotate日志转储 1.概述 日志文件是Linux系统中最重要的一种生成文件,它包含了系统中发生事件的所有信息,在排故和系统性能分析等过程中具有极大的价值.对于日志产生量比较大的服务器,存储的 ...

  4. logrotate测试_Logrotate日志管理工具

    导读 logrotate是一个日志管理程序,用来把旧的日志文件删除(备份),并创建新的日志文件,这个过程称为"转储".我们可以根据日志的大小,或者根据其使用的天数来转储. logr ...

  5. logrotate测试_日志轮询工具Logrotate的使用

    Lograte的作用 我们可以在 Linux中配置 logrotate 程序,它可以自动执行日志文件的轮换.压缩.删除和用邮件发出. 我们可以配置 logrotate 程序,以便每个日志文件可以在每天 ...

  6. logrotate测试_logrotate

    rsyslog.conf 是syslogd的多线程增强版,rsyslog负责写入日志,logrotate负责备份和删除日志,以及更新日志文件. logrotate logrotate可以自动对日志进行 ...

  7. 关于logrotate工具的日志切割

    logrotate是一个非常好的文件切割工具!! 具体配置如下: /var/log/debug.log{ daily            ; 每天转储 rotate 30        :保留30个 ...

  8. 运维中的日志切割操作梳理(Logrotate/python/shell脚本实现)

    对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己的轮 ...

  9. Linux logrotate日志切割详解

    1,对于Linux系统安全来说,日志文件是极其重要的工具.不知为何,我发现很多运维同学的服务器上都运行着一些诸如每天切分Nginx日志之类的CRON脚本,大家似乎遗忘了Logrotate,争相发明自己 ...

最新文章

  1. c语言main的作用是什么意思,c语言intmain()是什么意思
  2. 虚拟机centos7 识别不出网卡的解决方案
  3. Kotlin之?和!!最简单的理解
  4. 立体视觉–stereo correspondence(双目立体匹配)
  5. Python的基本编码规范
  6. c++根据二叉树的层次遍历建立二叉树_二叉树-层次遍历(C++)
  7. iOS11 tableview左滑到底禁用删除
  8. 【UVA213】Message Decoding(读入技巧+二进制十进制转换)
  9. linux下查看已经安装的jdk 并卸载jdk的方法
  10. 影视剪辑,Pr视频剪辑软件自学,界面介绍与自定义
  11. java表格标题栏_java使用poi自定义excel标题头并导出(springmvc+poi)
  12. vue 怎么销毁dom_Vue 中如何转移 Dom ?
  13. 英语字母表及其冠词用法
  14. 生信中的PCA ,PCoA
  15. swift android界面,使用 Swift 语言编写 Android 应用入门
  16. Android RecyclerView 实现快速滑动
  17. 上市公司融资约束SA测算以及结果(2000-2019)
  18. 全面剖析Redis Cluster原理和应用
  19. 斯坦福sr860锁相放大器原理介绍
  20. VS2008下载(包含中文MSDN)序列号 破解版【深海收藏】

热门文章

  1. 汉高拟将洗涤剂及家用护理业务部与化妆品/美容用品业务部合并为汉高消费品牌业务部;泰国尚泰奢华奥特莱斯购物村二期正式开业 | 知消...
  2. android 蓝牙 广播,android蓝牙BLE(三) —— 广播
  3. 语不惊人死不休-一针见血的名言
  4. Vue中,methods中调用filters里的过滤器
  5. 信息学奥赛一本通 1351:【例4-12】家谱树
  6. vue 上传下载删除附件 用到blob
  7. Linux查看Mac和IP地址
  8. 软件运行情况监视器_监视药物使用情况的智能手表
  9. 【小Y学算法】⚡️每日LeetCode打卡⚡️——1.两数之和
  10. AAA配置与管理——1