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

2022年01月13日 阅读数:3
这篇文章主要向大家介绍监控宝服务器与服务性能监控配置,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

以前公司有使用过监控宝来进行网络和服务器,及服务器性能监控,在此记录一下各监控配置方式python

目录mysql

1、目的 2linux

1.1 监控目的 2sql

1.2 本文目的 2shell

2、理论基础 2数据库

2.1 相关理论 2apache

2.2 拓扑架构 2json

3、监控部署 3ubuntu

3.1 监控宝服务器性能监控 3windows

3.1.1 Windows服务器性能监控 3

3.1.2 Linux服务器性能监控 11

3.2 监控宝服务性能监控 14

3.2.1 Nginx服务性能监控 14

3.2.2 Apache服务性能监控 17

3.2.3 Mysql服务性能监控 21

4、检测排错 26

4.1 Mysql监控须要安装插件 26

4.2 WEB应用 26

4.3 检测SNMP数据 26

5、附录 28


1、目的

1.1 监控目的

监控宝的目的为帮助客户监控服务器及各服务性能,及时了解服务器与正在运行业务的服务的实时状态,当异常状况发生的时候,监控宝会主动告警,并经过各类方式(包括EmailMSN、短信、电话等)第一时间通知客户,及时采起运维补救错误,以及更加及时有效的了解网站是否运转正常,经过遍及全球的300多个分布式监测节点,对网络进行稳定性和可用性实时分析,支持httphttps)、ftppingudptcpsmtptraceroute等多种协议,全网全地域性能趋势分析来自不一样地域的请求响应时间,并监控服务器的性能变化趋势,了解服务性能瓶颈,优化业务服务。

1.2 本文目的

快速部署服务器与服务性能监控,方便操做与管理相关监控项目。

2、理论基础

2.1 相关理论

在被监控服务器之上运行基于Python环境开发的内网采集器,内网采集器调用SNMP来获取被监控服务器的数据,在经过采集器主动发送给监控宝数据中心服务器,进行分析绘图,最终以WEB页面呈现给客户。

  • 服务器性能监控
    利用采集器经过SNMP来获取本机对应信息,不一样监控项目使用的采集器不一样,如服务器性能监控,抓取的为主机OS内部信息,如CPU,内存,负载等。

  • 服务性能监控
    服务性能监控,可根据需求定制采集器,服务器性能采集器抓取的为运行在服务器之上的应用程序的信息,如WEB服务器的状态页,可突破内外限制,将采集到的数据发送至监控宝服务器之上,监控端分析数据,进行绘图,最终以WEB界面呈如今用户面前。

2.2 拓扑架构

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

监控宝拓扑架构图


3、监控部署

3.1 监控宝服务器性能监控

3.1.1 Windows服务器性能监控

1) 采集器建立

内网服务器的服务器性能监控采集器能够下载WindowsLinux两个版本,对不一样系统实施监控。

监控宝服务器与服务性能监控配置_服务器_02

监控宝服务器与服务性能监控配置_服务器_03

监控宝服务器与服务性能监控配置_监控宝_04

监控宝服务器与服务性能监控配置_监控宝_05


下载相应的采集器上传到被检查服务器内。

2) Python环境部署

采集器须要Python环境运行,下面介绍Python的安装。

关于版本建议使用2.6或者2.7

若使用python2.4时,须要装hashlibctypessimplejson内库

http://pypi.python.org/pypi/hashlib

http://pypi.python.org/pypi/ctypes

http://pypi.python.org/packages/source/s/simplejson/simplejson-1.1.tar.gz

实例安装Python —–Windows 2003

a. 下载系统对应的Python版本

http://www.python.org/download/

如:http://www.python.org/ftp/python/2.7.5/python-2.7.5.msi

b. 双击后默认安装

c. 配置PATH,Python 运行目录加入PATH系统变量

  • 右击个人电脑 选择属性

  • 选择高级标签 ,选择环境变量

  • 找到系统变量 — PATH ,双击后添加“;C:\Python27\”

监控宝服务器与服务性能监控配置_监控宝_06

  •  从新开启一个CMD窗口,咱们输入python 命令 如出现图中样式,说明python安装成功。

监控宝服务器与服务性能监控配置_服务器_07

