校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > 快速通過zabbix獲取數據庫連接的信息及部分擴展

快速通過zabbix獲取數據庫連接的信息及部分擴展

熱門標簽:藍點外呼系統 400電話申請方案 做外呼系統的公司違法嗎 烏海智能電話機器人 貴陽教育行業電話外呼系統 寧夏房產智能外呼系統要多少錢 在百度地圖標注車輛 撫順移動400電話申請 威海人工外呼系統供應商

背景

隨著應用系統的不斷增加,原本不告警的active threads,開始頻繁告警(一天2次左右)。雖然告警次數不多,而且該監控項舍得閾值不高(不超過50),但對于運維來說數據庫的threads-running是一個必須要重視的點。

一般告警出現在半夜,不可能靠人工去記錄threads-running過線后,到底哪些連接正在處理。市面上也沒好的工具能自動記錄這些數據,所以這時候就需要zabbix的action功能了。

zabbix配置

1. 定義監控項

這里偷個懶,直接使用了percona模板中Threads Running監控項:

2. 定義觸發器

同樣適用percona的觸發器設置:

3. 創建action

按照下圖的順序創建action:

4. action條件

A、B、C、D條件都滿足,才會觸發動作,這里盡量篩選的詳細點,免得出現zabbix錯誤調用的情況。

5. 完善操作內容

這里適用ssh方式,當然你也可以在類型欄使用自定義腳本選項,就是要多給zabbix客戶端賦sudo權限。

命令欄填的是/bin/sh /opt/connect.sh命令,這個很好理解,直接調用connect.sh腳本,具體腳本附在后文中。

6. 修改zabbix-agent配置

進入被監控服務器:

vim /etc/zabbix/zabbix_agentd.conf
    
    EnableRemoteCommands=1  #增加這項參數,意思是允許zabbix server遠程命令
    
service zabbix-agent restart

至此,zabbix相關的配置均已完成,接下來只需要將寫好的處理腳本放入/opt目錄即可。

功能腳本

這次要實現的是,在連接超過50個時,輸出到底是哪個賬號、哪個ip、在執行哪個sql等信息。腳本如下:

#!/bin/sh

    export PATH=$PATH:/usr/bin
    da=`date +%Y%m%d`
    dc=`date +%Y-%m-%d" "%H:%M:%S`
    
    echo $dc"-------------------------------我是分割線------------------------------------" >> /tmp/ok_$da.log
    
    /usr/local/mysql/bin/mysql -uroot -pXXX -e "select * from information_schema.PROCESSLIST where COMMAND != 'Sleep' order by TIME DESC;" >> /tmp/ok_$da.log

擴展

既然zabbix在報警時可以調用腳本,那是不是可以讓zabbix處理點更為復雜的工作?

數據庫連接、鎖、存儲引擎等信息

