mysqladmin 监控脚本
#!/bin/bash
HostIp='10.xxx.xxx.xxx'
#Catg=$2
Catg='v2'
Systag='mysql'
sign=`python -c 'import crypt; import sys; print crypt.crypt(sys.argv[1],"itcac")' $HostIp`
#mysql_socket=`ps -ef | grep socket|grep -v grep |awk -F ' ' 'gsub(/--socket=/,"",$16) {print $16}'`
mysql_socket='/xxx/mysql56/sock/mysql.sock'
mysqladmin -hlocalhost -P3306 -uxxx -p'xxxxxx' extended-status -i1 --socket=${mysql_socket}|awk -v HostIp="$HostIp" -v Catg="$Catg" -v Systag="$Systag" -v Sign="$sign" '
BEGIN {
local_switch=0;
print "QPS Commit Rollback TPS Slow_queries Threads_con Threads_run Table_locks_waited row_lock_waits ";
print "------------------------------------------------------------------------------------------------------ ";
}
$2 ~ /Uptime$/ {uptime=$4;}
$2 ~ /Queries$/ {q=$4-lq;lq=$4;}
$2 ~ /Com_commit$/ {c=$4-lc;lc=$4;}
$2 ~ /Com_rollback$/ {r=$4-lr;lr=$4;}
$2 ~ /Slow_queries$/ {sq=$4-lsq;lsq=$4;}
$2 ~ /Table_locks_waited$/ {tlw=$4-ltlw;ltlw=$4;}
$2 ~ /Innodb_row_lock_waits$/ {rlw=$4-lrlw;lrlw=$4;}
$2 ~ /Threads_connected$/ {tc=$4;}
$2 ~ /Threads_running$/ {tr=$4;
if(local_switch==0)
{
local_switch=1;
count=0;
}
else
{
if(count>10)
{
count=0;
#print "------------------------------------------------------------------------------------------------------ ";
#print "QPS Commit Rollback TPS Slow_queries Threads_con Threads_run Table_locks_waited row_lock_waits ";
#print "------------------------------------------------------------------------------------------------------ ";
str2=sprintf("Uptime:%d QPS:%d Commit:%d Rollback:%d TPS:%d Slow_queries:%d Threads_Connected:%d Threads_running:%d Table_locks_waited:%d row_lock_waits:%d", uptime,q,c,r,c+r,sq,tc,tr,tlw,rlw);
curl_post=sprintf("vip=`dig xxx.xxx.we +short`; curl -H \"Host:xxx.xxx.we\" -d \"catg=%s&systag=%s&ip=%s&data=%s&sign=%s\" http://${vip}:8088/cacti", Catg, Systag, HostIp, str2, Sign);
system(curl_post);
}
else
{
count+=1;
str=sprintf("%-6d %-8d %-7d %-8d %-12d %-12d %-12d %-16d %-12d", q,c,r,c+r,sq,tc,tr,tlw,rlw);
}
}
}
'