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

下載本文檔

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

文檔簡介

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

2、本監(jiān)控解決方案二、基本監(jiān)控解決方案(收集系統(tǒng)信息) top 、vmstat 、iostat 、mpstat 、mytop 、dstata 、free 、/proc/. 、mstat 、mtop .命令行工具分析系統(tǒng)資源使用狀況.整理課件 三、高級監(jiān)控解決方案 三、高級監(jiān)控解決方案三、高級監(jiān)控解決方案 1、Nagios相關(guān)相關(guān):(收集數(shù)據(jù)庫信息及健康狀態(tài),對數(shù)據(jù)庫調(diào)整優(yōu)化收集數(shù)據(jù)庫信息及健康狀態(tài),對數(shù)據(jù)庫調(diào)整優(yōu)化) check_mysql 推薦 適當(dāng)選擇 check_mysql_health 重點(diǎn)介紹推薦重點(diǎn)介紹推薦 由于時(shí)間關(guān)系本由于時(shí)間關(guān)系本PPT只重點(diǎn)介紹一下只重點(diǎn)介紹一下Nagios相關(guān)

3、的插件腳本相關(guān)的插件腳本. 重點(diǎn)介紹一下重點(diǎn)介紹一下check_mysql_health監(jiān)控?cái)?shù)據(jù)庫調(diào)優(yōu)。監(jiān)控?cái)?shù)據(jù)庫調(diào)優(yōu)。 2、MySQL Activity Report 基于rrdtool整理課件 三、高級監(jiān)控解決方案 三、高級監(jiān)控解決方案三、高級監(jiān)控解決方案 3、CACTI * 4、RRD 參考資料: * http:/www.fi.muni.cz/kas/mrtg-rrd/ 5、Munin * .整理課件 Nagios check_mysql #cd /usr/local/nagios/libexec/ # ./check_mysql help /查看使用說明查看使用說明.Usage: ch

4、eck_mysql -d database -H host -P port -s socket -u user -p password -SOptions: -h, -help Print detailed help screen -V, -version Print version information -H, -hostname=ADDRESS Host name, IP Address, or unix socket (must be an absolute path) -P, -port=INTEGER Port number (default: 3306) -s, -socket=

5、STRING Use the specified socket (has no effect if -H is used) -d, -database=STRING Check database with indicated name -u, -username=STRING Connect using the indicated username -p, -password=STRING Use the indicated password to authenticate the connection = IMPORTANT: THIS FORM OF AUTHENTICATION IS N

6、OT SECURE! grant all privileges - on *.* - to netseek38 identified by linuxtone;Query OK, 0 rows affected (0.00 sec)mysql flush privileges;Query OK, 0 rows affected (0.00 sec)整理課件 Nagios check_mysql 示例:示例:在監(jiān)控機(jī)上在監(jiān)控機(jī)上.#cd /usr/local/nagios/libexec/連接連接204查看數(shù)據(jù)庫狀態(tài)查看數(shù)據(jù)庫狀態(tài):#./check_mysql -H -

7、u netseek -p linuxtone連接數(shù)據(jù)庫連接數(shù)據(jù)庫123查看查看./check_mysql -H 23 -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,在命令行

8、下都能正常連接數(shù)據(jù)庫:整理課件Check_mysql Nagios配置# vi commands.cfg 添加如下:添加如下:#check_mysqldefine command command_name check_mysql command_line $USER1$/check_mysql -H $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$ /仔細(xì)看參數(shù)傳遞與上面的命令仔細(xì)看參數(shù)傳遞與上面的命令行對應(yīng)行對應(yīng). #check_slavedefine command command_name check_slave command_line $USER1$/chec

9、k_mysql -H $ARG1$ -P $ARG2$ -u $ARG3$ -p $ARG4$ -S -w $ARG5$ -c $ARG6$ 整理課件Check_mysql Nagios配置#vi sh-wt-www-db.cfg 給上海網(wǎng)通兩臺給上海網(wǎng)通兩臺DB服務(wù)器配置上服務(wù)器配置上mysql數(shù)據(jù)庫檢測數(shù)據(jù)庫檢測:. 在自己定的的配置文件里,添加如下服務(wù)段.#check_mysqldefine service host_name dbss-master service_description check_mysql check_command check_mysql!3306!netsee

