美文网首页爱编程,爱生活
Shell 监控日志变化

Shell 监控日志变化

作者: 熬夜的猫头鹰 | 来源:发表于2018-06-16 23:44 被阅读27次

    shell 监控日志变化

    问题背景

    系统运维工作中经常需要手动的确认一下系统是否正常运行,通常就是监控一下日志是否输出。

    问题解决

    服务器很多,频繁的进入日志目录很不方便

    考虑使用linux 的软连接:

    ln -s /app/tomcat/log/catalina.out /app/log 
    
    

    这样只需要

    
    tail -f /app/log
    
    

    问题进阶-1

    上边的方案确实节省了一些时间,但是还不够,考虑是使用监控日志的变化,判断应用是否出现了假死

    • 使用命令watch
    -d, --differences[=cumulative]       高亮显示变动
    -n, --interval=                      周期(秒)
    -t 或-no-title                       会关闭watch命令在顶部的时间间隔
    
    

    Example : watch -n 1 -d netstat -ant

    具体事例

    #watch uptime
    #watch -t -d uptime
    #watch -d -n 1 netstat -ntlp
    #watch -d ’ls -l | fgrep goface’   //监测goface的文件
    #watch -t -differences=cumulative uptime
    #watch -n 60 from  //监控mail
    #watch -n 1 ”df -i;df”  //监测磁盘inode和block数目变化情况
    #watch -n 60 -d du -ah //查看usb3.0拷贝到该目录下面的速度
    
    

    我们可以使用这个有趣命令观察日志文件是否变化:

    watch -n 1 -d -t  'ls -l catalina.out'
    
    

    日志文件的大小会高亮显示变化,说明系统在正常运行(当然这里只是一种假设,并不考虑异常输出的问题,主要是介绍这个命令)

    如果系统中存在多个tomcat,我们可以在同时监控多个命令

    
    watch -n 1 -d -t  'ls -l /tomcat/tomcat01/log/catalina.out;ls -l /tomcat/tomcat02/log/catalina.out'
    
    

    相关文章

      网友评论

        本文标题:Shell 监控日志变化

        本文链接:https://www.haomeiwen.com/subject/ildieftx.html