zabbix监控mysql示例脚本

  • check_mysql.sh
#!/bin/bash
HOST='127.0.0.1'
PORT='3306'
CONN="mysqladmin -h ${HOST} -P ${PORT}"

if [ $# -ne "1" ]; then
	echo "arg error!"
fi

case $1 in
	update)
		result=$($CONN status | cut -d ":" -f2 | awk '{print $1}')
		echo $result
		;;
	Com_update)
		result=$($CONN extended-status | grep -w "Com_update"| cut -d "|" -f3 | sed 's/ //g')
		echo $result
		;;
	Slow_queries)
		result=$($CONN status |cut -d ":" -f5 | awk '{print $1}')
		echo $result
		;;
	Com_select)
		result=$($CONN extended-status |grep -w "Com_select" | cut -d "|" -f3 | sed 's/ //g')
		echo $result
		;;
	Com_rollback)
		result=$($CONN extended-status |grep -w "Com_rollback" | cut -d "|" -f3 | sed 's/ //g')
		echo $result
		;;
	Questions)
		result=$($CONN status|cut -f4 -d":"| awk '{print $1}')
		echo $result
		;;
	Com_insert)
		result=$($CONN extended-status |grep -w "Com_insert"| cut -d "|" -f3 | sed 's/ //g')
		echo $result
		;;
	Com_delete)
		result=$($CONN extended-status |grep -w "Com_delete"| cut -d "|" -f3 | sed 's/ //g')
		echo $result
		;;
	Com_commit)
		result=$($CONN extended-status |grep -w "Com_commit"| cut -d "|" -f3 | sed 's/ //g')
		echo $result
		;;
	Bytes_sent)
		result=$($CONN extended-status |grep -w "Bytes_sent"| cut -d "|" -f3 | sed 's/ //g')
		echo $result
		;;
	Bytes_received)
		result=$($CONN extended-status |grep -w "Bytes_received"| cut -d "|" -f3 | sed 's/ //g')
		echo $result
		;;
	Com_begin)
		result=$($CONN extended-status |grep -w "Com_begin"| cut -d "|" -f3 | sed 's/ //g')
		echo $result
		;;
	*)
		echo "Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|C
om_begin)"
		;;
esac
posted @ 2021-01-28 21:29  那就这样吧~  阅读(66)  评论(0编辑  收藏  举报