服务器性能监控软件的选择
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吃了