您的位置:首页 > 运维架构

服务器性能监控软件的选择

2017-12-07 13:12 246 查看
 服务器性能监控软件的选择
1、  监控系统简介以及实现

监控系统大致分为两个部分:数据采集部分(客户端)和数据存储分析告警展示部分(服务器端)。

数据采集分为主动和被动的方式,被动方式对服务器开销较大,适合小规模的监控环境;主动方式对服务器的开销较小,适合大规模的监控环境。

采集数据的协议方式分为两种:专用客户端采集和公用协议采集(SNMP、SSH、Telnet等)。

对于采集到的数据,可以将其存储到数据库、文件、其它方式,具体采用哪一种,应根据实际需求而定。

对于一般的监控环境,被监控的节点不多,产生的数据较少,采用C/S架构就够了。此架构适合于规模较小,同一地域的环境。

对于大规模的监控环境,被监控的节点较多,且监控类型多,监控产生的数据和网络连接开销会非常巨大,而且由于跨地域等多种因素,需要分布式的解决方案。常见的方式为C/P/S架构,采用中间代理将大幅提高监控服务器的处理速度,从而能支撑构建大型分布式监控环境。

监控系统更重要的功能是告警和故障处理,这是及时解决问题和故障自愈非常重要。告警的时候,需要考虑到故障的有效汇报和集中汇报,防止出现“告警洪水”,即同一类告警信息重复大量的发送。

2、  分布式服务器监控开源现状

在监控软件中,开源的解决方案有流量监控(MRTG、Cacti、SmokePing、Graphite等)和性能告警(Nagios、Zabbix、Zenoss、Core、Ganglia、OpenTSDB等)可供选择,每种软件都有自身的特点和功能,各自的侧重点和目标不完全相同,在设计理念和实现方法上也大同小异,但都具有共同的特征,例如,采集数据、分析展示、告警以及简单的故障自动处理。最终达到对IT系统服务可用性的一个完全展示。

Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent代理,也可支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,它将采集的数据存储到数据库,然后对其进行分析整理,达到条件触发告警。其灵活的扩展性和丰富的功能是其它监控系统所不能比的。相对来说做的非常优秀。

 

                             监控项

页面:

登陆后主页

 

Zabbix network map可以简单的理解为动态网络拓扑图,可以针对业务来配置zabbix map,通过map可以了解应用的整体状况:服务器是否异常、网络是否有故障、应用当前什么状态。如果你不需要这些东西,至少你可以通过network map绘制一张网络拓扑图。

3、  zabbix官方推荐最小硬件配置

4、  常见监控系统性能采集指标

5、  选择zabbix的理由

<1>Zabbix是一个自由开放源代码产品,用户可以对源码进行任意修改和二次开发。Zabbix采用GUN General Public License (GPL)version 2 开源协议。

<2>安装和配置非常的简单,用户仅仅需要一些简单的学习,即可完成监控的搭建工作。

<3>搭建环境简单,基于开源软件平台,仅需要Linux、Apache/Nginx、Mysql/PostgreSQL/Oracle、PHP即可,无须专用操作系统支持,也无须专用硬件。

<4>Zabbix-Agent完全支持Linux、Unix、Windows、AIX、BSD和Solaris的监控,Server和Agent都采用C语言编码,对系统资源占用非常小,数据采集的性能和速度非常快。

<5>将数据持久化存储到数据库,便于对监控数据的二次分析。

<6>非常丰富的扩展能力,很轻松地自定义监控项和实现数据采集,几乎能监控所有的数据。例如,可以监控网站的访问次数,监控UPS和天气温度等。毫不夸张地说,在Zabbix的世界里,往往有你想不到的事情,没有办不到的事情。

<7>开源社区的运作模式,有各种论坛、邮件列表、IM及时沟通等。

因此,对于一个系统管理员、网络管理员和运维人员,想要构建一套自己的监控系统环境,Zabbix将会是最佳的选择。对于开发人员,想基于开源软件开发一套属于自己的监控系统,Zabbix也是比较好的选择。

6、  Zabbix架构中组件

Zabbix-server: C语言 

OS: zabbix-agent: C语言 

 Zabbix-web:GUI,用于实现Zabbix设定和展示,PHP开发 

 Zabbix-proxy: 分布式监控环境中的专用组件

7、  Zabbix逻辑架构

<1>定义一个template模板,里面包括多个items,trigger,graphs套用给host或者hostgroups。

<2>server感情兴趣监控项目items通过zabbix poller进程(可以有多个进程实现并发处理)包括snmp,agent协议收集被监控主机信息。

<3>如果阈值超过triggers触发器规定,就是形成一个events事件,然后actions处理动作(包括运行预先定制的脚本,不成功发送email或SMS)。

<4>在服务器升级的时候提前设定maintenance维护模式不对服务器产生告警通知。

                         通过逻辑拓扑图展示工作流程

8、  Zabbix Server 启动后都有哪些进程

9、  Zabbix的运行流程

附录: 图片被csdn吃了

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: