监控宝 mysql_监控宝服务性能监控配置(完整版)

继上篇监控宝服务器监控后,此篇博文详细记录下项目中对常用服务监控的配置步骤

监控宝服务性能监控配置(完整版)

一、目的

本文是在《监控宝服务器与服务性能监控配置》(URL:http://blog.51cto.com/kaliarch/2044977)文档的基础上继续完善其中的服务性能监控,目前监控宝服务性能监控项目为11个,经过部署环境,测试监控服务,已经完成全部服务性能监控测试,如有需求可以参考此文档部署服务性能监控。

二、理论基础

2.1 相关理论

详见《监控宝服务器与服务性能监控配置》内监控理论部分。

2.2 监控项目

4f4e3d42c8464b79f8be348d12297abc.png

服务性能监控项目

三、服务性能监控部署

3.1 Nginx 服务性能监控

1)内网采集器的创建

14ab072861b30c6dc51c6d627085bf94.png

f370eae26f04e686182b5a4da7b01e5d.png

48b812f254003302a89290fd57e0da4e.png

83cc4c957914f978519a021c8e56a1eb.png

c47ac58c38466b2130300b149f35a32d.png

2)Python环境部署

详见《SER-App-0028-监控宝服务器与服务性能监控配置》内Python环境部署部分。

3)SNMP安装与配置

详见《SER-App-0028-监控宝服务器与服务性能监控配置》内SNMP安装配置部分。

4)Nginx配置需求

Nginx 编译安装必须启用--with-http_stub_status_module

Nginx配置文件内增加以下状态信息。

4dbb1021dccb2f25ac44aa12d1dee3bd.png

7e58202fe69ca5f06179b30131539162.png

ac4dc37c570a6bc653380b6311ebd6b5.png

active connections – 活跃的连接数量server accepts handled requests — 总共处理了764个连接,成功创建764次握手,总共处理了906个请求reading — 读取客户端的连接数.writing — 响应数据到客户端的数量waiting — 开启keep-alive的情况下,这个值等于active–(reading+writing),意思就是Nginx已经处理完正在等候下一次请求指令的驻留连接.

5)采集器的运行

5c1adcc45764e9bd0a70b1798de94f3c.png

6)监控项目创建

8ecec448e385c8708fe488a0d8d839d9.png

711f2c501fdc90136fc82356c763b18a.png

3261358d6200149c60e1a0c38da7cffd.png

7)监控项目查看

2f9c1ed12e64dab772f228cec14154fc.png

1a7fdf38567f332e5b14e5bd32d20239.png

0d566ef5e057c8536b4ca48cf54f11c6.png

3.2 Apache 服务性能监控

1)内网采集器的创建

8dbf626e81be6c4fead7bde016c7c496.png

b2d0ddf7a7155c2cbedfbc05d04a4413.png

2)Python环境部署

详见《SER-App-0028-监控宝服务器与服务性能监控配置》内Python环境部署部分。

3)  SNMP安装与配置

详见《监控宝服务器与服务性能监控配置》内SNMP安装配置部分。

1)Apache开启状态页面

Apache的安装

配置文件里面需要开启apache状态模块

ddf6fa231bc7bfaafa37711305c49111.png

1fac50bc4504972085e5f73624697dc4.png

c20892e93a298acb4e6faacfe91ead8f.png

ExtendedStatus On

SetHandler Server-status

Order deny,allow

Deny from all

Allow from all

8f2b3600a2d8945973d902f2e9a6b9aa.png

5)采集器的运行

373cd37df45286dab6e507a23501249d.png

6)监控项目创建

a1a7d8622f441e8cf17d2841a9af8d62.png

15b6e15128394be9539f117d5a352e41.png

7)监控项目查看

ef4f0d4eacb29d502f27eb83d76e794d.png

860e0443ab31c4837a1b134f6eaf063d.png

35cdbe5dfaff58a621756241349b864f.png

0c9caa279e00eeccba93586f48177e22.png

3.3 Mysql 服务性能监控

1)内网采集器的创建

8c9090f0e379a053ea6159a23fe48809.png

a38ebc1a3dd5fb8c2a8eaf28d53e6563.png

eeaf08d80ec8ccf926b76edee9587dda.png

2)Python环境部署

若要使用mysql性能监控,需要安装Python的MySQLdb扩展件。

安装mysql插件

windows2003

http://jaist.dl.sourceforge.net/project/mysql-python/mysql-python-test/1.2.4b4/MySQL-python-1.2.4b4.win32-py2.7.exe

默认安装即可。

