1. 程式人生 > >Mysql效能監控視覺化

Mysql效能監控視覺化

## 前言 ​ 作業系統以及Mysql資料庫的實時效能狀態資料尤為重要,特別是在有效能抖動的時候,這些實時的效能資料可以快速幫助你定位系統或Mysql資料庫的效能瓶頸,映象你在Linux系統上使用top、iostat等命令工具一樣,可以立刻定位OS的效能瓶頸是在I/O還是CPU上,所以手機和展示這些效能資料就尤為重要。根據監控圖示的效能資料,能夠很直觀地指導你進一步做什麼樣的優化。 ## Lepus資料庫監控系統實戰 ### Lepus資料庫監控系統簡介 ​ Lepus(天兔)資料庫企業監控系統是一款專業、強大的企業資料庫監控管理系統,適合監控資料庫伺服器較多的公司和監控雲中資料庫,將為企業大大簡化監控部署流程。同時,Lepus系統內建了豐富的效能監控指標,讓企業能夠在資料庫宕機前發現潛在的效能問題,減少企業因為資料庫問題導致的直接損失。 ### Lepus資料庫監控系統部署 ​ Lepus官方下載地址http:/www.lepus.cc/soft/index,目前測試只支援CentOS、RedHat系統,Lepus監控平臺是由PHP+Python開發的,所以安裝需要Linux+Apache+Mysql+PHP(LAMP)環境。 #### 安裝Xampp ​ 配置LAMP基礎環境的方式有很多種,推薦使用xampp整合環境包進行安裝。xampp是一個可靠的穩定的LAMP套件,目前已被諸多公司用於生產伺服器的部署。 ​ 安裝xampp的步驟非常簡單,下載後給執行許可權。 ​ 直接從官網下載會很慢,在此連結https://sourceforge.net/p/xampp/activity/?page=0&limit=100#562517092718461ea9b50767中選擇想要的版本下載。 ```bash $ wget https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/1.8.2/xampp-linux-x64-1.8.2-5-installer.run $ chmod +x xampp-linux-x64-1.8.2-5-installer.run $ ./xampp-linux-x64-1.8.2-5-installer.run #執行進行安裝操作 ``` ​ 追加環境變數,否則後面安裝python模組會build失敗!!! ```bash $ vi /etc/profile #末尾新增下面環境變數 $ export PATH=$PATH:/opt/lampp/bin $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/lampp/lib $ export C_INCLUDE_PATH=$C_INCLUDE_PATH:/opt/lampp/include $ source /etc/profile ``` ​ 啟動 ```bash #常用命令 $ /opt/lampp/lampp start #啟動 $ /opt/lampp/lampp stop #停止 $ rm -rf /opt/lampp #解除安裝 ``` #### 安裝python基礎模組 ​ 安裝python環境時(python要求2.6以上,不支援python 3),需要先安裝一些包: ```bash $ yum -y install openssl-devel python-devel gcc urpmi xterm $ yum install libffi-devel mysql-devel ``` ​ 接著安裝資料庫連線Python的驅動包,如果準備使用Lepus系統監控Mysql資料庫,該模組必須下載安裝,下載地址https://pypi.org/project/MySQL-python/。 ```bash $ wget https://pypi.python.org/packages/a5/e9/51b544da85a36a68debe7a7091f068d802fc515a3a202652828c73453cad/MySQL-python-1.2.5.zip#md5=654f75b302db6ed8dc5a898c625e030c $ unzip MySQL-python-1.2.5.zip $ cd MySQL-python-1.2.5 #進入目錄 $ vim site.cfg #編輯site.cfg檔案,加入mysql_config=/opt/lampp/bin/mysql_config命令 $ python setup.py build #安裝python模組的指令碼 $ python setup.py install #安裝 ``` ​ 如果出現‘No module named setup tools’,需要安裝setuptools模組。 ```bash $ wget https://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz --no-check-certificate #下載setuptools包 $ tar -xvf setuptools-0.6c11.tar.gz $ cd setuptools-0.6c11 $ python setup.py build #編譯setuptools包 $ python setup.py install #執行安裝 ``` ​ 如果出現error: ‘MYSQL’ has no member named ‘reconnect’,把_mysql.c檔案第2005行,if ( reconnect != -1 ) self->connection.reconnect = reconnect;註釋掉。 #### 測試驅動是否正常執行 ​ 在Lepus的安裝檔案包python目錄中,可以找到測試檔案,測試上述驅動是否安裝正確。 ```bash $ python test_driver_mysql.py $ cp /opt/lampp/lib/*.* /usr/lib #如果出現"XXX.so.18:cannot open shared object file: no such file or directory failed"之類問題,需要執行復制命令 ``` ​ ps:如果需要監控MongoDB,必須安裝pymongo for python。如果需要監控Oracle,下載cx_oracle for python。 #### 安裝Lepus採集器 ​ (1) 下載Lepus採集器(http://www.lepus.cc/soft/index),上傳軟體包到監控機伺服器,解壓。 ```bash $ unzip lepus_v3.7.zip $ /opt/lampp/bin/mysql -uroot #進入mysql,版本高的話會顯示MariaDB,不指定-p mysql> create database lepus default character set utf8; mysql> grant select,insert,update,delete,create on lepus.* to 'lepus_user'@'172.16.9.%' identified by '123456'; mysql> flush privileges; ``` ​ xampp預設安裝Mysql是沒有密碼的,為了安全起見,需要修改root使用者密碼,如果上面已經修改過,忽略此步。 ```bash mysql> UPDATE mysql.user SET Password=PASSWORD('123456') WHERE user='root'; mysql> flush privileges; ``` ​ (2) 如果mysql的root使用者密碼已經修改,那麼phpmyadmin中對應的密碼也要修改: ```bash $ vi /opt/lampp/phpmyadmin/config.inc.php #找到密碼配置Authentication type修改掉password一行 ``` ​ phpmyadmin是資料庫管理程式,用來建立管理資料庫等操作。若不修改config.inc.php檔案中的內容,則phpmyadmin無法開啟頁面。 ​ (3) 進入Lepus_v3.7的sql子目錄,匯入裡面的SQL檔案: ```bash $ cd lepus_v3.7/sql $ /opt/lampp/bin/mysql -uroot -p123456 lepus < lepus_table.sql $ /opt/lampp/bin/mysql -uroot -p123456 lepus < lepus_data.sql ``` ​ (4) 安裝Lepus程式。進入Lepus軟體包的python資料夾,授予install.sh檔案可執行許可權,執行安裝。 ```bash $ cd /opt/lepus_v3.7/python $ chmod +x install.sh $ ./install.sh ``` ​ (5) 修改配置檔案/usr/local/lepus/etc/config.ini,包括安裝Lepus監控系統的監控機IP地址、連線監控資料庫的賬戶和密碼、監控資料庫名稱等。 ```bash #檔案內容 host="172.16.9.3" #主機IP,如果使用虛擬機器的話要用虛擬機器IP,不要用127.0.0.1!!! port=3306 user="lepus_user" passwd="123456" dbname="lepus" ``` ​ (6) 執行啟動命令lepus start啟動Lepus採集程序 #### 安裝Web管理後臺 ​ 複製lepus中php資料夾的檔案到Apache對應的網站虛擬目錄: ```bash $ mkdir /opt/lampp/htdocs/lepus $ cp -rf /opt/lepus_v3.7/php/* /opt/lampp/htdocs/lepus/ $ vi /opt/lampp/htdocs/lepus/application/config/database.php #修改PHP連線監控伺服器的資料庫資訊,資訊內容和上面一樣。 ``` ```bash #需要修改的部分 51 $db['default']['hostname'] = '172.16.9.4'; #虛擬機器IP 52 $db['default']['port'] = '3306'; 53 $db['default']['username'] = 'lepus_user'; 54 $db['default']['password'] = '123456'; 55 $db['default']['database'] = 'lepus'; 56 $db['default']['dbdriver'] = 'mysql'; ``` ​ 修改完後重啟服務。 ```bash $ /opt/lampp/lampp restart ``` #### 登入Lepus監控臺 ​ 輸入"http://監控機IP地址/lepus",開啟監控介面,即可登入系統,預設管理員賬號為admin、密碼Lepusadmin。登入成功後,看見儀表盤頁面則代表Lepus監控系統安裝成功。