nagios nrpe插件读文件时注意是否拥有权限
虽然不早了但还是想记录一下,毕竟这个问题让我浪费了一个小时啊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读的文件的权限。
晚安,这一晚上。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY