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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

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

目录

一、目的 2

1.1 监控目的 2

1.2 本文目的 2

二、理论基础 2

2.1 相关理论 2

2.2 拓扑架构 2

三、监控部署 3

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

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

四、检测排错 26

4.1 Mysql监控需要安装插件 26

4.2 WEB应用 26

4.3 检测SNMP数据 26

五、附录 28


一、目的

1.1 监控目的

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

1.2 本文目的

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

二、理论基础

2.1 相关理论

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

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

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

2.2 拓扑架构

图片.png

监控宝拓扑架构图


三、监控部署

3.1 监控宝服务器性能监控

3.1.1 Windows服务器性能监控

1) 采集器创建

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

图片.png

图片.png

图片.png

图片.png


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

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\”

图片.png

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

图片.png

3) SNMP安装与配置

安装SNMP相关组件

图片.png

图片.png

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

图片.png

图片.png

设置SNMP团体字

图片.png

重启SNMP服务

图片.png

4) 采集器的运行

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

图片.png


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

图片.png

5) 监控项目创建

图片.png

图片.png

图片.png

图片.png


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

3.1.2 Linux服务器性能监控

1) 采集器创建

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

2) Python环境部署

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

    图片.png

3) SNMP安装与配置

配置SNMP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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) 采集器的运行

图片.png

图片.png

5) 监控项目创建

图片.png

图片.png


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

3.2 监控宝服务性能监控

3.2.1 Nginx服务性能监控

1) 内外采集器的创建

图片.png

图片.png

图片.png


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配置文件内增加以下状态信息。

图片.png

图片.png

图片.png

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

5) 采集器的运行

图片.png

6) 监控项目创建

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

3.2.2 Apache服务性能监控

1)内外采集器的创建

图片.png

2) Python环境部署

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

3) SNMP安装与配置

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

4) Apache的安装需求

Apache的安装

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

图片.png

图片.png

图片.png

1
2
3
4
5
6
7
ExtendedStatus On
<Location  /Server-status >
SetHandler Server-status
Order deny,allow
Deny from all
Allow from all
< /Location >

图片.png

5)采集器的运行

图片.png

6)监控项目创建

图片.png

图片.png

图片.png

图片.png

图片.png

3.2.3 Mysql服务性能监控

1) 内外采集器的创建

图片.png

图片.png

图片.png


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@’你的采集器的IP’ IDENTIFIED BY your_password;

>flush privileges;

图片.png

  • 授权用户远程连接

图片.png

  • 重启采集器

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

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

图片.png

5) 采集器的运行

图片.png

6) 监控项目创建

图片.png

图片.png

图片.png

图片.png

图片.png

图片.png

四、检测排错

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

图片.png

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

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

图片.png

图片.png

图片.png

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

五、附录

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
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"









本文转自 KaliArch 51CTO博客,原文链接:http://blog.51cto.com/kaliarch/2044977,如需转载请自行联系原作者
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
运维 监控 数据可视化
ELK日志监控分析系统的探索与实践(二):利用Metricbeat监控服务器系统指标
在ELK日志监控分析系统的探索与实践(一)中,我们介绍了如何利用ELK+Filebeat监控Springboot项目的日志,本篇则是重点介绍如何利用ELk+Metricbeat监控服务器系统CPU、内存、磁盘等系统指标。
ELK日志监控分析系统的探索与实践(二):利用Metricbeat监控服务器系统指标
|
5月前
|
监控 Linux
Linux网络流量实时监控工具-ifstat
Linux网络流量实时监控工具-ifstat
63 0
|
7月前
|
运维 监控 算法
事件日志分析算法:提升上网行为管理软件的智能监控
随着互联网的快速发展,网络安全和上网行为管理变得越来越重要了。不少企业和组织为了维护网络的安全、稳定性,还有员工的工作效率,都开始使用上网行为管理软件。这些软件的作用就是监控、分析和控制员工的上网行为,帮助组织管理网络资源,以免潜在的网络威胁和数据泄漏。其中,事件日志分析算法发挥了关键作用,它们有各种各样的优点和用途,真的非常实用。接下来,就让我们来看看,事件日志分析算法在这方面有哪些厉害的地方以及怎么用吧!
161 0
|
存储 监控 安全
网络视频监控如何入门?如何安装和配置、设备选择和实时监控?
网络视频监控如何入门?如何安装和配置、设备选择和实时监控?
660 0
|
缓存 运维 监控
一文看懂应用性能监控-可能是目前全网最全面的介绍
可观测性的本质是度量基础设施、平台和应用程序,以了解它是如何运行的。与传统监控运维相比,目前主流的监控更加注重发现与预警问题,而可观测性的终极目标是为一个复杂分布式系统所发生的一切给出合理解释。监控更注重软件的交付过程中以及交付后的服务状态,而可观测性则要为全研发与运维的生命周期负责。
1581 0
|
运维 前端开发 应用服务中间件
网站流量日志埋点收集—系统部署环境搭建|学习笔记
快速学习网站流量日志埋点收集—系统部署环境搭建
119 0
网站流量日志埋点收集—系统部署环境搭建|学习笔记
网络性能监控工具
本文研究全球及中国市场网络性能监控工具现状及未来发展趋势,侧重分析全球及中国市场的主要企业,同时对比北美、欧洲、中国、日本、东南亚和印度等地区的现状及未来发展趋势
|
存储 监控 Java
1个小时接入友盟+ U-APM:解决移动应用崩溃、性能、内存的云监控分析
本文主要是一次产品需求讨论之后的功能论证,公司正式的APP接入友盟+ U-APM还未上线。而本文也是花了一个小时尝试接入U-APM的一种实验,过程比较顺利,而产品部对于这种性能指标的监控方式也比较认可,毕竟一次接入之后就可以实现多种应用。而友盟+ U-APM的功能不止于此,后续对于U-APM的深入对接也不会止步。
1个小时接入友盟+ U-APM:解决移动应用崩溃、性能、内存的云监控分析
|
监控 Linux UED
一种对云主机进行性能监控的监控系统及其监控方法
本发明提供了一种对云主机进行性能监控的监控系统及监控方法,所述监控方法同时通过云主机Agent模块、计算节点Agent模块以及站点监控模块采集云主机的虚拟资源利用状态进行监控以获得监控数据。
2725 0
|
监控 关系型数据库 应用服务中间件
监控宝服务器与服务性能监控配置
之前公司有使用过监控宝来进行网络和服务器,及服务器性能监控,在此记录一下各监控配置方式 目录 一、目的 2 1.1 监控目的 2 1.2 本文目的 2 二、理论基础 2 2.1 相关理论 2 2.
10034 1