linux下 需要根据您安装的python版本来安装对应的‘Python interface’

ubuntu下的需要apt-get install python-mysqldb

centos下需要yum install   Mysql-python

如果python是编译的请将mysql-python重新编译进去。

2)SNMP安装与配置

详见《SER-App-0028-监控宝服务器与服务性能监控配置》内SNMP安装配置部分。

3)Mysql配置

添加mysql用户

在被监测的myql上执行

>CREATE USER ‘xuel’@’你的采集器的IP’ IDENTIFIED BY ‘your_password’;

>flush privileges;

3d9040bc516f60a59a18744cf373fc9b.png

授权用户远程连接

d7e3eeec00463435363bd6264b79a6c3.png

重启采集器

安装完mysql-python 之后 ,双击stop.bat,按任意键退出,并退出之前的采集器窗 口。双击start.bat

测试已经可以正常连接数据库。

1e3d418ceb02afcf4877b3966be27524.png

5)采集器的运行

3e1264ede961042f14598cfd91d0d820.png

6)监控项目创建

72d49aec1290dce0d9900c1d82993442.png

52802b6ced7652cc0d4de4369dc8fa15.png

299b9ffaf4f5aab1696e572ffbdcca45.png

7)监控项目查看

44b18edd47528997bbee69a88617f1a4.png

8594b762504da97b79fe6e23566d65a0.png

3.4 IIS 服务性能监控

1)内网采集器的创建

39550390e21d32f008a93f394d3a155a.png

选择IIS插件

3a97f89909d2b64e2efadf6200af92c8.png

下载对应window版本

4d41da25d033e5c7a8e34da3ac4d16c8.png

2)Python环境部署

采集器运行需要Python环境,详见《SER-App-0028-监控宝服务器与服务性能监控配置》

3)采集器的运行

被监控服务器查看IIS服务器日志路径

be2454b34bf0f64d61c96be5ee6ff62f.png

76cdf0834be5f0116f87dd3cb032d64f.png

4)监控项目创建

81130055198561e88559167c49e94816.png

5)监控项目查看

3e336fafdededd503edb3d2d4a0ff78e.png

d2c962ae66a5529bf255962729a29d82.png

3.5 Tomcat 服务性能监控

1)内网采集器的创建

d53faaea41267c380cf3b773caa993d0.png

选择tomcat插件

3af960b93d44cc0734c1838af59a9591.png

下载对应Linux版本

6d99991688a91b0527c24154f476ee41.png

2)Python环境部署

采集器运行需要Python环境,详见《SER-App-0028-监控宝服务器与服务性能监控配置》

3)Tomcat需求配置

安装部署好tomcat后,需要配置状态面的登录用户名和密码

9e1c4c4976ecb959939c69c697d370d4.png

启动服务

218336ab3d37281d8ab7039a40903771.png

Tomcat状态页

1f7ff19d23452c72e31571f7b249282d.png

查看状态页面

711b7598150580517bbc3ff0022bc35e.png

4)采集器的运行

b717e8a32f56035c3ec2a4f4ce7ac3db.png

5)监控项目创建

5112d0d26b507b9597878edec1f32fa8.png

4742e9cfbee565e92b542bf9b8f5c6b9.png

6)监控项目查看

84e350d29b67c939cf79a9cc9b250883.png

538681b7226ed3f7c23fc135bf84929f.png

3.6 SQLserver 服务性能监控

1)内网采集器的创建

dcdbf370090d4338bb420efa9ab1d864.png

选择SQLserver插件

下载对应window版本

2)Python环境部署

采集器运行需要Python环境,详见《SER-App-0028-监控宝服务器与服务性能监控配置》

3)被监控服务器配置

若要使用sql server性能监控,需要安装pyodbc扩展,使得python能连接sql server

Pyodbc的下载地址:

安装pip

0c9c5f97eecfc34f81dc5fff69e1ab91.png

4)采集器的运行

b347cbfee3bb82b8f2f807d3b211050e.png

5)监控项目创建

ed86cb7812d0286a283f16714d59deb0.png

6)监控项目查看

a3f4b44e8589ccfeafd9e5f3e6f59437.png

7d783ffd6e146df3a2b9444fbc047b58.png

4dd36691793ec373f23e2ea8e08d7fb5.png

3.7 Mongodb服务性能监控

1)内网采集器的创建

f0ba9ea9454ab8ead3f6b61748c8eabf.png

选择Mongodb插件

0dc7202d758def36c4547cd3efc92606.png

下载对应Linux版本

71ecb8ea83f63ba785ec918d79ebe122.png