3) SNMP安装与配置

安装SNMP相关组件

监控宝服务器与服务性能监控配置_监控 _08

监控宝服务器与服务性能监控配置_服务器_09

配置SNMP:将SNMP ServiceSNMP Trap启动模式改成自动。

监控宝服务器与服务性能监控配置_监控 _10

监控宝服务器与服务性能监控配置_监控宝_11

设置SNMP团体字

监控宝服务器与服务性能监控配置_服务器_12

重启SNMP服务

监控宝服务器与服务性能监控配置_服务器_13

4) 采集器的运行

a. 解压采集器代码, 解压后,请不要放到带有中文的目录下

监控宝服务器与服务性能监控配置_监控 _14


b. 双击运行start.bat 。运行后正常窗口内容以下:

监控宝服务器与服务性能监控配置_监控 _15

5) 监控项目建立

监控宝服务器与服务性能监控配置_监控宝_16

监控宝服务器与服务性能监控配置_服务器_17

监控宝服务器与服务性能监控配置_监控 _18

监控宝服务器与服务性能监控配置_监控宝_19


查看Linux服务器性能监控已经操做监控完成。

3.1.2 Linux服务器性能监控

1) 采集器建立

采集器的建立见3.1.1 服务器性能监控下1)采集器的建立,目前建立一个内外采集器能够下载Window Linux两个版本,分别对于不一样系统进行监控。

2) Python环境部署

因不一样LINUX版本较多,请自行编译安装或者使用系统 自带python版本,安装完成以后请确认要shell窗口下能够正常运行python命令

    监控宝服务器与服务性能监控配置_服务器_20

3) SNMP安装与配置

配置SNMP

yum install net-snmp net-snmp-devel net-snmp-utils -y
com2sec notConfigUser  default       public     //public 为设置的团体字
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
view    systemview    included   .1
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
access  notConfigGroup ""      any       noauth    exact  all  none none
view all    included  .1                               80
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
proc mountd
proc ntalkd 4
proc senmail 10 1
exec echotest /bin/echo hello world
disk / 10000
/etc/init.d/snmpd start

目前已经将Linux服务器SNMP配置写成脚本,更方便部署SNMP,脚本见附录。

4) 采集器的运行

监控宝服务器与服务性能监控配置_服务器_21

监控宝服务器与服务性能监控配置_监控 _22

5) 监控项目建立

监控宝服务器与服务性能监控配置_服务器_23

监控宝服务器与服务性能监控配置_监控 _24


查看Linux服务器性能监控已经操做监控完成。

3.2 监控宝服务性能监控

3.2.1 Nginx服务性能监控

1) 内外采集器的建立

监控宝服务器与服务性能监控配置_服务器_25

监控宝服务器与服务性能监控配置_监控 _26

监控宝服务器与服务性能监控配置_监控宝_27


2) Python环境部署

3.1.2 Linux服务器性能监控下2)Python环境部署。

2) SNMP安装与配置

3.1.2 Linux服务器性能监控下3)SNMP安装与配置。

3) Nginx配置需求

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

Nginx配置文件内增长如下状态信息。

监控宝服务器与服务性能监控配置_服务器_28

监控宝服务器与服务性能监控配置_监控 _29

监控宝服务器与服务性能监控配置_监控宝_30

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

5) 采集器的运行

监控宝服务器与服务性能监控配置_服务器_31

6) 监控项目建立

监控宝服务器与服务性能监控配置_监控宝_32

监控宝服务器与服务性能监控配置_服务器_33

监控宝服务器与服务性能监控配置_服务器_34

监控宝服务器与服务性能监控配置_监控宝_35

监控宝服务器与服务性能监控配置_监控宝_36

监控宝服务器与服务性能监控配置_监控 _37

3.2.2 Apache服务性能监控

1)内外采集器的建立

监控宝服务器与服务性能监控配置_监控 _38

2) Python环境部署

3.1.2 Linux服务器性能监控下2)Python环境部署

3) SNMP安装与配置

3.1.2 Linux服务器性能监控下3)SNMP安装与配置

4) Apache的安装需求

Apache的安装

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

监控宝服务器与服务性能监控配置_监控 _39

监控宝服务器与服务性能监控配置_监控 _40

