用groovry做简单的nginx日志实时监控脚本     

在实际工作中,如果你公司有运维部门,那么这种监控功能其实是运维做的。

往往可能你公司就那么几个开发,所以运维还是得自己来。

如果你们的系统比较大,做了分布式,访问量也很大,建议你使用ELK(ElasticSearch, Logstash, Kibana)搭建实时日志分析平台。

说出来也比较高大上,如果是小型的就直接写个脚本监控得了。

这边我们用Groovy来写脚本,Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。

先简单的介绍下实现原理,我们这边的nginx日志量也不算特别大,每天大概3G左右,如果每次用文件流去读一遍,然后判断里面的内容是否有异常,然后发邮件或者短信,这样是行不通的,刚开始还可以,文件越来越大,读一次把所有行都遍历一遍都要几十分钟了,还在怎么实时监控呀。

还有呢就是可以用日志收集器,实时将日志收集存到数据库里面,然后用脚本去数据库中读取数据做分析监控。

我这边用的是直接读取脚本,然后把有异常信息的内容

扫描下方二维码,加入Java方向技术交流讨论群。暗号:加群