滴滴夜鶯怎么監(jiān)控mysql 滴滴監(jiān)控設備

如何動態(tài)監(jiān)控mysql binlog

有兩種方法,一種方法使用mysql的check table和repair table 的sql語句,另一種方法是使用MySQL提供的多個myisamchk, isamchk數據檢測恢復工具。前者使用起來比較簡便。推薦使用。

我們擁有10余年網頁設計和網站建設經驗,從網站策劃到網站制作,我們的網頁設計師為您提供的解決方案。為企業(yè)提供成都網站建設、成都做網站、微信開發(fā)、小程序開發(fā)、移動網站建設HTML5、等業(yè)務。無論您有什么樣的網站設計或者設計方案要求,我們都將富于創(chuàng)造性的提供專業(yè)設計服務并滿足您的需求。

1. check table 和 repair table

登陸mysql 終端:

mysql -uxxxxx -p dbname

check table tabTest;

如果出現的結果說Status是OK,則不用修復,如果有Error,可以用:

repair table tabTest;

進行修復,修復之后可以在用check table命令來進行檢查。在新版本的phpMyAdmin里面也可以使用check/repair的功能。

2. myisamchk, isamchk

其中myisamchk適用于MYISAM類型的數據表,而isamchk適用于ISAM類型的數據表。這兩條命令的主要參數相同,一般新的系統(tǒng)都使用MYISAM作為缺省的數據表類型,這里以myisamchk為例子進行說明。當發(fā)現某個數據表出現問題時可以使用:

myisamchk tablename.MYI

進行檢測,如果需要修復的話,可以使用:

myisamchk -of tablename.MYI

關于myisamchk的詳細參數說明,可以參見它的使用幫助。需要注意的時在進行修改時必須確保MySQL服務器沒有訪問這個數據表,保險的情況下是最好在進行檢測時把MySQL服務器Shutdown掉。

另外可以把下面的命令放在你的rc.local里面啟動MySQL服務器前:

