mysql運(yùn)行監(jiān)控_第1頁(yè)
mysql運(yùn)行監(jiān)控_第2頁(yè)
mysql運(yùn)行監(jiān)控_第3頁(yè)
mysql運(yùn)行監(jiān)控_第4頁(yè)
mysql運(yùn)行監(jiān)控_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 MySQL Monitoring ChinaUnix網(wǎng)友技術(shù)交流 曹金成 NetSeekEmail:- 2009-3-281 MySQL Monitoring 一、如何有效監(jiān)控?監(jiān)控的目的 二、基本監(jiān)控解決方案(基礎(chǔ)數(shù)據(jù)收集) 三、高級(jí)解決方案(數(shù)據(jù)庫(kù)健康狀態(tài),優(yōu)化) 四、MySQL性能相關(guān)交互式監(jiān)控工具 五、相關(guān)資源參考2 一 、如何有效監(jiān)控?一、如何有效監(jiān)控?監(jiān)控的目的? 1 、服務(wù)健康監(jiān)測(cè)(存活,故障告警.) 2 、監(jiān)控系統(tǒng)采集數(shù)據(jù),依據(jù)數(shù)據(jù)進(jìn)行調(diào)優(yōu) 3 二、 基本監(jiān)控解決方案二、基本監(jiān)控解決方案(收集系統(tǒng)信息) top 、vmstat 、iostat 、mpstat 、mytop 、

2、dstata 、free 、/proc/. 、mstat 、mtop .命令行工具分析系統(tǒng)資源使用狀況.4 三、高級(jí)監(jiān)控解決方案 三、高級(jí)監(jiān)控解決方案 1、Nagios相關(guān):(收集數(shù)據(jù)庫(kù)信息及健康狀態(tài),對(duì)數(shù)據(jù)庫(kù)調(diào)整優(yōu)化) check_mysql 推薦 nagios-mysql-plugins-0.3 適當(dāng)選擇 check_mysql_health 重點(diǎn)介紹推薦 由于時(shí)間關(guān)系本PPT只重點(diǎn)介紹一下Nagios相關(guān)的插件腳本. 重點(diǎn)介紹一下check_mysql_health監(jiān)控?cái)?shù)據(jù)庫(kù)調(diào)優(yōu)。 2、MySQL Activity Report 基于rrdtool * * 演示網(wǎng)站5 三、高級(jí)監(jiān)控解決方

3、案 三、高級(jí)監(jiān)控解決方案 3、CACTI * MySQL模板: 4、RRD 參考資料: * * * * 5、Munin * .6 Nagios check_mysql #cd /usr/local/nagios/libexec/ # ./check_mysql help /查看使用說明Usage: check_mysql -d database -H host -P port -s socket -u user -p password -SOptions: -h, -help Print detailed help screen -V, -version Print version infor

4、mation -H, -hostname=ADDRESS Host name, IP Address, or unix socket (must be an absolute path) -P, -port=INTEGER Port number (default: 3306) -s, -socket=STRING Use the specified socket (has no effect if -H is used) -d, -database=STRING Check database with indicated name -u, -username=STRING Connect u

5、sing the indicated username -p, -password=STRING Use the indicated password to authenticate the connection = IMPORTANT: THIS FORM OF AUTHENTICATION IS NOT SECURE! grant all privileges - on *.* - to identified by linuxtone;Query OK, 0 rows affected (0.00 sec)mysql flush privileges;Query OK, 0 rows af

6、fected (0.00 sec)8 Nagios check_mysql示例:在監(jiān)控機(jī)上.#cd /usr/local/nagios/libexec/連接204查看數(shù)據(jù)庫(kù)狀態(tài):#./check_mysql -H 192.168.169.204 -u netseek -p linuxtoneUptime: 2146510 Threads: 1 Questions: 61155591 Slow queries: 325 Opens: 1273 Flush tables: 1 Open tables: 767 Queries per second avg: 28.491連接數(shù)據(jù)庫(kù)123查看./ch

7、eck_mysql -H 192.168.169.123 -u netseek -p linuxtone -S -w 60 -c 600Uptime: 35349 Threads: 1 Questions: 4022 Slow queries: 0 Opens: 38 Flush tables: 1 Open tables: 32 Queries per second avg: 0.114 Slave IO: Yes Slave SQL: Yes Seconds Behind Master: 0OK,在命令行下都能正常連接數(shù)據(jù)庫(kù):9Check_mysql Nagios配置# vi comman

8、ds.cfg 添加如下:#check_mysqldefine command command_name check_mysql command_line $USER1$/check_mysql -H $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$ /仔細(xì)看參數(shù)傳遞與上面的命令行對(duì)應(yīng). #check_slavedefine command command_name check_slave command_line $USER1$/check_mysql -H $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$ -S -w $ARG5$ -c $AR

