1. 程式人生 > >天兔Lepus資料庫監控的搭建

天兔Lepus資料庫監控的搭建

第1章 lepus介紹

Lepus是一套開源的資料庫監控平臺,目前已經支援MySQL、Oracle、SQLServer、MongoDB、Redis等資料庫的基本監控和告警(MySQL已經支援複製監控、慢查詢分析和定向推送等高階功能)。Lepus無需在每臺數據庫伺服器部署指令碼或Agent,只需要在資料庫建立授權帳號後,即可進行遠端監控,適合監控資料庫伺服器較多的公司和監控雲中資料庫,這將為企業大大減化監控部署流程,同時Lepus系統內建了豐富的效能監控指標,讓企業能夠在資料庫宕機前發現潛在效能問題進行處理,減少企業因為資料庫問題導致的直接損失。

第2章 軟體安裝的必要需求

軟體需要LAMP環境,需要的核心包如下:
以下軟體包只需要部署在監控機即可。被監控機無需部署。
使用的作業系統為CentOS6.8


1.MySQL5.1及以上(必須,用來儲存監控系統採集的資料)
2.Apache 2.2及以上 (必須,WEB伺服器執行伺服器)
3.PHP 5.3以上 (必須,提供WEB介面支援,不支援PHP7)
4.Python2 (必須,推薦2.6及以上版本,執行資料採集和報警任務,不支援Python3)
5.Python連線和監控資料庫的相關驅動模組包:
MySQLdb for python (Python連線MySQl的介面,用於監控MySQL,此模組必須安裝)
cx_oracle for python (Python連線Oracle的介面,非必須,如果需要監控oracle此模組必須安裝)
Pymongo for python (Python連線MongoDB的介面,非必須,如果需要監控MongoDB此模組必須安裝)
redis-py for python (Python連線Redis的介面,非必須,如果需要監控Redis此模組必須安裝)
本次安裝演示採用如下軟體包搭建
httpd-2.2.31.tar.gz #LAMP搭建必須
mysql-5.5.49-linux2.6-x86_64.tar.gz #MySQL資料庫
php-5.5.32.tar.gz #php
libiconv-1.14.tar.gz #支援php必要元件
Python-2.7.6.tgz #必要安裝
redis-py-2.10.3.tar.gz #監控redis模組(選裝)
3.3.4 cx_oracle for python #監控oracle模組(選裝)
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm #oracle資料庫必要模組
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm #oracle資料庫必要模組
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm #oracle資料庫必要模組
pymongo-2.7.tar.gz #監控mongodb模組
freetds-0.82 #監控SQLServer模組
Lepus3.7.zip #天兔監控軟體本體

編譯安裝軟體的目錄

/tools 軟體包統一存放目錄
/server/scripts 指令碼存放目錄
/application 編譯安裝後軟體所在目錄位置

第3章 軟體安裝

3.1 搭建LAMP環境(手動)

3.1.1 編譯安裝httpd服務

解壓目錄並建立一個用於http服務的賬戶www

[root@m02 ~]# cd /tools
[root@m02 tools]# tar xf httpd-2.2.31
[root@m02 tools]# cd httpd-2.2.31
[root@m02 tools]# useradd www -s /sbin/nologin -M

安裝必要的軟體包zlib

[root@m02 httpd-2.2.31]# yum install zlib zlib-devel -y

執行配置檔案並安裝

[[email protected] httpd-2.2.31]# ./configure --prefix=/application/apache2.2.31 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite
[[email protected] httpd-2.2.31]# make && make install

建立軟連結並開啟服務

[root@m02 httpd-2.2.31]# ln -s /application/apache2.2.31/ /application/apache
[root@m02 httpd-2.2.31]# /application/apache/bin/apachectl start
[root@m02 httpd-2.2.31]# netstat -lntup|grep http
tcp        0      0 :::80                       :::*                        LISTEN      57310/httpd

3.1.2 基於apache虛擬主機的配置

配置虛擬主機的目的也是為了檢測http服務是否可以正常顯示主頁。
以www.abc.com為例來配置一個主頁

[root@m02 apache]# cd /application/apache/htdocs/
[root@m02 apache]# mkdir www

修改頁面配置httpd.conf檔案

[root@m02 htdocs]# vim /application/apache/conf/httpd.conf

搜尋/httpd-v,將前面的註釋去除。

# Virtual hosts
Include conf/extra/httpd-vhosts.conf

搜尋檔案中的Servername將註釋開啟,如果有需要就修改內網IP地址。

ServerName 127.0.0.1:80

編輯與配置http頁面檔案httpd-vhosts.conf

