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

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

服务器监控可参考:http://blog.51cto.com/kaliarch/2044977

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

一、目的 2

二、理论基础 2

2.1 相关理论 2

2.2 监控项目 2

三、服务性能监控部署 2

3.1 Nginx 服务性能监控 2

3.2 Apache 服务性能监控 6

3.3 Mysql 服务性能监控 9

3.4 IIS 服务性能监控 14

3.5 Tomcat 服务性能监控 16

3.6 SQLserver 服务性能监控 20

3.7 Mongodb服务性能监控 23

3.8 Lighttpd 服务性能监控 25

3.9 Redis 服务性能监控 28

3.10 Memcache 服务性能监控 31

3.11 Oracle 服务性能监控 33

四、注意事项 38

4.1 Mysql监控需要安装插件 38

4.2 WEB应用 38

4.3检测SNMP数据 38

4.5 SQLserver 监控安装pyodbc 40

4.6 Mongodb 需要安装JSON 40

4.7 Redis 部署问题 40

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

五、附录 41

5.1 AutoInstallSNMP.sh 41

5.2 AutoInstallRedis.sh 43

5.3 AutoInstallMongodb.sh 45

5.4 AutoInstallLighttpd.sh 46

5.5 AutoInstallMemcache.sh 47

一、目的

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

二、理论基础

2.1 相关理论

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

2.2 监控项目

服务性能监控项目

三、服务性能监控部署

3.1 Nginx 服务性能监控

1) 内网采集器的创建

2) Python环境部署

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

3) SNMP安装与配置

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

4) Nginx配置需求

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

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

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

5) 采集器的运行

6) 监控项目创建

7) 监控项目查看

3.2 Apache 服务性能监控

1)内网采集器的创建

2) Python环境部署

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

3)  SNMP安装与配置

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

1) Apache开启状态页面

Apache的安装

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

ExtendedStatus On
<Location /Server-status>
SetHandler Server-status
Order deny,allow
Deny from all
Allow from all
</Location>

5)采集器的运行

6)监控项目创建

7)监控项目查看

3.3 Mysql 服务性能监控

1) 内网采集器的创建

2) Python环境部署

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

具体参考http://blog.jiankongbao.com/?p=1556

安装mysql插件

  • windows2003

请访问 http://sourceforge.net/projects/mysql-python/ 找对应下载文件

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;

  • 授权用户远程连接

  • 重启采集器

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

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

5) 采集器的运行

6) 监控项目创建

7) 监控项目查看

3.4 IIS 服务性能监控

1) 内网采集器的创建

选择IIS插件

下载对应window版本

2) Python环境部署

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

3) 采集器的运行

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

4) 监控项目创建

5) 监控项目查看

3.5 Tomcat 服务性能监控

1) 内网采集器的创建

选择tomcat插件

下载对应Linux版本

2) Python环境部署

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

3) Tomcat需求配置

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

启动服务

Tomcat状态页

查看状态页面

4) 采集器的运行

5) 监控项目创建

6) 监控项目查看

3.6 SQLserver 服务性能监控

1) 内网采集器的创建

选择SQLserver插件

下载对应window版本

2) Python环境部署

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

3) 被监控服务器配置

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

Pyodbc的下载地址:

https://pypi.python.org/pypi/pyodbc/#downloads

安装pip

4) 采集器的运行

5) 监控项目创建

6) 监控项目查看

3.7 Mongodb服务性能监控

1) 内网采集器的创建

选择Mongodb插件

下载对应Linux版本

2) Python环境部署

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

3) Mongodb配置

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

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

4) 采集器的运行

5) 监控项目创建

6) 监控项目查看

3.8 Lighttpd 服务性能监控

1) 内网采集器的创建

选择Lighttpd插件

下载对应Linux版本

2) Python环境部署

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

3) Lighttpd配置

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

启用状态模块

4) 采集器的运行

5) 监控项目创建

6) 监控项目查看

3.9 Redis 服务性能监控

1) 内网采集器的创建

2) Python环境部署

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

3) Redis配置

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

4) 采集器的运行

4 ) 监控项目创建

5) 监控项目查看

3.10 Memcache 服务性能监控

1) 内网采集器的创建

2) Python环境部署

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

3) Memcache的配置

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

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

4) 采集器的运行

5) 监控项目创建

6) 监控项目查看

3.11 Oracle 服务性能监控

1) 内网采集器的创建

2) Python环境部署

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

3) Oracle配置

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

Oracle web界面管理端口1158  URL:https://192.168.111.96:1158/em

5) 监控项目创建

6) 监控项目查看

四、注意事项

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的负载来测试。

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

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

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

4.5 SQLserver 监控安装pyodbc

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

4.6 Mongodb 需要安装JSON

需要安装python-json lib包

4.7 Redis 部署问题

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

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

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

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

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

如:192.168.111.96:1521/orcl

五、附录

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

