这是我要监视的日志文件:
/test/James-2018-11-16_15215125111115-16.15.41.111-appserver0.log
我希望Nagios读取此日志文件,以便我可以监视特定的字符串。
问题出在 15215125111115 上,这是生成的随机ID
这是Nagios在其中检查 Logfile 路径的脚本:
可穿戴设备:
HOSTNAMEIP=$(/bin/hostname -i)
DATE=$(date +%F)
..
CHECK = $(/ usr / lib64 / nagios / plugins / check_logfiles / check_logfiles --tag ='failorder'--logfile = / test / james-$ {date +“%F”} __- $ {HOSTNAMEIP} -appserver0.log ....
我在nagios中得到以下输出:
could not find logfile /test/James-2018-11-16_-16.15.41.111-appserver0.log
15215125111115 该数字始终是随机生成的,但我不知道如何让nagios进行识别。有没有办法为此添加变量?我尝试添加一个星号“ *”,但这没用。
任何想法都会受到赞赏。
答案 0 :(得分:0)
--tag failorder --type rotating::uniform --logfile /test/dummy \
--rotation "james-${date +"%F"}_\d+-${HOSTNAMEIP}-appserver0.log"
如果添加“ -v”,则可以看到内部发生的情况。类型rotating :: uniform告诉check_logfiles轮换方案对于文件名在当前日志和轮换归档之间没有区别。 (您经常发现xyz..log之类的内容)。 check_logfile的作用是查看日志文件应该位于的目录。在/ test / dummy中,它仅使用目录部分。然后,它获取/ test中的所有文件,并将文件名与--rotation参数进行比较。匹配的文件按修改时间排序。因此,check_logfiles知道哪个问题文件最近已更新,最新文件被认为是当前日志文件。在此文件中,check_logfiles搜索criticalpattern。 格哈德