2)Python环境部署

采集器运行需要Python环境,详见《SER-App-0028-监控宝服务器与服务性能监控配置》

3)Mongodb配置

为方便部署,目前已经讲Mongodb的安装写成脚本,脚本见附录

启动mongodb需要加httpinterface WEB界面接口

468ff9078135bd10c20b8e4fbd621af1.png

c50db26d6537da368b7b5cf81aa60c9f.png

2c672a612ab3c8540081acf718f48cbb.png

4)采集器的运行

5a90a4c503cf01537f8da5f9e6153e03.png

5)监控项目创建

bd507d79ed5c54c09ed4ebb316e85271.png

6)监控项目查看

469488945e30717f3fed3da79bc73e1e.png

a8d2e04eae2b005b34e1b5b8e0ff0ad3.png

3.8 Lighttpd 服务性能监控

1)内网采集器的创建

fa80cbbd0fbbb32d98d48edfcb5484a7.png

选择Lighttpd插件

32408a25aa8e237c6e8e56725e69c261.png

下载对应Linux版本

6c159845c1e9e6a5c3758951830691a8.png

2)Python环境部署

采集器运行需要Python环境,详见《SER-App-0028-监控宝服务器与服务性能监控配置》

3)Lighttpd配置

为方便部署,目前已经讲Lighttpd的安装写成脚本,脚本见附录

启用状态模块

fcff57120fe92ef1c234a6b2b25256c2.png

8cf3f47b0cd46c5becd2d48e0bd79e69.png

1286d584ac92d5fca9ba30ffbd64fa45.png

4)采集器的运行

ef564c3e870bb7e02e9a23d92420793c.png

5)监控项目创建

fe8676f6ff49788cf8de59c5dbb2aaae.png

6)监控项目查看

cce6d081f614b1ec92d1e7378eb151d3.png

bea9177ab69c416bc065651800e9488b.png

3.9 Redis 服务性能监控

1)内网采集器的创建

18eead3de190a336da0ec3b15f697c79.png

2)Python环境部署

采集器运行需要Python环境,详见《SER-App-0028-监控宝服务器与服务性能监控配置》

3)Redis配置

为方便部署,目前已经讲Redis的安装写成脚本,脚本见附录

a9558919cf83a6c60acfdbf31304215d.png

3a75f6c7ef96d0d687ac0108f5737076.png

d65ffad57d5a7e9fd3152b24933c2eaf.png

4)采集器的运行

6b4a53261c440f464919cc0977a5fef8.png

4 )监控项目创建

40a75ed447fa6673fa198230de7654df.png

5)监控项目查看

b9b6b78c6605d9bdfb6e3b365aa0cca2.png

75be98f9fd3c2ea208b47cb0aec44f0b.png

a9ef1ec2ba90a8402311c347d8a3ef46.png

3.10 Memcache 服务性能监控

1)内网采集器的创建

f73c815aea9c2a1096e221d55d807d6e.png

2)Python环境部署

采集器运行需要Python环境,详见《SER-App-0028-监控宝服务器与服务性能监控配置》

3)Memcache的配置

为方便部署,目前已经讲Memcache的安装写成脚本,脚本见附录

063daa3699ffb88f7b793bc46466d1be.png

在创建项目时下载memcache文件,并发布到web服务器,下图 为状态页信息

93c5e3f22d88d77892a0aec83b4d3ad2.png

4)采集器的运行

67086d5c743a95f0dc1f0629b276d950.png

5)监控项目创建

6aac4c88d4b78ac39d3f9824bbc00608.png

6)监控项目查看

e9513719cde317cf89ede04fc47886b9.png

3.11 Oracle 服务性能监控

1)内网采集器的创建

52fe160bc0f665d1e360001a5fcf30b9.png

2)Python环境部署

采集器运行需要Python环境,详见《监控宝服务器与服务性能监控配置》

3)Oracle配置

需要修改监听端口为公网,修改listener文件,重启oracle服务

71f7b62bfaecbfe2ac2dbd2814476171.png

c3f7a16ae186ca071238ef4eec95afef.png

38f1f4e9aed8a2b9f18b7c152156d281.png

5)监控项目创建

f4e8f5fb503cb2d631e4bbf1bfc86e27.png

6)监控项目查看

66ee8e74e2cbe8d3fa2a9ff2bc01c590.png

7512e41e02c14eb9f85747fd079a0a7f.png

四、注意事项

4.1 采集器或采集脚本设置开机自启

为保障被监控服务当出现异常重启后采集其自动启动,为此需要写脚本讲采集器写如开机自启动,保障服务器恢复后,正常监控服务。

