Yahoo 開(kāi)源 MySQL 性能分析工具
MySQL性能分析器是一個(gè)MySQL性能監(jiān)控和分析的開(kāi)源項(xiàng)目。它包括兩個(gè)子項(xiàng)目:Java web應(yīng)用項(xiàng)目myperf和Java web服務(wù)器jetty wrapper。
MySQL性能分析器是一個(gè)Java Maven項(xiàng)目。JDK和Maven3.0是構(gòu)建時(shí)必須的。
盡管JDK8在pom.xml中已包含,這個(gè)項(xiàng)目用不到Java8的特性,所以用戶(hù)可以自行修改這兩個(gè)子項(xiàng)目的pom.xml文件來(lái)應(yīng)用不同的JDK版本。比如,構(gòu)建主機(jī)如果只有JDK7,修改myperf/pom.xml文件,將以下內(nèi)容:
1.8 1.8
更改為
1.7 1.7
構(gòu)建時(shí)會(huì)在perfJettyServer/target目錄下生成一個(gè)zip文件:myperfserver-server.zip。準(zhǔn)備構(gòu)建,在最頂層,運(yùn)行命令:
- mvn clean package
- Installation and Usage Instructions
安裝和使用說(shuō)明
需要的軟件:Java JDK8,或者在pom.xml文件中修改的版本。
解壓縮文件myperfserver-server.zip到安裝目錄。如果在Windows中安裝,請(qǐng)先預(yù)覽兩個(gè)shell腳本并在環(huán)境變量中相應(yīng)添加。
對(duì)于一般安裝,需要安裝MySQL數(shù)據(jù)庫(kù)用于存儲(chǔ)。否則,可以使用內(nèi)置的derby數(shù)據(jù)庫(kù)。a.在數(shù)據(jù)庫(kù)服務(wù)器中創(chuàng)建數(shù)據(jù)庫(kù),比如命名為metrics。b.創(chuàng)建一個(gè)MySQL用戶(hù)(比如, 'metrics'@'my_host'->這里的my_host是你將要進(jìn)行分析的主機(jī))具有全部權(quán)限。c.上面的信息在***登陸到分析器進(jìn)行設(shè)置時(shí)需要用到。
查看start_myperf.sh腳本看是否你需要修改命令行中的設(shè)置。通常,端口號(hào)是你唯一需要修改的地方,參數(shù) -j: jettyHome,不用修改;參數(shù) -p: http 端口, 默認(rèn)為9092;參數(shù)-w:war(web壓縮),必須是myperf.war; 參數(shù)-k:工作目錄,如果沒(méi)有修改,將使用./work; 參數(shù)-c:url內(nèi)容, 默認(rèn)跳轉(zhuǎn)到/myperf目錄,保留不變即可。
如果需要,在文件start_myperf.sh中修改java命令的path目錄
開(kāi)始命令:./start_myperf.sh,注意檢查nohup.out文件和日志目錄的錯(cuò)誤日志
關(guān)閉命令:./stop_myperf.sh
在***次安裝啟動(dòng)后登陸時(shí),用瀏覽器打開(kāi)http://your_host:9092/myperf (或者你設(shè)定的其他端口)。初始用戶(hù)名和密碼是myperf/change。
登陸后,你會(huì)被重定向到安裝設(shè)置頁(yè)面:
你可以添加提醒的email地址。郵件使用"mailx"系統(tǒng)命令。
配置存儲(chǔ)數(shù)據(jù)庫(kù),使用之前步驟創(chuàng)建的那個(gè)數(shù)據(jù)庫(kù)。一個(gè)掃描周期設(shè)置為1到5分鐘正好合適。
如果使用內(nèi)置derbydb數(shù)據(jù)庫(kù),保留日期要縮短。
配置完畢后,你可以開(kāi)始掃描(“Start Scanner”按鈕在頁(yè)面頂部)。
每次改變配置后,你需要重啟掃描器。
如果掃描器未正常工作,重啟分析器,使用命令:./stop_myperf.sh then ./start_myperf.sh
對(duì)于每一個(gè)你要監(jiān)控的數(shù)據(jù)庫(kù)服務(wù)器,你需要?jiǎng)?chuàng)建具有以下權(quán)限的用戶(hù):a.process b.復(fù)制客戶(hù)端 c.顯示數(shù)據(jù)庫(kù) d.顯示視圖 e.選擇全部(如果你想用它檢查數(shù)據(jù)目錄或者運(yùn)行說(shuō)明計(jì)劃)
分析器需要依賴(lài)于Linux SNMP服務(wù)來(lái)搜集系統(tǒng)級(jí)別的數(shù)據(jù)。檢查snmpd服務(wù)是否可用。
已知的限制
snmpd是基于linux規(guī)范。
電子郵件提醒使用Linux的“mailx”命令。
許可
代碼的許可在Apache許可之下。查看許可文件查看詳情。