美文网首页
开源运维监控系统介绍

开源运维监控系统介绍

作者: 沐蕾小姐 | 来源:发表于2020-04-24 10:19 被阅读0次

    监控系统功能介绍

        监控系统的组成大体分为两个部分:数据采集部分(客户端)、数据存储分析告警展示部分(服务端)。

        数据采集的工作模式可分为被动模式(服务端到客户端采集数据)和主动模式(客户端主动上报数据到服务端),被动模式对服务器的开销比较大,适合小规模的监控环境,主动模式对服务器的开销较小,适合大规模的监控环境。    

        采集数据的协议可分为两种,专用客户端采集和公用协议采集(SNMP、SSH、Telnet等);采集到的监控数据可存储于数据库、文本或其他方式,具体采用哪一种,应根据实际需求才决定。

        规模较小,出于同一地域的环境,被监控的节点不多,产生的数据比较少,建议采用C/S(Client/Server,客户端/服务端)架构就足够了.

        对于大规模的监控环境,被监控节点多,且监控类型多,监控产生的网络连接开心会非常巨大,而且由于跨地域等多种因素,需分布式解决方案,常见的方式为C/P/S(Client/Proxy/Server,客户端/代理端/服务端)架构,采用中间代理将大大提高监控服务端的处理速度,从而支持价格大型分布式监控的环境。

        监控系统更重要的是告警和故障处理,这对及时处理问题和故障自愈非常重要,告警时,需考虑故障的有效汇报和集中汇报,防止出现"告警洪水",即同一类告警细心重复大量发送。

    开源监控软件有哪些

        在监控软件中,开源的解决方案分为流量监控(Cacti、MRTG、SmokePing、Graphite等)和性能告警(Nagios、Zabbix、 Prometheus、Zenoss、Core、Ganglia、OpenTSDB等),每款软件都有自己的特点和功能,各自的侧重点和目标不完全相同,但设计理念和实现方法大同小异,都具有共同特征,例如:采集数据、分析展示、告警及简单的故障自动处理,最终都能达到对IT系统服务可用性的一个完成展示,目前用得最多的必须是Zabbix和 Prometheus,下面将简单的介绍一下各款监控系统

    MRTG

    MRTG(Multi Router Traffic  Grapher)是一套可用来绘图网络流量图的软件,数据采集用SNMP协议,MRTG将收集到的数据通过Web页面以GIF或 PNG格式绘制出图像,并以日、周、月为单位分别绘出,可以查询最大值和最小值,如下图所示:

    SmokePing

        SmokePing主要用于监控网络性能,包括常规的ping、www服务器性能、DNS查询性能、SSH性能等,底层也是用的RRDtool做支持,特点是绘制的图非常漂亮,网络丢包和延迟用颜色和阴影来表示,支持将多张图叠放在一起,如下图所示:

    Graphite

        
    Graphite是一款使用Python语言编写用于采集网站实时信息并进行统计的开源项目,Graphite服务支持平均每分钟4800次更新操作,简单的文本协议和绘图功能可以方便地使用在任何操作系统上。

    Zenoss

    Zenoss Core(简称Zenoss)是开源企业级IT管理软件,它允许IT管理员靠单一的web控制台来监控网络架构的状态和监控度.

    Zenoss  Core的强大功能来自深入的列表与配置管理数据库,用于发现和管理公司的IT环境的各类资产(包括服务器、网络和其他结构设备),Zenoss可以创建关键资产清单和对应的组件级别(接口、服务、进程、已安装的软件等).建立好模型后,Zenoss就可以监控和报告IT架构中格子资源的状态和性能状况了,同时还提供与CMDB关联的时间和错误管理系统,以协助和提高各类事件和提的管理效率,以此提高IT管理人员的效率.

    Zenoss  采用SNMP来采集数据,其界面如下图所示:

    Ganglia

    Ganglia是一个跨平台、可扩展、高性能的分布式监控系统,如集群和网络,是基于分层设计,使用RRDtool存储数据,具有可视化界面,适合对集群系统的自动化监控,其监控端到被监控端的链接开销非常低,可以轻松处理2000个节点的集群环境,该软件部分监控截图如下图所示:

    Zabbix

    Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,支持SNMP、IPMI、JMX、Telnet、SSH等多种协议,他将采集到的数据存储在数据库汇总,然后对其进行分析整理,达到条件则触发告警,其灵活的扩展性和丰富的功能和是其他监控系统不能比的,它总体功能做得非常优秀,其界面如下图:

    Zabbix具备上诉所介绍的所有监控软件功能,其具备丰富的功能、可扩展的能、二次开发的能力和简单易用的特点,Zabbix自身的定位是中型企业和大型企业,单个Server节点可以支持上万台设备,每秒可以处理1.5万次请求,理论上可以支持5万台设备.

    Zabbix官方网站信息如下

    Zabbix官网:https://www.zabbix.com/cn/

    论坛:https://www.zabbix.org.cn/

    社区:https://www.zabbix.org.cn/

    Zabbix是一个企业级的高度集成开源监控软件,提供分布式监控解决方案,可以监控设备、服务等的可用性和性能等,其产品是完全开放源代码,软件免费使用,服务收费.

    Zabbix架构

    Zabbix的通用架构是Client/Server架构,分布式为Client/Proxy/Server Client/Node/ServerZabbix-Server将采集到的数据持久存储在数据库中,前端web展示给用户。

    Zabbix-Server的处理进程如下图所示:

    Zabbix的运行流程

    Zabbix的运行流程如下图所示:

    Zabbix功能特性

    Zabbix有常见的商业监控软件所具备的功能,如主机的性能监控、网络设备监控、数据库性能监控、SSH等通用协议监控,多种告警方式、详细的报表绘制、分布式、可扩展能、API等.

    数据采集

    可用、性能检测;

    支持Agent SNMP(包括Trapping和Polling) IPMI 、JMX、 SSH、 Telnet等;

    自定义检测;

    自定义收集数据的频率;

    服务端/代理端/客户端模式.

    灵活触发器

    可以自定义非常灵活的告警 阈值和多种告警相关联的条件

    高度可定制的告警

    发送通知,可定制包括告警级别、动作升级、收件人通知媒介;

    通知可以使用全局宏变量和自定义的变量.

    自动处理功能包括远程命令的自动调用和执行.

    实时的绘图功能

    监控项将数据实时绘制在图形上

    Web监控能力

    Zabbix可以模拟浏览器请求一个网站,并检测返回值和响应时间;

    多种可视化展示

    可以自定义监控的展示图,将多种监控数据集中展示到一张图中;

    网络拓扑图;

    自定义的Screens 和Slide shows可以将多种图形集中展示;

    报表功能;

    资源使用情况的监控展示;

    历史数据存储

    数据存储在数据库中;

    历史数据的存放周期可配置;

    定期删除过期的历史数据;

    配置简单

    配置比较简单,只需要以下两步即可;

    第一步:添加设备;

    第二步:应用模板即可完成监控;

    使用模板

    模板可以分组;

    模板具有可继承性;

    网络发现

    支持自动发现网络设备和服务器(可通过配置自动发现服务规则实现);

    Agent 自动注册;

    支持自动发现(Low levi discovery)实现动态监控项的批量监控(支持自定义),内置自动发现包括文件系统、网络接口、SNMPOID,可以定制自动发现;

    快速的访问接口

    Web页访问基于PHP

    远程访问

    日志审计

    API

    应用AP功能可以方便地和其他系统结合,包括收集客户端的使用;

    系统权限

    不同的用户展示监控的资源不同;

    对用户的身份认证;

    程序特性

    用C语言编写,其性能和内存开销非常小;

    大型环境的支持

    利用Zabbix-Proxy方式即可轻松构建远程监控

    相关文章

      网友评论

          本文标题:开源运维监控系统介绍

          本文链接:https://www.haomeiwen.com/subject/yqsxwhtx.html