#!/bin/sh
export PATH=$PATH:/usr/bin
da=`date +%Y%m%d`
dc=`date +%Y-%m-%d" "%H:%M:%S`
echo $dc"-------------------------------我是分割線------------------------------------" >> /home/zabbix/engine_log/engine_log_$da.log
/usr/bin/mysql -hlocalhost -uroot -pXXX -e "show engine innodb status \G;" >> /home/zabbix/engine_log/engine_log_$da.log
echo -e "\n\n\n" >> /home/zabbix/engine_log/engine_log_$da.log
echo $dc"-------------------------------我是分割線------------------------------------" >> /home/zabbix/processlist/processlist_$da.log
/usr/bin/mysql -hlocalhost -uroot -pXXX -e "select * from information_schema.processlist where time>=0 and command !='sleep' order by time desc \G;" >> /home/zabbix/processlist/processlist_$da.log
echo -e "\n\n\n" >> /home/zabbix/processlist/processlist_$da.log
echo $dc"-------------------------------我是分割線------------------------------------" >> /home/zabbix/lock/lock_$da.log
/usr/bin/mysql -hlocalhost -uroot -pXXX -e "select 'Blocker' role, p.id, p.user, left(p.host, locate(':', p.host) - 1) host, tx.trx_id, tx.trx_state, tx.trx_started, timestampdiff(second, tx.trx_started, now()) duration, lo.lock_mode, lo.lock_type, lo.lock_table, lo.lock_index, tx.trx_query, tx.trx_tables_in_use, tx.trx_tables_locked, tx.trx_rows_locked from information_schema.innodb_trx tx, information_schema.innodb_lock_waits lw, information_schema.innodb_locks lo, information_schema.processlist p where lw.blocking_trx_id = tx.trx_id and p.id = tx.trx_mysql_thread_id and lo.lock_trx_id = tx.trx_id union all select 'Blockee' role, p.id, p.user, left(p.host, locate(':', p.host) - 1) host, tx.trx_id, tx.trx_state, tx.trx_started, timestampdiff(second, tx.trx_started, now()) duration, lo.lock_mode, lo.lock_type, lo.lock_table, lo.lock_index, tx.trx_query, tx.trx_tables_in_use, tx.trx_tables_locked, tx.trx_rows_locked from information_schema.innodb_trx tx, information_schema.innodb_lock_waits lw, information_schema.innodb_locks lo, information_schema.processlist p where lw.requesting_trx_id = tx.trx_id and p.id = tx.trx_mysql_thread_id and lo.lock_trx_id = tx.trx_id \G;" >> /home/zabbix/lock/lock_$da.log
echo -e "\n\n\n" >> /home/zabbix/lock/lock_$da.log
val=`/usr/bin/mysql -hlocalhost -uroot -pXXX -N -e "show variables like 'general_log'" |awk '{print $2}'`
if [ $val = 'OFF' ];
then
        /usr/bin/mysql -hlocalhost -uroot -pXXX -e "set global general_log=0;"
else
        exit 0;
fi

在數據庫壓力大的時候,可以記錄哥哥鎖信息、連接信息還有存儲引擎信息。所謂壓力大,我們可以將觸發項定以下幾個:

  • threads-running:running的連接過多
  • Innodb Row Lock Waits:鎖等待時間過長
  • Com Select\Update\Insert\Delete:增產查改過多
  • Incoming\Outgoing network traffic:進出流量不正常時

這些都可以作為觸發條件。

殺死長sql

#!/bin/sh
export PATH=$PATH:/usr/bin
da=`date +%Y%m%d`
dc=`date +%Y-%m-%d" "%H:%M:%S`
user="root"
password="XXX"
val=`mysql -u$user -p$password -N -e "select count(*) from information_schema.processlist where time>=180 and command ='Query' and user in ('job_name','report')" | awk '{print $1}'`
if [ $val -gt 0 ];
then
        echo $dc"-------------------------------我是分割線------------------------------------" >> /home/zabbix/kill_log/long_query_$da.log
        mysql -u$user -p$password -e "select * from information_schema.processlist where time>=180 and command ='Query' and user in ('job_name','report') order by time desc \G;" >> /home/zabbix/kill_log/long_query_$da.log
        echo -e "\n\n\n" >> /home/zabbix/kill_log/long_query_$da.log
        count=`mysql -u$user -p$password -N -e "select id from information_schema.processlist where time>=180 and command ='Query' and user in ('job_name','report')"`
        for id in $count;
        do
           mysql -u$user -p$password -e "kill $id"
        done
else
        exit 0;
fi

有時候一些job或者報表sql會長時間在那里執行,導致影響到其他業務,我們可以簡單做下判斷,當數據庫連接激增,多數是由于有大sql夯在那里,這時候可以讓zabbix調用這個腳本去殺死特殊賬號發起的超過180秒的sql。至于kill sql的條件可以在腳本中自定義。

當然了,像這種明知需要很長時間才能處理完的sql,應該放在從庫中去執行。

刪除無用日志

#!/bin/sh
logdir='/mysql/logs'
binlog='/mysql/binlog'
var_percent=`df -h |grep var|grep dev/sda|awk '{print $5}'|awk -F% '{print $1}'`
if [ -z $var_percent ] || [ $var_percent -lt 90 ];then
        echo "never mind"
        exit 0