9、G6$ 10Check_mysql Nagios配置#vi sh-wt- 給上海網(wǎng)通兩臺(tái)DB服務(wù)器配置上mysql數(shù)據(jù)庫(kù)檢測(cè): 在自己定的的配置文件里,添加如下服務(wù)段.#check_mysqldefine service host_name dbss-master service_description check_mysql check_command check_mysql!192.168.169.122!3306!netseek!linuxtone #check slavedefine service host_name dbss-slave service_description ch

10、eck_slave check_command check_slave!192.168.169.123!3306!netseek!linuxtone!60!600 11 Nagios check_mysqlcheck_mysql監(jiān)控演示效果Check_mysql S 模塊可以很好的檢測(cè)mysql replication slave的健康狀態(tài).mysqlshow slave stautsG*是否工作 Slave_IO_running: YES Slave_SQL_running: YES*延遲情況 Sencodes_behind_master12 nagios-mysql-plugins選擇性的

11、使用此插件來配合監(jiān)控工作# wget # tar zxvf nagios-mysql-plugins-0.3.tar.gz# cd nagios-mysql-plugins-0.3# chmod a+x *# mv * /usr/local/nagios/libexec插件解釋:check_db_mysql.pl 檢測(cè)mysql是否運(yùn)行.check_errorlog_mysql.pl 檢測(cè)數(shù)據(jù)庫(kù)下的錯(cuò)誤日志perf_mysql.pl 收集性能數(shù)據(jù),類似后面要講的check_mysql_healthreplication相關(guān).check_repl_mysql_cnt_slave_hosts.pl

12、 /檢測(cè)復(fù)制相關(guān)。check_repl_mysql_hearbeat.plcheck_repl_mysql_io_thread.plcheck_repl_mysql_read_exec_pos.plcheck_repl_mysql_readonly.plcheck_repl_mysql_seconds_behind_master.plcheck_repl_mysql_sql_thread.pl13 nagios-mysql-plugins./check_db_mysql.pl -h 192.168.169.204 -u netseek -p linuxtone -port 3306編寫comm

13、and define command command_name check_db_mysql command_line $USER1$/check_db_mysql.pl -h $ARG1$ -u $ARG2$ -p $ARG3$ -port $ARG4$ 服務(wù)端配置: check_command check_db_mysql!192.168.169.204!netseek!linuxtone!3306 14 check_mysql_health 一、安裝check_mysql_health 官方網(wǎng)站: # wget # tar zxvf check_mysql_health-2.0.3.ta

14、r.gz # cd check_mysql_health-2.0.3 # ./configure -prefix=/usr/local/nagios -with-nagios-user=nagios - with-nagios-group=nagios -with-perl -with-state # make & make install 注:check_mysql_health (check_mysql_perf的替代方案,官方不再支持 check_mysql_perf) 詳細(xì)參見: 15 check_mysql_health二、check_mysql_health 插件使用說明 # cd

15、 /usr/local/nagios/libexec/ # ./check_mysql_health -help Check various parameters of MySQL databases Usage: check_mysql_health -v -t -hostname -port | -socket -username -password -mode -method mysql check_mysql_health -h | -help check_mysql_health -V | -version 16 check_mysql_health . Options: -host

16、name the database servers hostname -port the databases port. (default: 3306) -socket the databases unix socket. -username the mysql db user -password the mysql db users password -database the databases name. (default: information_schema) -warning the warning range -critical the critical range 17 che

17、ck_mysql_health .-mode the mode of the plugin. select one of the following keywords: connection-time (Time to connect to the server) 連接到服務(wù)器的時(shí)間. uptime (Time the server is running) MySQL服務(wù)器運(yùn)行的時(shí)間 threads-connected (Number of currently open connections) 數(shù)據(jù)庫(kù)服器當(dāng)前打開的連接 threadcache-hitrate (Hit rate of the

18、 thread-cache) 線程緩存命中率 mysql replication 相關(guān)段 slave-lag (Seconds behind master) 判斷slave落后于master多少秒 slave-io-running (Slave io running: Yes) 表明Slave復(fù)制正常運(yùn)行 slave-sql-running (Slave sql running: Yes) 表明Slave復(fù)制正常運(yùn)行 用check_mysql 模塊來替代這些功能更,check_mysql是用C寫的執(zhí)行速度更快. -check-slave ./check_mysql -H 192.168.169