[[email protected] htdocs]# vim /application/apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
    ServerAdmin [email protected].com #管理員郵箱
    DocumentRoot "/application/apache2.2.31/htdocs/www" #頁面虛擬目錄
    ServerName www.abc.com #域名
    ServerAlias abc.com #別名
    ErrorLog "logs/www_error_log" #錯誤日誌
    CustomLog "logs/www_access_log" common #訪問日誌
</VirtualHost>

建立一個首頁檔案用於測試頁面是否正常

[root@m02 htdocs]# echo 'Apache www' >www/index.html

重啟伺服器重新整理配置

[root@m02 apache]# /application/apache/bin/apachectl -t
[root@m02 apache]# /application/apache/bin/apachectl graceful

修改客戶端的hosts檔案新增IP到我們的頁面地址,如果通過瀏覽器訪問www.abc.com出現apache www的內容,就說明apache成功搭建完成了。

3.1.3 安裝mysql

這裡直接以單例項安裝的方式完成

[root@m02 apache]# cd /tools
[root@m02 tools]# useradd -s /sbin/nologin -M mysql
[root@m02 tools]# tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz
[root@m02 tools]# mv mysql-5.5.49-linux2.6-x86_64 /application/mysql-5.5.49
[root@m02 tools]# ln -s /application/mysql-5.5.49/ /application/mysql
[root@m02 tools]# chown -R mysql:mysql /application/mysql
[root@m02 tools]# cd /application/mysql
[root@m02 mysql]# ./scripts/mysql_install_db --basedir=/application/mysql/ --datadir=/application/mysql/data/ --user=mysql

3.1.4 mysql除錯並開啟資料庫

[root@m02 mysql]# cd bin/
[root@m02 bin]# sed -i 's#/usr/local/#/application/#g' mysqld_safe
[root@m02 bin]# cd ../
[root@m02 mysql]# \cp support-files/my-small.cnf /etc/my.cnf
[root@m02 mysql]# echo 'export PATH=/application/mysql/bin:$PATH' >>/etc/profile
[root@m02 mysql]# . /etc/profile
[root@m02 mysql]# sed -i 's#/usr/local/#/application/#g' support-files/mysql.server
[root@m02 mysql]# cp support-files/mysql.server /etc/init.d/mysqld
[root@m02 mysql]# chmod +x /etc/init.d/mysqld
[root@m02 mysql]# chkconfig --add mysqld
[root@m02 mysql]# /etc/init.d/mysqld start

3.1.5 php5.5.32的安裝

cd /tools/
[root@m02 tools]# tar xf libiconv-1.14.tar.gz
[root@m02 tools]# cd libiconv-1.14
[root@m02 libiconv-1.14]# ./configure --prefix=/usr/local/libiconv
[root@m02 libiconv-1.14]# make && make install
[root@m02 libiconv-1.14]# cd ../
[root@m02 tools]# yum install zlib-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libmcrypt-devel mhash mcrypt openssl-devel pcre-devel -y
[root@m02 tools]# tar xf php-5.5.32.tar.gz
[root@m02 tools]# cd php-5.5.32
[root@m02 php-5.5.32]# ./configure --prefix=/application/php5.5.32 --with-mysql=/application/mysql --with-pdo-mysql=/application/mysql --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-opcache=no --with-apxs2=/application/apache/bin/apxs --enable-ftp
[root@m02 php-5.5.32]# ln -s /application/mysql/lib/libmysqlclient.so.18  /usr/lib64/
[root@m02 php-5.5.32]# touch ext/phar/phar.phar
[root@m02 php-5.5.32]# make
[root@m02 php-5.5.32]# make install
[root@m02 php-5.5.32]# ln -s /application/php5.5.32 /application/php
[root@m02 php-5.5.32]# cp php.ini-production /application/php/lib/php.ini
[root@m02 php-5.5.32]# cd /application/php/etc
[root@m02 etc]# cp php-fpm.conf.default php-fpm.conf
[root@m02 etc]# grep libphp5.so /application/apache/conf/httpd.conf
[root@m02 etc]# ls /application/apache/modules/
[root@m02 etc]# /application/php/sbin/php-fpm

3.2 http與php模組以及mysql的結合

3.2.1 配置httpd.conf檔案

在/application/apache/conf/httpd.conf檔案的第311行增加如下內容:

AddType application/x-httpd-php .html .htm .php .phtml
AddType application/x-httpd-php-source .html .htm .phps

在168行修改:

DirectoryIndex index.php index.html

在第67行修改:

User www
Group www

編輯測試檔案