创建一个单独的采集器目录,并写入/etc/rc.local中。

如创建scripts 目录

bash /scripts/jkb_agent/start.sh

4.1 Mysql监控需要安装插件

如果没有安装MySQL-python  在 采集器的LOG中 会报相应的错误 内容类似如下:

2013-05-29 18:16:23,638 ERROR relation_id:1310  type:mysql  error:Traceback (most recent call last):

File “C:\jkb_agent_windows\jkb_agent\plugin\MySQLPlugin.py”, line 51, in getData

import MySQLdb

ImportError: No module named MySQLdb2013-05-29 18:16:23,638 ERROR relation_id:1310  type:mysql  error:Traceback (most recent call last):

import MySQLdb

ImportError: No module named MySQLdb

4.2 WEB应用

检查服务内部WEB中间件是否内部加载status模块,使用浏览器测试是否可以正常打开status页面。

4.3检测SNMP数据

检查防火墙是否开启对应UDP端口,使用snmpwalk -v SNMP版本-c团体名称 检测IP .

测试是否有数据返回。

此处以5min CPU的负载来测试。

0a12efeb7b0aeaea9a9c1b58a376077a.png

使用Windows下测试工具MIB Browser测试是否有监控数据返回。

填写被监控端IP地址、SNMP团体号、端口等信息。

2451feb55aefe5317cc8f24450b291ce.png

e3b701a19cdc652e49254db403112b2a.png

08885499b991af8394c87b946782333d.png

有数据出现,即配置正确,可以获取主机数据。

4.5 SQLserver 监控安装pyodbc

基于python环境编写的采集器运行需要相关python模块的支持,需要安装pip来安装pyodbc

e09cac7cd631e00e5ae4f87aadac7c51.png

4.6 Mongodb 需要安装JSON

需要安装python-json lib包

dad857bebdc7ca125e3c05f5aba5e776.png

4.7 Redis 部署问题

Redis在监控过程中,发布到被监控服务器WEB应用中状态页是由php语言编写,需要安装php环境支持,需要开启php-redis模块

基于python语言编写的采集器需要python-redis模块支持,才可以正常获取数据。

00db8a780318cf985aaa4c29db63537e.png

4.8 Oracle 需要修改主机监听端口

Oracle安装完成后,默认1521端口之上本地监听,监控宝创建监控项目中监控项目连接名需要指明端口,所以需要修改监听端口为公网,修改listener文件,(HOST=被监控主机名),之后重启oracle服务。

c71d1715b61b5b67529fd8aa9411fa63.png

监控项目Orale连接明为:IP:端口/数据库实例名称

如:192.168.111.96:1521/orcl

五、附录

目前已经将Linux下安装一些服务写成脚本,均为centos 6.x实验,后期有需求可以拓展更多版本,更便于快速部署基本环境。

AutoInstallRedis.sh

#!/bin/bash

#############

#mail xuel@anchnet.com

echo "##########################################"

echo "Auto Install Redis                      ##"

echo "Press Ctrl + C to cancel                ##"

echo "Any key to continue                     ##"

echo "##########################################"

read -n 1

/etc/init.d/iptables stop

sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config

if [ -d /tools ];then

cd /tools

else

mkdir /tools && cd /tools

fi

yum -y install wget

wget -c -O /tools/redis http://download.redis.io/releases/redis-3.0.2.tar.gz

tar -zxvf redis

cd redis-3.0.2

make

cd src/

make test

make install

cp redis.conf /etc/

cat >> /etc/init.d/redis <

#!/bin/bash

#

# Init file for redis

#

# chkconfig: - 80 12

# description: redis daemon

#

# processname: redis

# config: /etc/redis.conf

# pidfile: /var/run/redis.pid

source /etc/init.d/functions

#BIN="/usr/local/bin"

BIN="/usr/local/bin"

CONFIG="/etc/redis.conf"

PIDFILE="/var/run/redis.pid"

### Read configuration

[ -r "$SYSCONFIG" ] && source "$SYSCONFIG"

RETVAL=0

prog="redis-server"

desc="Redis Server"

start() {

if [ -e $PIDFILE ];then

echo "$desc already running...."

exit 1

fi

echo -n $"Starting $desc: "

daemon $BIN/$prog $CONFIG

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog

return $RETVAL

}

stop() {

echo -n $"Stop $desc: "

killproc $prog

RETVAL=$?

echo

[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog $PIDFILE

return $RETVAL

}

restart() {

stop

start

}

case "$1" in

start)

start

;;

