MySQL Server 警示指令碼,mysqlserver

來源:互聯網
上載者:User

MySQL Server 警示指令碼,mysqlserver

Author:Skate
Time:2014/12/30

 

MySQL Server 郵件警示

:http://download.csdn.net/detail/wyzxg/8314745

 

實現方法:

根據系統的load和session來度量系統現在是否負載過高,如果發現負載過高就郵件警示(當然也可以短線警示),把系統目前狀態、啟動並執行慢sql、鎖狀態以HTML郵件警示,
還可以攜帶附件。


基本用法:

[root@skatedb66 tmp]# ./dbmysqlalarm --help
usage: Alarm Mysql server performance v0.1 ,(C) Copyright Skate 2014
       [-h] --dhost DHOST --duser DUSER --dpasswd DPASSWD --dport DPORT
       --dname DNAME --mail MAIL --mhost MHOST --muser MUSER --mpasswd MPASSWD
       --msubject MSUBJECT --mconfig MCONFIG --mkey MKEY --mfield MFIELD
       --attach ATTACH --dload DLOAD --dsession DSESSION

optional arguments:
  -h, --help           show this help message and exit
  --dhost DHOST        = Monitored database ip address
  --duser DUSER        = Monitored database user
  --dpasswd DPASSWD    = Monitored database password
  --dport DPORT        = Monitored database port
  --dname DNAME        = Monitored database name
  --mail MAIL          = Monitored database name
  --mhost MHOST        = Mail server host address
  --muser MUSER        = Mailbox username
  --mpasswd MPASSWD    = Mailbox password
  --msubject MSUBJECT  = Mail subject
  --mconfig MCONFIG    = Mail recipient configuration file
  --mkey MKEY          = The key that mail recipient configuration file
  --mfield MFIELD      = The field that mail recipient configuration file
  --attach ATTACH      = Email attachment
  --dload DLOAD        = Alarm threshold load
  --dsession DSESSION  = Alarm threshold session of database


例子:

# ./dbmysqlalarm \
--mconfig=/tmp/dist/list \
--muser=dba \
--mpasswd=pass\
--mhost=localhost \
--msubject='Real-time Snapshot of Database' \
--attach='/tmp/dist/list' \
--dhost=127.0.0.1 \
--dpasswd=passwd \
--dport=3306 \
--dname=mysql \
--mkey=dba \
--mfield=email \
--mail=dba@skate.com \
--dload=0 \
--dsession=0 

 

參數說明

--mconfig=/tmp/dist/list                       ///指定設定檔的路徑,如果有配置中心的話,完全可以不用設定檔,參考:http://blog.csdn.net/wyzxg/article/details/41972683
--muser=dba                                    ///郵箱的使用者名稱
--mpasswd=passwd                               ///郵箱的密碼
--mhost=localhost                              ///郵件伺服器的地址,如果用本機發郵件,請指定localhost
--msubject='Real-time Snapshot of Database'    /// 郵件的標題
--attach='/tmp/dist/list'   ///附件的路徑名
--dhost=127.0.0.1           ///資料庫的IP地址
--duser=root                 ///資料庫的使用者名稱
--dpasswd=passwd             ///資料庫的密碼
--dport=3306                ///資料庫的連接埠號碼
--dname=mysql                  ///串連的資料庫名,不對資料庫做任何操作,這裡指定mysql,當然你也可以建立個test庫
--mkey=dba                  ///設定檔的key
--mfield=email              ///設定檔的field
--mail=dba@skate.com       ///指定的發送郵件的郵箱地址
--dload=0                   ///觸發警示的load閥值
--dsession=0                ///觸發警示的資料庫session數量


注意,首先用mysql -u -p -h -P 測試是否可以串連資料庫

 

設定檔格式
# more list
[command]
mysqlmon=/tmp/dist/mysqlmon

[phone]
dba:135******;135********;123*********
skate:138*******

[email]
dba:skate1@skate.com;skate2@skate.com;skate3@skate.com
skate:skate@skate.com


部署方法

直接解壓縮下載檔案,然後把解壓後的檔案mysqlmon的絕對路徑更新到設定檔即可。

# tar -zxvf dbalarm.tar.gz

 

支援版本:因為這裡引用了"anysql"大俠的mysqlmon,經我測試發現mysqlmon目前在centos6下支援5.5.29以上的mysql(和anysql確認,是因為他用5.6用戶端編譯引起這個問題的).。anysql大哥的工具非常好用,大家也可以適用下。

 

來張警示郵件的圖片:

 

 

------end-----

 

 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.