爱编程,爱生活

Shell 监控日志变化

2018-06-16  本文已影响27人  熬夜的猫头鹰

shell 监控日志变化

问题背景

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

问题解决

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

考虑使用linux 的软连接:

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

这样只需要


tail -f /app/log

问题进阶-1

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

-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'

上一篇 下一篇

猜你喜欢

热点阅读