stop)

stop

;;

restart)

restart

;;

condrestart)

[ -e /var/lock/subsys/$prog ] && restart

RETVAL=$?

;;

status)

status $prog

RETVAL=$?

;;

*)

echo $"Usage: $0 {startstoprestartcondrestartstatus}"

RETVAL=1

esac

exit $RETVAL

EOF

chmod 755 /etc/init.d/redis

sed -i "s/daemonize no/daemonize yes/g" /etc/redis.conf

chkconfig redis on

service redis start

echo -e "\033[32m Redis install success\033[0m"

netstat -lntup | grep redis

5.3 AutoInstallMongodb.sh

#!/bin/bash

#mail xuel@anchnet.com

echo "##########################################"

echo "Auto Install Mongodb                    ##"

echo "Press Ctrl + C to cancel                ##"

echo "Any key to continue                     ##"

echo "##########################################"

read -n 1

/etc/init.d/iptables status >/dev/null 2>&1

if [ $? -eq 0 ]

then

iptables -I INPUT -p tcp --dport 27017 -j ACCEPT &&

iptables -I INPUT -p tcp --dport 28017 -j ACCEPT &&

iptables-save >/dev/null 2>&1

else

echo -e "\033[32m iptables is stopd\033[0m"

fi

sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config

setenforce 0

################################

if [ -d /opt ];then

cd /opt

else

mkdir /opt && cd /opt

fi

yum -y install wget

yum groupinstall "Development tools" -y

wget -c -O /opt/mongodb https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2.9.tgz

tar -zxvf mongodb-linux-x86_64-rhel62-3.2.9.tgz

mv mongodb-linux-x86_64-rhel62-3.2.9 mongodb

cd  mongodb

mkdir log && mkdir data

cd log && touch mongodb.log

cd ..

./bin/mongod --httpinterface --dbpath /opt/mongodb/data/ --logpath /opt/mongodb/log/mongodb.log --fork

echo -e "\033[32m Mongodb install success\033[0m"

netstat -lntup | grep mongod

5.4 AutoInstallLighttpd.sh

#!/bin/bash

#mail xuel@anchnet.com

echo "##########################################"

echo "Auto Install Lighttpd                   ##"

echo "Press Ctrl + C to cancel                ##"

echo "Any key to continue                     ##"

echo "##########################################"

read -n 1

/etc/init.d/iptables status >/dev/null 2>&1

if [ $? -eq 0 ]

then

iptables -I INPUT -p tcp --dport 80 -j ACCEPT &&

iptables-save >/dev/null 2>&1

else

echo -e "\033[32m iptables is stopd\033[0m"

fi

sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config

setenforce 0

#######################################

if [ -d /tools ];then

cd /tools

else

mkdir /tools && cd /tools

fi

yum -y install wget  gcc

yum groupinstall "Development tools" -y

wget -c -O /tools/lighttpd http://download.lighttpd.net/lighttpd/releases-1.4.x/lighttpd-1.4.41.tar.gz

yum -y install gcc pcre-devel zlib-devel vim bzip2-devel

cd /tools/

tar zxvf lighttpd

cd lighttpd-1.4.41

./configure --prefix=/usr/local/lighttpd

make && make install

/etc/init.d/lighttpd start

echo -e "\033[32m Lighttp install success\033[0m"

netstat -lntup | grep lighttpd

5.5 AutoInstallMemcache.sh

#!/bin/bash

#mail xuel@anchnet.com

echo "##########################################"

echo "Auto Install memcached                   ##"

echo "Press Ctrl + C to cancel                 ##"

echo "Any key to continue                      ##"

echo "##########################################"

read -n 1

/etc/init.d/iptables status >/dev/null 2>&1

if [ $? -eq 0 ]

then

iptables -I INPUT -p tcp --dport 11211 -j ACCEPT &&

iptables-save >/dev/null 2>&1

else

echo -e "\033[32m iptables is stopd\033[0m"

fi

sed -i "s/SELINUX=enforcing/SELINUX=disabled/"  /etc/selinux/config

setenforce 0

################################

if [ -d /tools ];then

cd /tools

else

mkdir /tools && cd /tools

fi

yum -y install wget gcc libevent libevent-devel

yum groupinstall "Development tools" -y

wget -c -O /tools/memcached http://memcached.org/files/memcached-1.4.31.tar.gz

tar -zxvf memcached

cd  memcached-1.4.31

./configure

make

make install

/usr/local/bin/memcached -d -u root

echo -e "\033[32m Memcache install success\033[0m"

netstat -lntup | grep memcached

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值