日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql mtop 使用_MYSQLMTOP监控环境搭建

發布時間:2024/7/5 数据库 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql mtop 使用_MYSQLMTOP监控环境搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

MySQLMTOP是一個由Python+PHP開發的MySQL企業級監控系統。系統由Python實現多進程數據采集和告警,PHP實現WEB展示和管理。最重要是MySQL服務器無需安裝任何Agent,只需在監控WEB界面配置相關數據庫信息

功能非常強大:

可對上百臺MySQL數據庫的狀態、連接數、QTS、TPS、數據庫流量、復制、性能等進行時時監控

能在數據庫偏離設定的正常運行閥值(如連接異常,復制異常,復制延遲)?時發送告警郵件通知到DBA進行處理

對歷史數據歸檔,通過圖表展示出數據庫近期狀態,以便DBA和開發人員能對遇到的問題進行分析和診斷

系統主要由儀表盤、狀態監控、進程監控、復制監控、慢查詢分析、性能圖表、工具組件、告警事件、系統資源等子系統組成,每個子系統負責完成特定信息的采集和展示

一、系統安裝需求

MySQL MTOP由PHP和Python開發,所以監控機需要安裝PHP運行環境和Python環境。需要的核心包如下:

1.MySQL 5.0及以上(用來存儲監控系統采集的數據)

2.Apache 2.2及以上 (WEB服務器運行服務器)

3.PHP 5.3以上 (WEB界面)

4.Python2 (推薦2.7版本,其他版本未做測試,執行數據采集和報警任務)

5.MySQLdb for python (Python連接MySQl的接口)

二、 安裝必備的開發包[root?src]$??yum?-y?install?ntp?vim-enhanced?gcc?gcc-c++?flex?bison?autoconf?automake?bzip2-devel?\>?ncurses-devel?zlib-devel?libjpeg-devel?libpng-devel?libtiff-devel?freetype-devel?libXpm-devel?\>?gettext-devel??pam-devel?libtool?libtool-ltdl?openssl?openssl-devel?fontconfig-devel?\>?libxml2-devel?curl-devel??libicu?libicu-devel?libmcrypt?libmcrypt-devel?libmhash?libmhash-devel

三、同步系統時間:

vim /etc/ntp.conf ?//添加下面三行內容

然后同步時間,重啟ntp服務,操作如下:

[root?data]$?service?ntpd?stop

關閉?ntpd:????????????????????????????????????????????????[失敗]

[root?data]$?ntpdate??cn.pool.ntp.org

18?Dec?15:09:59?ntpdate[11495]:?step?time?server?119.57.127.125?offset?-28806.680250?sec

[root?data]$?date2014年?12月?18日?星期四?15:10:03?CST

[root?data]$?service?ntpd?start

正在啟動?ntpd:????????????????????????????????????????????[確定]

[root?data]$?chkconfig?ntpd?on

四、進制apache安裝,版本要2.2及以上

[root?data]$cd?/usr/local/src

[root?src]$wget?http://archive.apache.org/dist/httpd/httpd-2.2.19.tar.gz[root?src]$tar?xvf?httpd-2.2.19.tar.gz

[root?src]$?cd?httpd-2.2.19./configure?--prefix=/usr/local/apache?\--enable-so?--enable-rewrite?\?--enable-mods-shared=most?--sysconfdir=/etc/httpd

[root?httpd-2.2.19]$?make?&&?make?install

安裝完后啟動,啟動報Could not ....,修改下ServerName就不報這樣的錯了

[root?httpd-2.2.19]$?/usr/local/apache/bin/apachectl?start??????????

httpd:?Could?not?reliably?determine?the?server's?fully?qualified?domain?name,?using?localhost.localdomain?for?ServerName[root?httpd-2.2.19]$??netstat?-tnlp?|grep?httpd

tcp????????0??????0?:::80???????????????????????:::*????????????????????????LISTEN??????24810/httpd

[root?httpd-2.2.19]$?cp?/usr/local/webserver/apache/bin/apachectl?/etc/init.d/httpd