10、k!linuxtone . #check slavedefine service host_name dbss-slave service_description check_slave check_command check_slave!23!3306!netseek!linuxtone!60!600 . 整理課件 Nagios check_mysql check_mysql監(jiān)控演示效果 Check_mysql S 模塊可以很好的檢測模塊可以很好的檢測mysql replication slave的健康狀態(tài)的健康狀態(tài).mysqlshow slave stautsG

11、*是否工作是否工作 Slave_IO_running: YES Slave_SQL_running: YES *延遲情況延遲情況 Sencodes_behind_master整理課件 nagios-mysql-plugins選擇性的使用此插件來配合監(jiān)控工作選擇性的使用此插件來配合監(jiān)控工作# chmod a+x *# mv * /usr/local/nagios/libexec插件解釋:check_db_mysql.pl 檢測mysql是否運(yùn)行.check_errorlog_mysql.pl 檢測數(shù)據(jù)庫下的錯(cuò)誤日志perf_mysql.pl 收集性能數(shù)據(jù),類似后面要講的check_mysql_h

12、ealthreplication相關(guān).check_repl_mysql_cnt_slave_hosts.pl /檢測復(fù)制相關(guān)。-整理課件 nagios-mysql-plugins./check_db_mysql.pl -h -u netseek -p linuxtone -port 3306編寫command define command command_name check_db_mysql command_line $USER1$/check_db_mysql.pl -h $ARG1$ -u $ARG2$ -p $ARG3$ -port $ARG4$ . 服務(wù)端配置: . check_co

13、mmand check_db_mysql!netseek!linuxtone!3306 .整理課件 check_mysql_health 一、安裝一、安裝check_mysql_health # wget # ./configure -prefix=/usr/local/nagios -with-nagios-user=nagios - with-nagios-group=nagios -with-perl -with-statefiles-dir=/tmp # make & make install 注注:check_mysql_health (check_mysql_perf的替代

14、方案,官方不再支持的替代方案,官方不再支持 check_mysql_perf) 整理課件 check_mysql_health二、二、check_mysql_health 插件使用說明插件使用說明 # cd /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 mysq

15、l check_mysql_health -h | -help check_mysql_health -V | -version 整理課件 check_mysql_health . Options: -hostname 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 dat

16、abases name. (default: information_schema) -warning the warning range -critical the critical range 整理課件 check_mysql_health .-mode the mode of the plugin. select one of the following keywords: connection-time (Time to connect to the server) 連接到服務(wù)器的時(shí)間連接到服務(wù)器的時(shí)間. uptime (Time the server is running) MySQ

17、L服務(wù)器運(yùn)行的時(shí)間服務(wù)器運(yùn)行的時(shí)間 threads-connected (Number of currently open connections) 數(shù)據(jù)庫服器當(dāng)前打開的連接數(shù)據(jù)庫服器當(dāng)前打開的連接 threadcache-hitrate (Hit rate of the thread-cache) 線程緩存命中率線程緩存命中率 -mysql replication 相關(guān)段相關(guān)段- slave-lag (Seconds behind master) 判斷判斷slave落后于落后于master多少秒多少秒 slave-io-running (Slave io running: Yes) 表明表明

18、Slave復(fù)制正常運(yùn)行復(fù)制正常運(yùn)行 slave-sql-running (Slave sql running: Yes) 表明表明Slave復(fù)制正常運(yùn)行復(fù)制正常運(yùn)行 用用check_mysql 模塊來替代這些功能更模塊來替代這些功能更,check_mysql是用是用C寫的執(zhí)行速度更快寫的執(zhí)行速度更快. -check-slave ./check_mysql -H 23 -u netseek -p linuxtone -S 來解決來解決整理課件 check_mysql_health. -查詢緩存相關(guān)查詢緩存相關(guān)- qcache-hitrate (Query cache h

19、itrate) 查詢命中率查詢命中率,這個(gè)比率越高則表明服務(wù)器的這個(gè)比率越高則表明服務(wù)器的SELECT 查詢性能就越好查詢性能就越好 qcache-lowmem-prunes (Query cache entries pruned because of low memory) 由于內(nèi)存較小從緩存刪除的查詢數(shù)量由于內(nèi)存較小從緩存刪除的查詢數(shù)量 增大增大query_cache_size的值,以減小的值,以減小lowmem,增加緩存命中率增加緩存命中率 keycache-hitrate (MyISAM key cache hitrate)n key緩存命中率緩存命中率 如果命中率低,則調(diào)大如果命中率