[root@m02 etc]# cd /application/apache/htdocs/www
[root@m02 www]# echo "<?php phpinfo(); ?>" >test_info.php

在瀏覽器中輸入www.abc.com/test_info.php如果出現php的配置結果頁面就說明php與http已經關聯了。

3.2.2 http與mysql的結合

同樣,在上面的目錄中在建立一個mysql測試的檔案,檔案內容如下

[[email protected] www]#  vim /application/apache/htdocs/www/test_mysql.php
<?php
        $link_id=mysql_connect('localhost','root','123456') or mysql_error();
        if($link_id){
                echo "MySQL successful by abc !";
               }
                else {
                echo mysql_error();
            }
?>

請注意mysql登入的賬號密碼,如果為空請自己設定mysql登入的賬號密碼。
瀏覽器中輸入www.abc.com/test_mysql.php地址檢視資料庫連線狀態。

3.3 安裝Python環境

安裝資料庫連線Python的驅動包。MySQLdb為Python連線和操作MySQL的類庫,如果您準備使用lepus系統監控MySQL資料庫,那麼該模組必須安裝。

3.3.1 安裝 python (必須安裝)

tar xf Python-2.7.6.tgz
cd Python-2.7.6
./configure --prefix=/application/python2.7.6 #注意:安裝在新目錄,防止覆蓋系統預設的python
make && make install
mv /usr/bin/python /usr/bin/python2.6.6.old
ln -s /application/python2.7.6/bin/python /usr/bin/python
python -V

如果出現Python 2.7.6的提示就說明成功了。
此時由於更新python版本,使用yum命令時會報錯。
修改

vim /usr/bin/yum
#!/usr/bin/python 
更換為#!/usr/bin/python2.6.6.old(即為原來的版本連結)

3.3.2 python setuptools install

cd /tools
tar xf setuptools-12.0.3.tar.gz
cd setuptools-12.0.3
python setup.py install

3.3.3 安裝mysqldb for python

cd /tools
unzip MySQLdb-python.zip
cd MySQLdb1-master/
which mysql_config
vim site.cfg
mysql_config = /application/mysql/bin/mysql_config #將註釋開啟,修改後面which mysql_config
的路徑。
python setup.py build 
python setup.py install

如果mysql_config不存在就先安裝一下setuptools

3.3.4 安裝Redis 驅動 (如果需要監控Redis則必須安裝)

cd /tools
tar xf redis-py-2.10.3.tar.gz
cd redis-2.10.3/
python setup.py install

3.3.5 安裝cx_oracle for python (如果需要監控Oracle則必須安裝)

安裝oracle instant client,這個模組很坑爹,在oracle官網上點選下載直接會跳到讓你登入註冊介面,於是我直接走捷徑搞到了必要的安裝包
oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm


cd /tools
rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

vim /root/.bash_profile #編輯全域性配置檔案
# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
ORACLE_HOME="/usr/lib/oracle/11.2/client64"
PATH=$PATH:$ORACLE_HOME/bin
#PATH=$PATH:$HOME/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
source ~/.bash_profile #命令列載入生效
echo "/usr/lib/oracle/11.2/client64/lib"  >>/etc/ld.so.conf
/sbin/ldconfig #命令列執行生效

3.3.6 安裝cx_Oracle-5.1.2

tar xf cx_Oracle-5.1.2.tar.gz
cd cx_Oracle-5.1.2
python setup.py build 
python setup.py install

3.3.7 安裝Pymongo for python (如果需要監控Mongodb則必須安裝)

cd /tools
tar xf pymongo-2.7.tar.gz
cd pymongo-2.7
python setup.py install

3.3.8 安裝SQLServer驅動 (如果需要監控SQLServer則必須安裝)

3.3.8.1 安裝freetds

cd /tools
tar xf freetds-0.82.tar.gz
cd freetds-0.82
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static
make
make install
echo "/usr/local/freetds/lib" >>/etc/ld.so.conf.d/freetds.conf
ldconfig -v

3.3.8.2 安裝pymssql

cd /tools
tar xf pymssql-2.1.1.tar.gz
cd pymssql-2.1.1
python setup.py install

3.3.9 解壓Lepus3.7軟體檢查各部分驅動是否正常連線

cd /tools
unzip Lepus3.7.zip
cd /tools/lepus_v3.7/python
python test_driver_mysql.py
python test_driver_oracle.py
python test_driver_mongodb.py
python test_driver_redis.py

3.4 安裝lepus採集器

cd /tools/lepus_v3.7/python
chmod +x lepus*
chmod +x install.sh
./install.sh
cd /usr/local/lepus/