[root?httpd-2.2.19]$?cp?/usr/local/apache/bin/apachectl?/etc/init.d/httpd

[root?httpd-2.2.19]$?grep?"ServerName"?/etc/httpd/httpd.conf

#?ServerName?gives?the?name?and?port?that?the?server?uses?to?identify?itself.

ServerName?127.0.0.1:80[root?httpd-2.2.19]$?service?httpd?restart

添加開機啟動:[root?httpd-2.2.19]$chkconfig?--add?httpd

[root?httpd-2.2.19]$chkconfig?httpd?on

MySQL我已經安裝,在這就不演示這個過程了,可以到官網下載5.5版本的MySQL,然后用我寫的腳本安裝http://www.cnblogs.com/xuanzhi201111/p/4119065.html

五、進行PHP安裝

安裝php前安裝,否則可能出現以下錯誤:configure:?error:?mcrypt.h?not?found.?Please?reinstall?libmcrypt[root?src]$wget?http://softlayer.dl.sourceforge.net/sourceforge/mcrypt/libmcrypt-2.5.8.tar.gz[root?src]$?tar?zxf?libmcrypt-2.5.8.tar.gz

[root?src]$?cd?libmcrypt-2.5.8[root?libmcrypt-2.5.8]$?./configure?--prefix=/usr/local?&&?make?&&?make?install

下載PHP并安裝,版本要5.3以上,下面要注意的是,php安裝涉及了你安裝apache和mysql的路徑,這個要特別注意的:

[root?src]$??[root?src]$??zxf?php-..-.-.]$./configure?--prefix=/usr/local/--mandir=/usr/local/share/--infodir=/usr/local/share/--with-apxs2=/usr/local/apache/bin/--enable-cgi?--with-mysql=/usr/local/mysql-./--with-config--path=/usr/local/php/--with-pdo-mysql=/usr/local/mysql-.--with-mysqli=/usr/local/mysql-./bin/--enable-?--enable-sqlite-utf8?-enable---enable-soap?--enable-pcntl?--enable---enable-intl?--enable-calendar?--enable---enable-exif?--with-mcrypt?--with-mhash?--with---with-png-?--with-jpeg-?--with-freetype---with-libxml-?--with-curl?--with---with-zlib???--with-openssl?--with-kerberos=--with-gettext=shared?--with-xmlrpc=shared

