在linux监控系统日志,可以用rsyslog,但rsyslog不管应用服务的日志,要简单实现实时监控远程系统日志应该怎么搞?(注意:实时、简单)
利用tail命令可以持续更新,加上ssh的远程命令,以及cron,加上对关键字的简单脚本就可以啦。
1、先实现ssh免登录
略,参考其他现成的吧:
Ubuntu 16.04主机之间ss免密码登录://m.ajphoenix.com/linux/23456.html
如何实现SSH无密码登录://m.ajphoenix.com/linux/12157.html
其中比较奇怪的是,如果不加 -t rsa参数,我没试成功,照说应该是一样的。真郁闷,记得以前可以的。
一度怀疑是主机名解析问题,结果不是,rsa pub里的主机名一点关系没有,改成其他的也没影响。
2、后台远程执行tail,以tomcat为例
nohup ssh xxx@xx.xx.x.xxx tail -F /home/xxx/tomcat/logs/catalina.out >> abc.log 2>&1 &
这样我们就获得了一个远程日志abc.log,需要的话多起几个可以监控多个日志以及多个服务器的日志
有这个日志就可以做其他监控的事情了
3、关键字过滤和告警
略,关键字过滤和业务相关,邮件告警前段时间写过。
4、由于ssh tail可能会断开,需要另外的监控去关注该进程情况,甚至做个重新启动tail的操作。
略
5、日志会不断增长要定期对log文件处理
略
本文永久更新地址://m.ajphoenix.com/linux/23552.html