3.4.1 在監控機建立監控資料庫並授權

登入資料庫

create database lepus default character set utf8;
grant all on lepus.* to 'lepus_user'@'localhost' identified by '123456';
flush privileges;

匯入SQL資料夾裡的初始化SQL檔案(表結構和資料檔案)

cd /tools/lepus_v3.7/sql/
mysql -uroot -p123456 lepus <lepus_table.sql
mysql -uroot -p123456 lepus <lepus_data.sql

3.5 安裝WEB管理臺

複製lepus_v3.7/php資料夾裡的檔案到apache對應的網站虛擬目錄,修改配置

cd /tools/lepus_v3.7
cp -rf php/* /application/apache/htdocs/www/

修改lepus的資料庫連線檔案

vim /application/apache/htdocs/www/application/config/database.php
$db['default']['hostname'] = '127.0.0.1';
$db['default']['port']     = '3306';
$db['default']['username'] = 'lepus_user';
$db['default']['password'] = '123456';
$db['default']['database'] = 'lepus';
$db['default']['dbdriver'] = 'mysql';
ServerName要修改成本機127.0.0.1:80

修改虛擬配置檔案
/application/apache/conf/extra/httpd-vhosts.conf
重啟apache服務
修改配置檔案

vim /usr/local/lepus/etc/config.ini
###監控機MySQL資料庫連線地址###
[monitor_server]
host="127.0.0.1"
port=3306
user="lepus_user"
passwd="123456"
dbname="lepus"

啟動lepus服務

cd /usr/local/lepus/
lepus start
ps -ef|grep lepus

但是因為還沒有新增主機,所以檢視日誌會看到如下提示,屬於正常提示。當然這一步也可以在部署完Lepus WEB控制檯後再進行啟動。
這裡寫圖片描述
登入頁面使用者名稱admin密碼Lepusadmin。

第4章 新增MySQL監控例項

Lepus監控資料庫是採用遠端連線方式進去獲取資料,所以無需要在資料庫伺服器端部署相關agent或計劃任務。但是需要在資料庫端進行授權訪問,然後在WEB端配置例項就可以了。具體步驟如下所示。
首先我們在被監控的資料庫端執行授權,允許Lepus採集器伺服器能連線到資料庫,需要在被監控的資料庫執行如下命令來授權。
在需要被監控的資料庫伺服器上授權,我們現在借用10.0.0.52上的多例項資料庫3306來操作測試

grant select,process,super on *.* to 'lepus_user'@'10.0.0.%' identified by '123456';
flush privileges;

建立完成後,就可以在頁面中配置主機項了。
這裡寫圖片描述
作者按:
1.以上文件借鑑了天兔官網的安裝文件,筆者自己安裝搭建的,官網上使用的LAMP環境是一個整和包的Xampp,筆者沒有玩明白,搭建完成後在安裝軟體時也都是坑。所以最後一氣之下,自己手動搭建完成了一個LAMP環境。整個安裝過程已經完全排除了大多數坑,如果一步步按照筆者這個文件百分百一樣,搭建絕對是可以完成的。
2.本文只是一個基礎的搭建文件,並沒有深入研究該監控軟體的細節。

相關推薦

Lepus資料庫監控搭建

第1章 lepus介紹 Lepus是一套開源的資料庫監控平臺,目前已經支援MySQL、Oracle、SQLServer、MongoDB、Redis等資料庫的基本監控和告警(MySQL已經支援複製監控、慢查詢分析和定向推送等高階功能)。Lepus無需在每臺數據庫

centos7 (Lepus)資料庫監控系統

一、簡介        Lepus安裝需要Lamp環境,Lamp環境的安裝個人認為比較費勁,XAMPP的一鍵部署LAMP環境省心省力, lepus官網手冊也建議採用XAMPP的方式安裝,lepus也是在XAMPP上進行研發的,看官網安裝手冊,看了半天也沒成功,經過

Lepus數據庫監控軟件的搭建

研究 除了 3.1 屬於 我們 加載 access mos mil 第1章 lepus介紹 Lepus是一套開源的數據庫監控平臺,目前已經支持MySQL、Oracle、SQLServer、MongoDB、Redis等數據庫的基本監控和告警(MySQL已經支持復制監控、慢查詢

(Lepus)監控操作系統(OS)安裝配置

pid install style 主機 share net-snmp weight ecn 安裝 http://suifu.blog.51cto.com/9167728/1770703 監控和被監控端都要安裝和配置snmp: [[email protecte

(Lepus)監控系統慢查詢分析平臺安裝配置

fig align fxaa comm one 平臺 back ria pri 轉http://suifu.blog.51cto.com/9167728/1770672 被監控端要安裝pt工具 1 2 3 4 [[email protec

(Lepus)監控郵件推送安裝配置

好吧,我承認官網的郵件配置教程我又沒看懂,這裡記錄下我的配置方法[[email protected]]# vi /usr/local/lepus/test_send_mail.py#!/usr/bin/envpython # -*- coding: utf8-*-

(Lepus)監控作業系統(OS)配置文件

該章節將向大家闡述如何在生產資料庫伺服器上部署OS資源的監控,包括CPU,磁碟等專案的監控和告警,Lepus是通過snmp協議進行對作業系統資料採集的!所以需要在監控器開啟snmp服務。 下面將向大家說明作業系統SNMP服務協議的描述和啟用方法。 1 什麼是snmp

(Lepus)監控系統快速安裝部署

Lepus安裝需要Lamp環境,Lamp環境的安裝個人認為比較費勁,XAMPP的一鍵部署LAMP環境省心省力, lepus官網手冊也建議採用XAMPP的方式安裝,lepus也是在XAMPP上進行研發的,看官網安裝手冊,看了半天也沒成功,經過多日奮戰,終於實現lepus的快速

(LEPUS)監控系統慢查詢分析平臺配置文件手冊(V3.0)

該章節將向大家闡述如何在生產資料庫伺服器上部署慢查詢分析平臺,並實現慢查詢自動推送功能,慢查詢自動推送是指將系統收集的慢查詢Top10資料定時通過郵件形式推送給開發或DBA進行優化。 Lepus的慢查詢分析平臺是獨立於監控系統的模組,該功能需要使用percona-too

插件監控mysql

update tab index 解決 鏈接 file 實體 direct 主機 Lepus3.8-天兔mysql數據庫監控系統搭建 原創ixhao2016-08-24 02:36:23評論(11)3183人閱讀 Lepus3.8-天兔mysql數據庫監控系統搭建

資料庫監控系統:Lepus

部署LAMP [[email protected] ~]# tar zxvf setuptools-0.6c11.tar.gz [[email protected] ~]# cd setuptools-0.6c11

Lepus資料庫監控系統安裝配置

[[email protected] ~]# cd /opt/[[email protected] opt]# wget https://www.apachefriends.org/xampp-files/5.6.36/xampp-linux-x64-5.6.36-0-installer.

lepus 搭建過程

l數據庫 snmp dbn 增加 `` ssl load client pro 天兔``` 安裝lamp yum install -y httpd php mariadb mariadb-server php-mysql yum -y install php-gd p

Lepus)數據庫監控系統安裝筆記

req color .html cte 設置 %s 找到 bre upd 天兔(Lepus)數據庫監控系統安裝筆記 一、部署:本次操作系統:centos6.9 IP:192.168.153.145Lepus_v3.8_beta MySQL-python-1.2.5xamp

強大的開源企業級資料庫監控利器Lepus

Lepus監控簡單介紹 官方網站:http://www.lepus.cc 開源企業級資料庫監控系統 簡潔、直觀、強大的開源資料庫監控系統,MySQL/Oracle/MongoDB/Redis一站式效能監控,讓資料庫監控更簡單 Git倉庫地址:https://gitee.com/ruzuo

zabbix服務端監控搭建(一)

zabbix第1章 環境搭建[[email protected] zabbix]# uname -mx86_64[[email protected] zabbix]# uname -r2.6.32-642.el6.x86_64[[email protected] zabbix]#

zabbix監控搭建步驟

兩臺 項目上線 for 80端口 .org .com use 新建 logs Zabbix搭建,監控tomcat、mysql三臺服務器,以及微信告警 系統詳情:Centos6.5 Centos6.8 Centos6.7 新項目上線在即,現在在測試階,搭建zabbix進行監控

hadoop(十二)hbase資料庫+叢集搭建+Api

HBASE表結構: 建表時,不需要限定表中的欄位,只需要指定若干個列族 插入資料時,列族中可以儲存任意多個列(KV,列名&列值) 要查詢某一列具體欄位的值,需要指定的座標:列名--->行健--->列族:列名--->版本   hbase的存

定時備份資料庫檔案,定時刪除xx之前的資料庫備份檔案

1在linux下建立一個指令碼 指令碼中內容為 該指令碼的作用為備份資料庫,生成的資料庫檔案的格式為xxxx20160527.sql   2定時執行備份資料庫指令碼 執行定時任務 點

Zabbix監控搭建部署

環境:zabbix-server :192.168.200.130             zabbix-被 監 控:192.168.200.128 一 ZabbixServe