fi
date >>$binlog/del_list.txt
list=`ls -l --time-style='+%Y-%m-%d %H:%M:%S' $binlog/mysql-bin.0?????|awk '{print $6","$7","$8}'`
for i in $list
do
        filetime=`echo $i|awk -F "," '{print $1,$2}'`
        filetimestamp=`date -d "$filetime" +%s`
        cur_time=`date +%s`
        if [ $(($cur_time - $filetimestamp)) -gt $((3*24*3600)) ];then
                filename=`echo $i|awk -F, '{print $3}'`
                echo "$filename will delete">>$binlog/del_list.txt
                /bin/rm $filename
        fi
done
if [ -f $logdir/mysql-slow.log ];then
        slow_log_size=`stat $logdir/mysql-slow.log|grep 'Size:'|awk -F ':' '{print $2}'|awk '{print $1}'`
        if [ $slow_log_size -gt $((2*1024*1024*1024)) ];then
                echo "$logdir/mysql-slow.log">>$logdir/del_list.txt
                /bin/rm $logdir/mysql-slow.log
        fi
fi

有些時候binlog和slowlog沒設置自動刪除,時間長了會把磁盤空間占滿。這時候我們可以關聯Free disk space on /mysql監控項,查過閾值后,調用上面的腳本去清理無用的binlog和slowlog。

在有些依賴binlog的情況下,比如主從中斷,之后還需要恢復的情況下,需要謹慎使用。

參考鏈接 :

通過zabbix獲取數據庫連接的信息及部分擴展 :https://www.jb51.net/article/207412.htm

到此這篇關于通過zabbix獲取數據庫連接的信息及部分擴展的文章就介紹到這了,更多相關zabbix數據庫連接內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:泰州 松原 蕪湖 那曲 慶陽 朝陽 銅川 周口

