我需要找出nagios服务的历史记录。因此,我点击了服务,然后“查看此服务的历史记录”,但是只收到一个错误,上面写着“在当前日志文件中没有找到该服务的历史信息”。我查看了/usr/local/nagios/var中的日志文件,并找到了nagios.log,但该文件每天旋转一次,这似乎是合理的。该目录中还有许多其他的临时文件,其名称为nagios.tmp0-9a-z{6},我猜想这些文件是其他日子的滚动日志,但它们的格式不同,不太容易接受。我认为nagios只查看第一个日志文件,然后放弃。
那么,在维护日志旋转的同时,如何通过web界面查看整个历史呢?
发布于 2019-08-28 17:20:33
我建议运行类似以下内容(您可能希望调整实际grep的内容,以使搜索更具限制性,并/或在第一个在数字/-n排序之前进一步选择行的第二个grep之后,将其转换为第二个grep):
grep -rni "HOST;SERVICE" /usr/local/nagios/var | sort -n | perl -pe 's/(\d+)/localtime($1)/e' | gzip > /tmp/myservice.gz这一命令将:
/usr/local/nagios/var以下的任何内容(HOST;SERVICE)。/tmp/myservice.gz以供zless检查这个命令可能要花费很长的时间,所以如果您希望限制作用域,可以尝试实际使用grep (可能是2019*)的文件,并且/或者您也可以使用regex来通过UNIX时间戳来实现grep。
https://serverfault.com/questions/960918
复制相似问题