事件背景:
今天在检查服务器监控的时候,发现有一个running-slave提示的是not supported,如下
what's mean???
所有的Items不是都调用的一个脚本吗?为何别的都可以查到数据,这个没有返回值呢
手动在服务器上执行以下看看
问题原因:
根据上图来看问题原因很清楚,access denied嘛,为什么会denied呢?看下脚本是怎么运行的吧
tom@123456:/etc/zabbix/scripts/percona# cat get_mysql_stats_wrapper.sh
......
......
ITEM=$1
HOST=localhost
DIR=`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
exit
elif [ -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
fi
else
$CMD 2>&1 > /dev/null
fi
# Parse cache file
if [ -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。喜欢技术的一起来交流吧