[ -x /tmp/mysql.sock ] /pathtochk/myisamchk -of /DATA_DIR/*/*.MYI

其中的/tmp/mysql.sock是MySQL監(jiān)聽的Sock文件位置,對于使用RPM安裝的用戶應該是/var/lib/mysql/mysql.sock,對于使用源碼安裝則是/tmp/mysql.sock可以根據自己的實際情況進行變更,而pathtochk則是myisamchk所在的位置,DATA_DIR是你的MySQL數據庫存放的位置。

需要注意的時,如果你打算把這條命令放在你的rc.local里面,必須確認在執(zhí)行這條指令時MySQL服務器必須沒有啟動!檢測修復所有數據庫(表)

如何實現實時監(jiān)控mysql數據庫主從同步的狀態(tài)

1、增加一個用戶同步使用的帳號:

GRANT FILE ON *.* TO ‘backup’@'10.10.8.112' IDENTIFIED BY ‘1234’;

GRANTREPLICATION SLAVE ON *.* TO ‘backup’@'10.10.8.112' IDENTIFIED BY ‘1234’;

賦予10.10.8.112也就是Slave機器有File權限,只賦予Slave機器有File權限還不行,還要給它REPLICATION SLAVE的權

限才可以。

2、增加一個數據庫作為同步數據庫:

create databbse test;

3、創(chuàng)建一個表結構:

create table mytest (username varchar(20),password varchar(20));

4、修改配置文件:

修改A的/etc/my.cnf文件,在my.cnf配置項中加入下面配置:

server-id = 1 #Server標識

log-bin

binlog-do-db=test #指定需要日志的數據庫

5、重起數據庫服務:

service mysqld restart

查看server-id:

show variable like ‘server_id’;

實例:

mysql show variables like 'server_id';

+---------------+-------+

| Variable_name | Value |

+---------------+-------+

| server_id | 1 |

+---------------+-------+

1 row in set (0.00 sec)

6、用show master status/G命令看日志情況。

正常為:

mysql show master status/G

nagios怎么監(jiān)控mysql死鎖

工作原理:

利用特定的用戶定期訪問指定的mysql數據庫。當不能訪問或連不通時則報警。

1.在生產庫上安裝nagios插件

安裝略

備注:編譯完顯示一定要有mysql支持,不然沒有check_mysql插件

2.配置mysql

----建立nagdb專用數據庫

mysql create database nagdb default CHARSET=utf8;

Query OK, 1 row affected (0.01 sec)

mysql grant select on nagdb.* to 'nagios'@'%';

Query OK, 0 rows affected (0.00 sec)

mysql update mysql.user set 'Password' = PASSWORD('nagios') where 'User'='nagios';

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Password' = PASSWORD('nagios') where 'User'='nagios'' at line 1

mysql update mysql.user set Password = PASSWORD('nagios') where user='nagios';

Query OK, 1 row affected (0.03 sec)

Rows matched: 1 Changed: 1 Warnings: 0

mysql flush privileges;

Query OK, 0 rows affected (0.00 sec)

----用以下命令來驗證一下:

[root@node2 etc]# /usr/local/nagios/libexec/check_mysql -H 192.168.1.152 -u nagios -d nagdb -p nagios

Uptime: 3374 Threads: 1 Questions: 11 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.003

備注:如果出現:/usr/local/nagios/libexec/check_mysql: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

請查看$MYSQL_HOME/lib

[root@node2 lib]# ln -s ./libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so.18

3.配置nrpe.cfg

[root@node2 etc]# tail /usr/local/nagios/etc/nrpe.cfg

command[check_mysql]=/usr/local/nagios/libexec/check_mysql -H 192.168.1.152 -u nagios -d nagdb -p nagios //加入此行

4.配置nagios服務端

[root@node1 etc]# cat services.cfg //加入下面內容

define service{

use local-service

host_name node2

service_description mysql

check_command check_nrpe!check_mysql

notifications_enabled 1

}

5.重啟nrpe和服務端的nagios

如何監(jiān)控MySQL

首先介紹下 pt-stalk,它是 Percona-Toolkit 工具包中的一個工具,說起 PT 工具包大家都不陌生,平時常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于這個工具包,這里就不多介紹了。

pt-stalk 的主要功能是在出現問題時收集 OS 及 MySQL 的診斷信息,這其中包括:

1. OS 層面的 CPU、IO、內存、磁盤、網絡等信息;

2. MySQL 層面的行鎖等待、會話連接、主從復制,狀態(tài)參數等信息。

而且 pt-stalk 是一個 Shell腳本,對于我這種看不懂 perl 的人來說比較友好,腳本里面的監(jiān)控邏輯與監(jiān)控命令也可以拿來參考,用于構建自己的監(jiān)控體系。

三、使用

接著我們來看下如何使用這個工具。

pt-stalk 通常以后臺服務形式監(jiān)控 MySQL 并等待觸發(fā)條件,當觸發(fā)條件時收集相關診斷數據。

觸發(fā)條件相關的參數有以下幾個:

function:

°?默認為 status,代表監(jiān)控 SHOW GLOBAL STATUS 的輸出;

°?也可以設置為 processlist,代表監(jiān)控 show processlist 的輸出;

variable:

°?默認為 Threads_running,代表 監(jiān)控參數,根據上述監(jiān)控輸出指定具體的監(jiān)控項;

threshold:

°?默認為 25,代表 監(jiān)控閾值,監(jiān)控參數超過閾值,則滿足觸發(fā)條件;

°?監(jiān)控參數的值非數字時,需要配合 match 參數一起使用,如 processlist 的 state 列;

cycles:

°?默認為 5,表示連續(xù)觀察到五次滿足觸發(fā)條件時,才觸發(fā)收集;

連接參數:host、password、port、socket。

其他一些重要參數:

iterations:該參數指定 pt-stalk 在觸發(fā)收集幾次后退出,默認會一直運行。

run-time:觸發(fā)收集后,該參數指定收集多長時間的數據,默認 30 秒。

sleep:該參數指定在觸發(fā)收集后,sleep 多久后繼續(xù)監(jiān)控,默認 300 秒。

interval:指定狀態(tài)參數的檢查頻率,判斷是否需要觸發(fā)收集,默認 1 秒。

dest:監(jiān)控數據存放路徑,默認為 /var/lib/pt-stalk。

retention-time :監(jiān)控數據保留時長,默認 30 天。

daemonize:以后臺服務運行,默認不開啟。

log:后臺運行日志,默認為 /var/log/pt-stalk.log。

collect:觸發(fā)發(fā)生時收集診斷數據,默認開啟。

°?collect-gdb:收集 GDB 堆棧跟蹤,需要 gdb 工具。

°?collect-strace:收集跟蹤數據,需要 strace 工具。

°?collect-tcpdump:收集 tcpdump 數據,需要 tcpdump 工具。

網頁題目:滴滴夜鶯怎么監(jiān)控mysql 滴滴監(jiān)控設備
文章源于:http://bm7419.com/article44/dohgeee.html

成都網站建設公司_創(chuàng)新互聯,為您提供建站公司、面包屑導航網站建設、外貿建站、網站排名、云服務器

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯

外貿網站制作