nagios nrpe插件读文件时注意是否拥有权限

来源:互联网 发布:udp端口打开 编辑:程序博客网 时间:2024/05/21 07:46

虽然不早了但还是想记录一下,毕竟这个问题让我浪费了一个小时啊made


最然不怎么地 先把这个小脚本贴上来 这样说的更清楚。。


[root@mail ~]# cat /usr/local/nagios/libexec/check_mysql_log 
#!/bin/bash

#This shell need improve

check_rete=600
time_now_sec=`date +"%s"`

error_log=`tail -100 /var/log/mysqld.log | grep -i "ERROR" | tail -1`
if [ ! -z ${error_log:0:1} ];then
error_log_time=`echo $error_log | awk '{print $1" "$2}'`
error_time_sec=`date -d"$error_log_time" +"%s"`
if [ $((time_now_sec-error_time_sec)) -lt $((check_rete)) ];then
echo "CRITICAL - Found ERROR in mysql.log"
exit 2
else
echo "OK1 - mysql.log not found error"
        exit 0
fi
else
echo "OK2 - mysql.log not found error"
exit 0
fi


其实这个小脚本最开始是为了检查mysql中有没有坏表。在检查时先读取了mysql的日志文件,在本地测试都正常,(root身份执行的。。已经没这个意识了)

然后加入服务,nrpe调用的时候 死活打印"OK2 - mysql.log not found error",我还寻思见了鬼 ,大晚上的。

然后改脚本把变量打印出来,同样的,通过nrpe调用时什么都打不出来,。。。。。。。。。。。。。。。哦,没读的权限吧?


[root@mail ~]# ll /var/log/mysqld.log 
-rw-r----- 1 mysql mysql 41472 Jul  5 00:12 /var/log/mysqld.log


默认640

改成644 或者把nagios加入mysql组,重启客户端nrpe,监控端测试,得到了预期结果。


按说selinux关了呢关了怎么跟这还有关系,我一直纳闷着。。。谁能解释下


总之注意nrpe读的文件的权限。


晚安,这一晚上。。

0 0
原创粉丝点击