事件背景:
今天在检查服务器监控的时候,发现有一个running-slave提示的是not supported,如下
what's mean???
所有的Items不是都调用的一个脚本吗?为何别的都可以查到数据,这个没有返回值呢
手动在服务器上执行以下看看
问题原因:
根据上图来看问题原因很清楚,access denied嘛,为什么会denied呢?看下脚本是怎么运行的吧
tom@123456:/etc/zabbix/scripts/percona# cat get_mysql_stats_wrapper.sh ............ITEM=$1HOST=localhostDIR=`dirname $0`CMD="/bin/php -q $DIR/ss_get_mysql_stats.php --host $HOST --items gg"CACHEFILE="/tmp/$HOST-mysql_cacti_stats.txt"if [ "$ITEM" = "running-slave" ]; then # Check for running slave RES=`HOME=~zabbix mysql -e 'SHOW SLAVE STATUS\G' | egrep '(Slave_IO_Running|Slave_SQL_Running):' | awk -F: '{print $2}' | tr '\n' ','` if [ "$RES" = " Yes, Yes," ]; then echo 1 else echo 0 fi exitelif [ -e $CACHEFILE ]; then # Check and run the script TIMEFLM=`stat -c %Y /tmp/$HOST-mysql_cacti_stats.txt` TIMENOW=`date +%s` if [ `expr $TIMENOW - $TIMEFLM` -gt 60 ]; then rm -f $CACHEFILE $CMD 2>&1 > /dev/null fielse $CMD 2>&1 > /dev/nullfi# Parse cache fileif [ -e $CACHEFILE ]; then cat $CACHEFILE | sed 's/ /\n/g; s/-1/0/g'| grep $ITEM | awk -F: '{print $2}'else echo "ERROR: run the command manually to investigate the problem: $CMD"fi
听听官方的解释
赶紧检查一下自己服务器的配置,果然么有配置,配置好后再次检查
查看一下监控图
刚好收到短信报警提示slave ok,至此问题得到解决。
大家都检查一下自己服务器的环境吧,千万别让千里之堤,毁于蚁穴,细想这个问题还是很可怕的。
为了方便大家交流,本人开通了微信公众号,和QQ群291519319。喜欢技术的一起来交流吧