mysql 效能收集
touch lastdat.txt
touch tempdat.txt
touch mystat.sh
chmod 755 mystat.sh
mysqladmin extended-status |grep -E 'Bytes_received>|Bytes_sent>|Com_delete>|Com_insert>|Com_select>|Com_update>|Connections>'|awk '{print $4}'>/root/tempdat.txt
byr=`sed -n '1p' /root/tempdat.txt`
bys=`sed -n '2p' /root/tempdat.txt`
del=`sed -n '3p' /root/tempdat.txt`
ins=`sed -n '4p' /root/tempdat.txt`
sel=`sed -n '5p' /root/tempdat.txt`
upd=`sed -n '6p' /root/tempdat.txt`
conn=`sed -n '7p' /root/tempdat.txt`
ct=`wc -l /root/lastdat.txt|awk '{print $1}'`
if [ $ct -eq 0 ]
then
echo $byr>/root/lastdat.txt
echo $bys>>/root/lastdat.txt
echo $del>>/root/lastdat.txt
echo $ins>>/root/lastdat.txt
echo $sel>>/root/lastdat.txt
echo $upd>>/root/lastdat.txt
echo $conn>>/root/lastdat.txt
else
val_new=$byr
val_old=`sed -n '1p' /root/lastdat.txt`
valbyr=`expr $val_new - $val_old `
valbyr=`expr $valbyr / 1024`
val_new=$bys
val_old=`sed -n '2p' /root/lastdat.txt`
valbys=`expr $val_new - $val_old `
valbys=`expr $valbys / 1024`
val_new=$del
val_old=`sed -n '3p' /root/lastdat.txt`
valdel=`expr $val_new - $val_old `
val_new=$ins
val_old=`sed -n '4p' /root/lastdat.txt`
valins=`expr $val_new - $val_old `
val_new=$sel
val_old=`sed -n '5p' /root/lastdat.txt`
valsel=`expr $val_new - $val_old `
val_new=$upd
val_old=`sed -n '6p' /root/lastdat.txt`
valupd=`expr $val_new - $val_old `
val_new=$conn
val_old=`sed -n '7p' /root/lastdat.txt`
valconn=`expr $val_new - $val_old `
echo `date +"%Y-%m-%d %k:%M:%S"`,$valbyr,$valbys,$valdel,$valins,$valsel,$valupd,$valconn>>/root/`hostname`.csv
echo $byr>/root/lastdat.txt
echo $bys>>/root/lastdat.txt
echo $del>>/root/lastdat.txt
echo $ins>>/root/lastdat.txt
echo $sel>>/root/lastdat.txt
echo $upd>>/root/lastdat.txt
echo $conn>>/root/lastdat.txt
fi
--------------------------------------------------------------------------
#catchsql.sh
log_dir=/usr/checklog
interval=3
#每3秒執行一次
wtlimit=10
#抓取執行時間超過10秒的sql
maxtime=20
#最慢SQL的時間報警限制
trap "exit;exit" 2
while [ 1 -eq 1 ]
do
mysql -e "show full processlist" |awk '$2!~/'"(system)"'/ {print $0}'|sed -n '2,$p'|sort -n -k 6 -r|awk '$6>'"$wtlimit"'&&$7!="NULL"&&$6!="NULL"&&$5!="Sleep"&&$5!="Binlog" {print $0}'>$log_dir/topsql.log
ct=`cat $log_dir/topsql.log|wc -l`
if [ $ct -gt 0 ]
then
echo '-------------------------------------------------------------------------------------------------------------------------------------------------------'>>$log_dir/slowsql.log
echo `date "+%Y-%m-%d %H:%M:%S"`>>$log_dir/slowsql.log
echo '-------------------------------------------------------------------------------------------------------------------------------------------------------'>>$log_dir/slowsql.log
cat $log_dir/topsql.log| tee -a >>$log_dir/slowsql.log
mt=`cat $log_dir/topsql.log |sed -n '1p'|awk '{print $6}'`
if [ $mt -gt $maxtime ]
then
echo "-----------------------------------------------------------------------------------------------">>$log_dir/`date +%Y%m%d`.log
echo "`date +%k:%M:%S` Error:some SQL elapse too long ,pls check slowsql.log.Time Threshold: $maxtime">>$log_dir/`date +%Y%m%d`.log
echo "-----------------------------------------------------------------------------------------------">>$log_dir/`date +%Y%m%d`.log
cat $log_dir/topsql.log>>$log_dir/`date +%Y%m%d`.log
fi
fi
sleep $interval
done
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/79686/viewspace-1016769/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ELK收集mysql_slow.logMySql
- mysql如收集統計資訊MySql
- MySQL 5.5 統計資訊收集MySql
- 提高java程式效能之垃圾收集 (轉)Java
- MySQL MHA資訊的收集【Filebeat+logstash+MySQL】MySql
- 安全及效能測試工具(網站收集)網站
- 設定nmon 每天自動收集效能資訊
- MySQL系統如何收集統計資訊MySql
- 怎樣收集errorstacks來論斷效能問題Error
- oracle 10g awr效能收集工具的用法Oracle 10g
- 技術分享 | MySQL Shell 收集 MySQL 診斷報告(上)MySql
- 01_效能測試的關鍵效能指標及收集方式(windows)指標Windows
- 【SQL】Oracle資料庫資料量及效能資訊收集SQLOracle資料庫
- mysql效能優化MySql優化
- MySQL SQL效能分析MySql
- MySQL——效能優化MySql優化
- MySQL索引效能分析MySql索引
- MYTFA(MYSQL 診斷資訊收集工具)介紹MySql
- 高效能mysql筆記---mysql伺服器效能剖析[-2-]MySql筆記伺服器
- MySQL 效能優化方案MySql優化
- Mysql效能優化一MySql優化
- MySQL常用效能指標MySql指標
- MySQL系列:效能優化MySql優化
- MySQL 效能優化技巧MySql優化
- MySQL 效能調優技巧MySql
- MySQL 提高Insert效能MySql
- MYSQL 寫效能測試MySql
- MySQL效能優化指南MySql優化
- MySQL索引效能測試MySql索引
- MySQL sys效能監控MySql
- iOS App 效能資料自動化收集討論、徵集貼iOSAPP
- EXHPROF-php效能資料自動收集及分析平臺PHP
- oracle實用sql(10)--用statspack收集備庫效能資料OracleSQL
- MySQL 索引的型別——《高效能MySQL》MySql索引型別
- ELK構建MySQL慢日誌收集平臺詳解MySql
- MySQL效能相關引數MySql
- mysql簡單效能測試MySql
- mysql效能監控相關MySql