[root?php-

拷貝配置文件:[root?php-5.5.19]$?cp?php.ini-production?/usr/local/php/etc/php.ini

然后修改apache的配置文件:[root?php-5.5.19]$??vim?/usr/local/apache/conf/httpd.conf

添加以下內容:查找AddType?application/x-gzip?.gz?.tgz,在該行下面添加

AddType?application/x-httpd-php?.php

查找DirectoryIndex?index.html?把該行修改成

DirectoryIndex?index.html?index.htm?index.php

重啟apache,在/usr/local/apache/htdocs/下vim index.php,操作如下:

[root?htdocs]$?service?httpd?restart

[root?htdocs]$?pwd/usr/local/apache/htdocs

[root?htdocs]$?cat?index.php

phpinfo();?>

在防火墻里添加80端口,并重啟,然后請問index.php:http://ip/index.php,如果得到下圖,意味著apache整合php成功了

六、進行python安裝,推薦2.7版本,其他版本未做測試,執行數據采集和報警任務[root?src]$?wget?http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tar.bz2[root?src]$?tar?jxf?Python-2.7.2.tar.bz2

[root?src]$?cd?Python-2.7.2[root?Python-2.7.2]$?./configure?--prefix=/usr/local/Python2.7?--enable-shared?make?&&?make?install[root?Python-2.7.2]$?mv?/usr/bin/python?/usr/bin/pythonbak

[root?Python-2.7.2]$?ln?-sf?/usr/local/Python2.7/bin/python?/usr/bin/python

查看Python版本,如果報少了庫文件,vim /etc/ld.so.conf添加/usr/local/Python2.7/lib,執行ldconfig刷新配置文件

[root?Python-2.7.2]$?python?-V???????????

python:?error?while?loading?shared?libraries:?libpython2.7.so.1.0:?cannot?open?shared?object?file:?No?such?file?or?directory

[root?Python-2.7.2]$?cat?/etc/ld.so.conf

include?ld.so.conf.d/*.conf

/usr/local/Python2.7/lib

[root?Python-2.7.2]$?ldconfig

[root?Python-2.7.2]$?python?-V

Python?2.7.2

如果python升級到2.7以后出現yum無法使用的情況,錯誤為No module named yum,請按照如下步驟處理,將yum使用的python版本改為舊版本,第一行修改為如下即可:[root?htdocs]$?vim?/usr/bin/yum?#!/usr/bin/python2.6

七、安裝MySQLdb for python[root?src]$?wget?http://www.mtop.cc/software/MySQLdb-python.zip[root?src]$?unzip?MySQLdb-python.zip[root?src]$?cd?MySQLdb1-master

[root?MySQLdb1-master]$?vim?site.cfg

vim site.cfg添加你安裝的mysql路徑下的mysql_config:

添加完再執行python setup.py build可能報以下錯:[root?MySQLdb1-master]$?python?setup.py?build

error:?command?'gcc'?failed?with?exit?status?1

解決方法:[root?MySQLdb1-master]$?yum?install?gcc?python-devel

再執行安裝:[root?MySQLdb1-master]$?python?setup.py?build

[root?MySQLdb1-master]$?python?setup.py?install

基本環境已經安裝OVER了,下面去官網下載開源的管理軟件包:http://www.lepus.cc/soft/index,要注冊賬號的

八、安裝MySQL MTOP系統

監控機創建監控數據庫,并授予權限,導入SQL文件

mysql>?create?database?mysqlmtop?default?character?set?utf8;?

Query?OK,?1?row?affected?(0.07?sec)

mysql>?grant?select,insert,update,delete,create,drop?on?mysqlmtop.*?to?'mtop_user'@'localhost'?identified?by?'password';

Query?OK,?0?rows?affected?(0.04?sec)

mysql>??flush?privileges;

Query?OK,?0?rows?affected?(0.02?sec)

下載后解包:[root?src]$?unzip?MySQLMTOP.zip[root?src]$?cd??mysqlmtop2.2[root?sql]$?pwd/usr/local/src/mysqlmtop2.2/sql

[root?sql]$?lsmysqlmtop_data.sql??mysqlmtop.sql

監控機(即MySQL MTOP server)創建監控數據庫,并授予權限,導入SQL文件夾里的SQL文件(表結構和數據文件):[root?sql]$?mysql?-uroot?-p123456?-S?/data/mysql-5.6.10/mysql.sock??mysqlmtop?

[root?sql]$?mysql?-uroot?-p123456?-S?/data/mysql-5.6.10/mysql.sock??mysqlmtop?

[root?sql]$?mv?/usr/local/src/mysqlmtop2.2?/usr/local/mysqlmtop

對被監控的數據庫進行授權

在python采集數據的過程中,需要連接到需要監控的數據庫服務器采集數據,我們為了安全考慮,在WEB管理里面只要求錄入主機和端口,沒有錄入賬號和密碼。所有需要監控的數據庫請授予相同的用戶密碼記錄在配置文件中。授權如下所示:

grant select,super,process on *.* to 'monitor'@'ip' identified by 'monitor';

九、安裝數據采集和報警系統

修改監控系統配置文件,進到/usr/local/mysqlmtop/mysqlmtop/etc,修改config.ini[root?etc]$?pwd/usr/local/mysqlmtop/mysqlmtop/etc

[root?etc]$?vim?config.ini

授予可執行文件執行權限[root?mysqlmtop]$?pwd/usr/local/mysqlmtop/mysqlmtop

[root?mysqlmtop]$?chmod?+x?*.py

[root?mysqlmtop]$?chmod?+x?*.sh[root?mysqlmtop]$?chmod?+x?mtopctl

[root?mysqlmtop]$?ln?-s?/usr/local/mysqlmtop/mysqlmtop/mtopctl?/usr/local/bin/

測試MySQL連接,報錯了,別慌

[root?mysqlmtop]$?./test_mysql.py?

Traceback?(most?recent?call?last):

File?"./test_mysql.py",?line?6,?in?

import?MySQLdb

File?"/usr/lib64/python2.6/site-packages/MySQL_python-1.2.4-py2.6-linux-x86_64.egg/MySQLdb/__init__.py",?line?19,?in?

import?_mysql

ImportError:?libmysqlclient.so.18:?cannot?open?shared?object?file:?No?such?file?or?directory

解決方法:如果是64系統則:

[root?mysqlmtop]$?ln?-s?/usr/local/mysql-5.6.10/lib/libmysqlclient.so.18??/usr/lib64/libmysqlclient.so.1832位系統:

[root?mysqlmtop]$?ln?-s?/usr/local/mysql-5.6.10/lib/libmysqlclient.so.18??/usr/lib/libmysqlclient.so.18

如果是通過socket文件連接MySQL的話 可能會報以下錯:mysql_exceptions.OperationalError:?(2002,?"Can't?connect?to?local?MySQL?server?through?socket?'/tmp/mysql.sock'?(111)")

添加一下鏈接:[root?mysqlmtop]$?ln?-s?/data/mysql-5.6.10/mysql.sock?/tmp/mysql.sock

再執行測試腳本,看到OK就正常連接成功了:[root?mysqlmtop]$?./test_mysql.py

MySQLDB?OK!

修改下啟動腳本mtopctl(注意路徑),再啟動監控系統(注意:只有監控進程運行時系統才會進行監控和報警)

啟動:[root?mysqlmtop]$?mtopctl??start

nohup:?把輸出追加到"nohup.out"mysql?mtop?start?success!

使用--help查看監控系統進程管理參數,分別有start、stop、status

[root?mysqlmtop]$?mtopctl?--help

mysql?mtop?help:

support-site:www.mtop.cc??www.ruzuojun.com====================================================================start????????Start?mysql?mtop?monitor?server;?Command:?#mtopctl?start

stop?????????Stop?mysql?mtop?monitor?server;?Command:?#mtopctl?stop

status???????Check?mysql?mtop?monitor?run?status;?Command:?#mtopctl?status

十、安裝WEB管理界面

把/usr/local/mysqlmtop/frontweb下的所有文件傳到apache的/usr/local/apache/htdocs/[root?frontweb]$?pwd/usr/local/mysqlmtop/frontweb

[root?frontweb]$?cp?-a?*?/usr/local/apache/htdocs/

打開application/config/database.php文件,修改PHP連接監控服務器的數據庫信息[root@localhost?config]#?pwd/usr/local/apache/htdocs/application/config

root@localhost?config]#?vim?database.php

修改username填剛剛在MySQL授權用戶,password也就是對應的密碼,mysqlmtop是對應的庫,修改這三個即可

可以通過瀏覽器去訪問了:http://ip

最好把默認的index.html刪除了,這樣才走index.php,默認管理員賬號密碼admin/admin 登錄后請修改密碼,增加普通賬號

看一下功能:

哈哈,是不是很吸引呢,功能非常強大,大家可以研究下

總結:

一、該系統是開源的系統,如果搭建在公網,一定要做好各種訪問控制,做好各方面的安全工作

二、該系統功能比較多,可以幫助MySQL DBA或運維DBA對管理MySQL及查看其性能

三、可能該系統存在一些小bug,例如發不出郵件啊,這些就要根據自己能力去完善了,如果會python,可以去掉沒用的,加上自己想要的功能

詳細參考資料 MySQLMTOP官網:http://www.mtop.cc/

作者:陸炫志

您的支持是對博主最大的鼓勵,感謝您的認真閱讀。本文版權歸作者所有,歡迎轉載,但請保留該聲明。

總結

以上是生活随笔為你收集整理的mysql mtop 使用_MYSQLMTOP监控环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。