20、低,則調(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的緩行的緩行沖池等待清理頁沖池等待清理頁. log-waits (InnoDB log waits because of a too small log buffer) 因?yàn)樘∫驗(yàn)樘og緩沖區(qū)導(dǎo)致緩沖區(qū)導(dǎo)致inndo

21、b log等待等待. - 整理課件 check_mysql_health - tablecache-hitrate (Table cache hitrate) 表緩存命中率表緩存命中率 table-lock-contention(Table lock contention) 連接鎖表率連接鎖表率 table_locks_waited/table_locaks_immediate table_locak_waited:不能立即獲得的表的鎖表次數(shù)不能立即獲得的表的鎖表次數(shù) table_locak_immediate: 立即獲得的表的鎖表次數(shù)立即獲得的表的鎖表次數(shù). 小于小于1%較優(yōu),如果較優(yōu),如果

22、1%需要引起注意,需要引起注意,3% 性能問題性能問題. index-usage (Usage of indices) 索引使用情況索引使用情況. tmp-disk-tables (Percent of temp tables created on disk) 臨時(shí)表創(chuàng)建臨時(shí)表創(chuàng)建. slow-queries (Slow queries) 慢查詢慢查詢 long-running-procs (long running processes) 長期運(yùn)行的進(jìn)程長期運(yùn)行的進(jìn)程. cluster-ndbd-running (ndnd nodes are up and running) ndbd 集群節(jié)點(diǎn)

23、運(yùn)行狀況集群節(jié)點(diǎn)運(yùn)行狀況 sql (any sql command returning a single number) 執(zhí)行返回一個(gè)數(shù)字的任何執(zhí)行返回一個(gè)數(shù)字的任何SQL 。 告警值規(guī)則告警值規(guī)則: 10 means Alert, if 10 and 90: means Alert, if grant all privileges - on *.* - to netseek38 identified by linuxtone;Query OK, 0 rows affected (0.00 sec)mysql flush privileges;Query OK, 0

24、rows affected (0.00 sec)OK - 2 client connection threads | threads_connected=2;10;20整理課件 check_mysql_health三、示例:三、示例:在監(jiān)控機(jī)上在監(jiān)控機(jī)上.#cd /usr/local/nagios/libexec/連接連接123查看數(shù)據(jù)庫查詢線程緩存命中率狀態(tài)查看數(shù)據(jù)庫查詢線程緩存命中率狀態(tài):# ./check_mysql_health -hostname 23 -port 3306 -username netseek -password linuxtone -mod

25、e threadcache-hitrate90: 表示小于表示小于90 warning, 80 表示小于表示小于80 則則critical查詢命中率查詢命中率# ./check_mysql_health -hostname 22 -port 3306 -username netseek -password linuxtone -mode qcache-hitrate整理課件 check_mysql_health三、示例:三、示例:在監(jiān)控機(jī)上在監(jiān)控機(jī)上.調(diào)整告警閥值調(diào)整告警閥值:# ./check_mysql_health -hostname

26、22 -port 3306 -username netseek -password linuxtone -w 80: -c 70: -mode qcache-hitrate連接連接123數(shù)據(jù)庫查看鎖表率數(shù)據(jù)庫查看鎖表率.# ./check_mysql_health -hostname 23 -port 3306 -username netseek -password linuxtone -mode table-lock-contentionOK - table lock contention 0.00% | tablelock_contention=0.00%;1;2

27、 tablelock_contention_now=0.00%連接連接123數(shù)據(jù)庫查看數(shù)據(jù)庫服務(wù)器當(dāng)前連接數(shù)量數(shù)據(jù)庫查看數(shù)據(jù)庫服務(wù)器當(dāng)前連接數(shù)量:# ./check_mysql_health -hostname 23 -port 3306 -username netseek -password linuxtone -mode threads-connectedOK - 2 client connection threads | threads_connected=2;10;20整理課件 check_mysql_healthNagios相關(guān)配置相關(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-www-db.cfg 給上海網(wǎng)通兩臺給上海網(wǎng)通兩臺DB服務(wù)器配置上服務(wù)器配置上m

溫馨提示

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

評論

0/150

提交評論