巨人網絡通訊聲明:本文標題《快速通過zabbix獲取數據庫連接的信息及部分擴展》,本文關鍵詞  快速,通過,zabbix,獲取,數據庫,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《快速通過zabbix獲取數據庫連接的信息及部分擴展》相關的同類信息!
  • 本頁收集關于快速通過zabbix獲取數據庫連接的信息及部分擴展的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产精品久久久久久久久图文区 | 国产成人精品aa毛片| 欧美日本在线一区| 久久国产免费看| 国产精品免费av| 欧美日韩一级视频| 人人超碰91尤物精品国产| 久久伊99综合婷婷久久伊| 成a人片国产精品| 亚洲超丰满肉感bbw| 亚洲精品一区在线观看| 91免费小视频| 精品一区二区在线观看| 亚洲欧洲美洲综合色网| 欧美老女人第四色| 大陆成人av片| 日韩福利视频导航| 亚洲欧洲av色图| 日韩欧美一级二级三级久久久| 成人黄色国产精品网站大全在线免费观看 | 日韩精品一区二区三区视频播放| 国产成人精品影院| 日韩中文字幕区一区有砖一区| 欧美激情在线观看视频免费| 欧美视频在线一区二区三区| 国产一区91精品张津瑜| 亚洲成人av一区| 国产精品麻豆99久久久久久| 欧美岛国在线观看| 在线电影国产精品| 在线看一区二区| 国产成人精品一区二区三区四区| 亚洲国产成人高清精品| 亚洲视频狠狠干| 国产欧美一区在线| 日韩免费电影一区| 欧美亚洲综合另类| 91丨porny丨最新| 国产电影一区在线| 国产一区视频在线看| 三级精品在线观看| 亚洲一区国产视频| 成人欧美一区二区三区黑人麻豆| 久久久久久久久一| 精品国产露脸精彩对白| 欧美一区日韩一区| 日韩三级高清在线| 精品久久国产97色综合| 欧美日韩国产一二三| 色欲综合视频天天天| 91香蕉视频在线| 色综合久久久久| 色av一区二区| 在线观看成人免费视频| 色哟哟一区二区在线观看| 99国内精品久久| 在线免费av一区| 91麻豆精品国产综合久久久久久| 欧美日韩国产综合草草| 欧美日韩久久久一区| 欧美一区二区私人影院日本| 欧美成人女星排名| 久久亚洲一区二区三区明星换脸| 久久久不卡影院| 综合婷婷亚洲小说| 亚洲一区在线视频| 日韩专区在线视频| 国产福利一区在线| 色乱码一区二区三区88| 69堂成人精品免费视频| 精品国产一区a| 中文字幕制服丝袜成人av| 一区二区三区四区在线| 性久久久久久久久久久久| 久久精品国产亚洲一区二区三区| 久久99精品久久久久久国产越南 | 911精品国产一区二区在线| 欧美区一区二区三区| 精品国产精品一区二区夜夜嗨| 国产日韩欧美麻豆| 亚洲午夜免费电影| 久88久久88久久久| 99久久免费视频.com| 欧美群妇大交群中文字幕| 国产亚洲精品7777| 一区av在线播放| 九九九精品视频| 色拍拍在线精品视频8848| 日韩欧美国产一区二区三区| 成人欧美一区二区三区黑人麻豆| 人人精品人人爱| 日本道免费精品一区二区三区| 精品国产乱码久久久久久图片| 亚洲裸体xxx| 久久99久久精品| 欧美日韩另类国产亚洲欧美一级| 国产性色一区二区| 日本午夜一区二区| 91福利国产精品| 久久久久久久久岛国免费| 亚洲国产成人精品视频| 成人综合在线视频| 日韩午夜精品电影| 亚洲综合成人在线| av毛片久久久久**hd| 精品久久人人做人人爱| 一区二区三区四区亚洲| 成人免费毛片片v| 亚洲精品在线一区二区| 蜜臀av国产精品久久久久 | 在线欧美一区二区| 中国av一区二区三区| 久久国产精品99精品国产| 欧美日韩1234| 午夜久久久久久| 日本精品一级二级| 亚洲人精品一区| aaa国产一区| 国产精品久久久久久亚洲毛片| 国产一区二区伦理片| 精品粉嫩aⅴ一区二区三区四区| 天堂在线一区二区| 欧美男同性恋视频网站| 亚洲国产中文字幕在线视频综合| 一本到不卡精品视频在线观看| 18成人在线观看| 91在线无精精品入口| 最新不卡av在线| 91麻豆视频网站| 一区二区免费看| 欧美午夜电影网| 午夜a成v人精品| 91精品久久久久久久久99蜜臂| 亚洲成人激情av| 欧美一区二视频| 国产一区不卡视频| 国产精品护士白丝一区av| 色综合天天综合网天天看片| 精品久久久影院| 成人自拍视频在线观看| 六月丁香婷婷久久| 老司机精品视频在线| 精一区二区三区| 欧美网站一区二区| 欧美亚洲一区三区| 欧美一级在线观看| 久久亚洲综合色一区二区三区| 国产午夜久久久久| 精品动漫一区二区三区在线观看| 国产电影精品久久禁18| 亚洲福利视频三区| 久久久久久亚洲综合| 欧美亚洲一区二区三区四区| 黑人巨大精品欧美一区| 亚洲女厕所小便bbb| 欧美本精品男人aⅴ天堂| 欧美日韩国产区一| 91久久精品一区二区| 色婷婷激情综合| 91免费国产在线| 欧美日韩你懂得| 欧美性猛交一区二区三区精品| av电影在线观看完整版一区二区 | 色吊一区二区三区| 韩国欧美一区二区| 韩国成人精品a∨在线观看| 精品午夜久久福利影院| 伦理电影国产精品| 国产一区二三区| 成人午夜激情在线| 精品视频色一区| 欧美美女一区二区在线观看| 在线视频国内一区二区| 国产精品色哟哟| 国产精品久久久久久久蜜臀| 中文字幕一区二区在线观看 | 国内成人自拍视频| 国产日韩欧美精品一区| 亚洲天堂av老司机| 欧美一区二区三区免费在线看| 成人激情综合网站| 日日摸夜夜添夜夜添国产精品 | ㊣最新国产の精品bt伙计久久| 欧美一卡2卡三卡4卡5免费| 色婷婷香蕉在线一区二区| 国产美女精品在线| 免费av网站大全久久| 亚洲国产成人porn| 亚洲综合激情小说| 综合婷婷亚洲小说| 日本一区二区三区四区| www国产精品av| 精品国产免费视频| 欧美一级日韩不卡播放免费| 欧美日韩亚洲丝袜制服| 欧洲精品在线观看| 91成人国产精品| 在线观看视频一区二区欧美日韩| 北条麻妃国产九九精品视频| 丁香六月久久综合狠狠色|