AutoInstallRedis.sh
#!/bin/bash
#############
#mail [email protected]
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 << EOF
#!/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 [email protected]
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 [email protected]
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 [email protected]
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
时间: 2024-12-22 17:06:12

监控宝服务性能监控配置(完整版)的相关文章

免费网站监控服务阿里云监控,DNSPod监控,监控宝,360云监控使用对比

网站会因为各种原因而导致宕机,具体表现为服务器没有响应,用户打不开网页,域名解析出错,搜索引擎抓取页面失败,返回各种HTTP错误代码.网站宕机可能带来搜索引擎的惩罚,网站服务器不稳定与百度关系文章中就是一个生动的例子. 为了最大限度地避免损失,我们需要在网站宕机后尽快得到提醒,同时在最短的时间恢复网站的正常运行.这就是作为草根个人站长的悲剧,起早贪黑地更新网站内容,没想到一个十五长假过去了,网站宕机了好几天,回来一看site百度网站消失了. 本篇文章就来分享一下国内四个免费的网站监控服务:阿里云

深度解析云智慧监控宝新版API监控

API已成为经济生态 API是随着互联网和云计算的兴起而催生的产物.像云供应商亚马逊.互联网巨头Google.社交媒体Twitter,他们的服务都是通过API的方式来提供的.API这个概念在2005年从国外就开始火起来了,同时歪果仁提出了"API经济"的概念. 图:2012年数据 IBM中间件总经理Marie L. Wieck在一次采访中指出,到2018年API经济的市场规模预计将达到2.2万亿美元,而在未来2-3年中,开展API项目的企业数量有望增长150%.API监控可持续考察AP

Redhat6.5下MySQL5.6集群配置完整版

1.准备三台服务器 2.为三台机器分别安装Linux操作系统(Oracle Linux / RHEL 6.5 x86_64bit) 3.分别IP地址 管理节点      192.168.1.110         (负责管理整个集群) SQL节点       192.168.1.111         (负责操作数据库) SQL节点       192.168.1.112         (负责操作数据库) 数据节点      192.168.1.111         (负责存储数据) 数据节

Centos Bind配置完整版

首先要成功安装Centos操作系统,最新版本是Centos 6.4版本,最小化安装. [root@localhost named]# ifconfig -a eth1      Link encap:Ethernet  HWaddr 00:15:5D:01:69:2C inet addr:192.168.1.251  Bcast:192.168.1.255  Mask:255.255.255.0 inet6 addr: f180::225:5cff:fe01:691c/64 Scope:Link

MySQL5.6 Replication主从复制(读写分离) 配置完整版

MySQL5.6主从复制(读写分离)教程 1.MySQL5.6开始主从复制有两种方式: 基于日志(binlog): 基于GTID(全局事务标示符). 需要注意的是:GTID方式不支持临时表!所以如果你的业务系统要用到临时表的话就不要考虑这种方式了,至少目前最新版本MySQL5.6.12的GTID复制还是不支持临时表的. 所以本教程主要是告诉大家如何通过日志(binlog)方式做主从复制! 2.MySQL官方提供的MySQL Replication教程: http://dev.mysql.com/

配置监控宝 监控服务器性能

先在服务器上配置snmp服务: 1.安装snmp软件 yum install net-snmp net-snmp-devel net-snmp-utils ************************************************************************************** *************************************************************************************

服务性能监控指标

Apache性能监控支持以下指标: Apache吞吐率 Apache并发连接数 Apache并发连接数详细统计,包括读取请求.持久连接.发送响应内容.关闭连接.等待连接 Lighttpd性能监控支持以下指标: Lighttpd吞吐率 Lighttpd并发连接数 Lighttpd并发连接数详细统计,包括建立连接.读取请求.读取POST数据.处理请求.发送响应内容.关闭连接 Nginx性能监控支持以下指标: Nginx吞吐率 Nginx并发连接数 Nginx并发连接数详细统计,包括读取请求.处理请求

服务的最佳实践--完整版的下载示例

这里主要是<Android第一行代码>第二版书中10.6碰到的问题和解决方法,记录下来希望能帮到大家,也希望大家有更好的解决方案能一起交流.. Android Studio版本如下: 这里我先列出按照书上代码运行会出现的错误: (1).java.net.UnknownServiceException: CLEARTEXT communication to raw.githubusercontent.com not permitted by network security policy (2)

SSM Spring SpringMVC Mybatis框架整合Java配置完整版

以前用着SSH都是老师给配好的,自己直接改就可以.但是公司主流还是SSM,就自己研究了一下Java版本的配置.网上大多是基于xnl的配置,但是越往后越新的项目都开始基于JavaConfig配置了,这也是写此文章的原因.不论是eclipse还是myeclipse 都没有集成mybatis的相关组件,Spring也没有对其进行兼容,所以说我们会用到一些mybatis提供的核心jar包.下面先看一下我们的项目结构,我先自建了一个集成spring4.1的 ssm web项目(红色箭头指向注意删除web.