监控宝服务器与服务性能监控配置_服务器_41

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

监控宝服务器与服务性能监控配置_监控 _42

5)采集器的运行

监控宝服务器与服务性能监控配置_服务器_43

6)监控项目建立

监控宝服务器与服务性能监控配置_监控宝_44

监控宝服务器与服务性能监控配置_监控宝_45

监控宝服务器与服务性能监控配置_服务器_46

监控宝服务器与服务性能监控配置_监控 _47

监控宝服务器与服务性能监控配置_监控 _48

3.2.3 Mysql服务性能监控

1) 内外采集器的建立

监控宝服务器与服务性能监控配置_监控 _49

监控宝服务器与服务性能监控配置_监控宝_50

监控宝服务器与服务性能监控配置_监控 _51


2) Python环境部署

若要使用mysql性能监控,须要安装PythonMySQLdb扩展件。

具体参考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从新编译进去。

3) SNMP安装与配置

3.1.2 Linux服务器性能监控下3)SNMP安装与配置。

4) Mysql配置

  •  添加mysql用户

在被监测的myql上执行

>CREATE USER kaliarch@’你的采集器的IPIDENTIFIED BY your_password;

>flush privileges;

监控宝服务器与服务性能监控配置_监控宝_52

  • 受权用户远程链接

监控宝服务器与服务性能监控配置_监控宝_53

  • 重启采集器

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

  • 测试已经能够正常链接数据库。

监控宝服务器与服务性能监控配置_服务器_54

5) 采集器的运行

监控宝服务器与服务性能监控配置_监控 _55

6) 监控项目建立

监控宝服务器与服务性能监控配置_服务器_56

监控宝服务器与服务性能监控配置_服务器_57

监控宝服务器与服务性能监控配置_监控 _58

监控宝服务器与服务性能监控配置_监控 _59

监控宝服务器与服务性能监控配置_服务器_60

监控宝服务器与服务性能监控配置_监控 _61

4、检测排错

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

监控宝服务器与服务性能监控配置_监控宝_62

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

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

监控宝服务器与服务性能监控配置_监控 _63

监控宝服务器与服务性能监控配置_监控 _64

监控宝服务器与服务性能监控配置_服务器_65

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


5、附录

目前已经将Linux下安装配置SNMP写成脚本,更便于快速部署基本环境。

AutoInstallSNMP.sh
#!/bin/bash
#mail xuel@anchnet.com
echo "##########################################"
echo "Auto Install Linux-snmp.                ##"
echo "Press Ctrl + C to cancel                ##"
echo "Any key to continue                     ##"
echo "##########################################"
read -n 1
SNMPFILE=/etc/snmp/snmpd.conf
yum install net-snmp net-snmp-devel net-snmp-utils -y
sleep 3
if [ -f "$SNMPFILE" ]
then
cp $SNMPFILE /etc/snmp/snmpd.conf.bak
fi
read -p "Please input your community:" COMMUNITY
cat > $SNMPFILE << EOF
com2sec notConfigUser  default       $COMMUNITY
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
view    systemview    included   .1
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
access  notConfigGroup ""      any       noauth    exact  all  none none
view all    included  .1                               80
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
proc mountd
proc ntalkd 4
proc senmail 10 1
exec echotest /bin/echo hello world
disk / 10000
EOF
/etc/init.d/iptables status >/dev/null 2>&1
if [ $? -eq 0 ]
then
iptables -I INPUT -p udp --dport 161 -j ACCEPT && 
iptables-save >/dev/null 2>&1
else
echo -e "\033[32m iptables is stopd\033[0m"
fi
 
################################################################
IP=`ifconfig |grep "inet addr"|grep -v 127.0.0.1|cut -d: -f2|cut -d' ' -f1`
SNMPPORT=`netstat -lntup | grep 161 | wc -l`
SNMPPROCESS=`ps -ef | grep snmp | grep -v grep | wc -l`
if [ $SNMPPORT == $SNMPPROCESS ]
then
/etc/init.d/snmpd restart
else
/etc/init.d/snmpd start
Fi
chkconfig snmpd on
echo -e "\033[32m Snmp is install success,ipaddress is:$IP,community is:$COMMUNITY\033[0m"