19、.123 -u netseek -p linuxtone -S 來解決18 check_mysql_health. 查詢緩存相關(guān) qcache-hitrate (Query cache hitrate) 查詢命中率,這個(gè)比率越高則表明服務(wù)器的SELECT 查詢性能就越好 qcache-lowmem-prunes (Query cache entries pruned because of low memory) 由于內(nèi)存較小從緩存刪除的查詢數(shù)量 增大query_cache_size的值,以減小lowmem,增加緩存命中率 keycache-hitrate (MyISAM key cache h

20、itrate)n key緩存命中率 如果命中率低,則調(diào)大key_buffer_size InnoDB Cache命中率 bufferpool-hitrate (InnoDB buffer pool hitrate) Innodb 緩沖池命中率 bufferpool-wait-free (InnoDB buffer pool waits for clean page available) Innodb的緩行沖池等待清理頁(yè). log-waits (InnoDB log waits because of a too small log buffer) 因?yàn)樘og緩沖區(qū)導(dǎo)致inndob log等待

21、. 19 check_mysql_health tablecache-hitrate (Table cache hitrate) 表緩存命中率 table-lock-contention(Table lock contention) 連接鎖表率 table_locks_waited/table_locaks_immediate table_locak_waited:不能立即獲得的表的鎖表次數(shù) table_locak_immediate: 立即獲得的表的鎖表次數(shù). 小于1%較優(yōu),如果1%需要引起注意,3% 性能問題. index-usage (Usage of indices) 索引使用情況.

22、tmp-disk-tables (Percent of temp tables created on disk) 臨時(shí)表創(chuàng)建. slow-queries (Slow queries) 慢查詢 long-running-procs (long running processes) 長(zhǎng)期運(yùn)行的進(jìn)程. cluster-ndbd-running (ndnd nodes are up and running) ndbd 集群節(jié)點(diǎn)運(yùn)行狀況 sql (any sql command returning a single number) 執(zhí)行返回一個(gè)數(shù)字的任何SQL 。 告警值規(guī)則: 10 means Ale

23、rt, if 10 and 90: means Alert, if grant all privileges - on *.* - to identified by linuxtone;Query OK, 0 rows affected (0.00 sec)mysql flush privileges;Query OK, 0 rows affected (0.00 sec)OK - 2 client connection threads | threads_connected=2;10;2021 check_mysql_health三、示例:在監(jiān)控機(jī)上.#cd /usr/local/nagio

24、s/libexec/連接123查看數(shù)據(jù)庫(kù)查詢線程緩存命中率狀態(tài):# ./check_mysql_health -hostname 192.168.169.123 -port 3306 -username netseek -password linuxtone -mode threadcache-hitrateOK - thread cache hitrate 91.30% | thread_cache_hitrate=91.30%;90:;80: thread_cache_hitrate_now=91.30% connections_per_sec=0.0090: 表示小于90 warning

25、, 80 表示小于80 則critical查詢命中率# ./check_mysql_health -hostname 192.168.169.122 -port 3306 -username netseek -password linuxtone -mode qcache-hitrateWARNING - query cache hitrate 88.19% | qcache_hitrate=88.19%;90:;80: qcache_hitrate_now=78.57% selects_per_sec=0.7522 check_mysql_health三、示例:在監(jiān)控機(jī)上.調(diào)整告警閥值:#

26、./check_mysql_health -hostname 192.168.169.122 -port 3306 -username netseek -password linuxtone -w 80: -c 70: -mode qcache-hitrateOK - query cache hitrate 88.19% | qcache_hitrate=88.19%;80:;70: qcache_hitrate_now=85.63% selects_per_sec=0.52連接123數(shù)據(jù)庫(kù)查看鎖表率.# ./check_mysql_health -hostname 192.168.169.1

27、23 -port 3306 -username netseek -password linuxtone -mode table-lock-contentionOK - table lock contention 0.00% | tablelock_contention=0.00%;1;2 tablelock_contention_now=0.00%連接123數(shù)據(jù)庫(kù)查看數(shù)據(jù)庫(kù)服務(wù)器當(dāng)前連接數(shù)量:# ./check_mysql_health -hostname 192.168.169.123 -port 3306 -username netseek -password linuxtone -mod

28、e threads-connectedOK - 2 client connection threads | threads_connected=2;10;2023 check_mysql_healthNagios相關(guān)配置# vi commands.cfg 添加如下:#check_health_mysqldefine command command_name check_mysql_health command_line $USER1$/check_mysql_health -hostname $ARG1$ -port $ARG2$ -username $ARG3$ -password $ARG4$ -mode $ARG5$ #vi sh-wt- 給上海網(wǎng)通兩臺(tái)DB服務(wù)器配置上mysql數(shù)據(jù)庫(kù)檢測(cè): 在自己定的的配

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論