监控做为自动化运维的重要组成部分,承担着反馈的作用。

以往,在缺少告警机制的情况下,企业无法第一时间洞悉到系统发生故障,只能通过用户的反馈来获取,系统运维人员往往也只是充当了一个“救火” 队员,大面积的系统瘫痪往往也会给企业和用户带来极大的损失

当下,通过监控,企业可以在系统受损的第一时间得到反馈,及时处理问题,大大减小了系统故障对企业和用户造成的影响,更有可以做到无感知的修复。

选择监控工具的原则是根据公司业务场景选择,而不要盲目的追求新工具(如果公司内部有一定的研发能力,且对监控工具的需求比较大,那尝试新工具也未尝不可)。

但是大多数企业对于监控都是新模块,面对琳琅满目的监控工具,不知所措。是选择便宜的商业软件,还是选择开源工具自主开发,还是选择第三方公司外包。今天就跟大家分享目前市场上最热的十个监控工具详解,希望能够帮助您更好的选择到合适的监控工具。

Prometheus

官方网站:https://prometheus.io/docs/introduction/overview/

Prometheus是一套开源的监控系统,它将所有信息都存储为时间序列数据;因此实现一种Profiling监控方式,实时分析系统运行的状态、执行时间、调用次数等,以找到系统的热点,为性能优化提供依据。

本身的功能在于数据的提取,不具备监控功能,但是依靠它周边组件从而实现了强大的监控功能。

优点:

  • 易管理性,核心部分只有一个单独的二进制文件,可直接在本地工作,不依赖于分布式存储。
  • 业务数据相关性,监控服务的运行状态,从而让用户可以获取服务和应用内部真正的运行状态。
  • 高效,单一Prometheus可以处理数以百万的监控指标;每秒处理数十万的数据点。
  • 易于伸缩,通过使用功能分区(sharing)+联邦集群(federation)可以对Prometheus进行扩展,形成一个逻辑集群;Prometheus提供多种语言的客户端SDK。
  • 良好的可视化,自带有Prometheus UI,还提供了一个独立的基于Ruby On Rails的Dashboard解决方案Promdash。

缺点:

  • 对于Prometheus的使用者来说,所有的公制端点都必须是可达的,这意味着一个更加复杂的安全网络配置。
  • 在大型部署中,扩展成为一个问题,Prometheus建议采用一种基于推特的方法来收集短期的工作指标。
  • Prometheus的主要设计目标之一是操作简单性。这样,Prometheus就限制了监控系统的可能失效模式数量,遵循着一原则,Prometheus目前只局限于单个点,因为集群带来了额外的操作复杂性,使用单个节点不那么复杂,但是对可以由Prometheus监控的度量指标适量有着严格的限制。

Zabbix

官方网站:https://www.zabbix.com/

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案,在企业中有非常全面的应用,也是目前国内互联网用户中使用最广的监控软件。

入门容易、上手简单、功能强大并且开源免费是对Zabbix的最直观评价。Zabbix易于管理和配置,能生成比较漂亮的数据图,其自动发现功能大大减轻日常管理的工作量,丰富的数据采集方式和API接口可以让用户灵活进行数据采集,而分布式系统架构可以支持监控更多的设备。理论上,通过Zabbix提供的插件式架构,可以满足企业的任何需求。

优点:

  • 支持多平台的企业级分布式开源监控软件
  • 安装部署简单,多种数据采集插件灵活集成
  • 功能强大,可实现复杂多条件告警,
  • 自带画图功能,得到的数据可以绘成图形
  • 提供多种API接口,支持调用脚本
  • 出现问题时可自动远程执行命令(需对agent设置执行权限)

缺点:

  • 项目批量修改不方便;
  • 中文资料较少,服务支持有限:
  • 入门容易,但是深层次需求需要非常熟悉 Zabbix 并进行大量的二:次定制开发,难度较大;
  • 系统级别报警、报警邮件、自定义项目报警需要自己设置,过程繁琐;
  • 缺少数据汇总功能,数据报表也需进行二次开发。

Nagios

官方网站:https://www.nagios.org/

Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设置,打印机等。在系统或服务状态异常时发出邮件或短信报警第一时间通知运维人员,在状态恢复后发出正常的邮件或短信通知。

Nagios提供一个基于浏览器的web界面,方便管理人员查看系统的运行状态,网络状态、服务状态、日志信息,以及其他异常现象。

优点:

  • 出错的服务器、应用和设备会自动重启,自动日志滚动
  • 配置灵活,可以自定义shell脚本,通过分布式监控模式
  • 支持以冗余方式进行主机监控,报警设置多样
  • 命令重新加载配置文件无需打扰Nagios的运行

缺点:

  • 事件控制台功能弱,插件易用性差
  • 对性能、流量等指标的处
  • 无历史数据,难追查故障
  • 配置复杂,初学者费时长

Open-falcon

官方网址:http://open-falcon.org/

小米的监控系统:OpenFalcon是一款企业级、高可用、可扩展的开源监控解决方案。

可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器、操作系统、中间件、应用进行全面的监控,及报警。

优点:

  • 自动发现,支持 falcon-agent. Snmp、支持用户主动 push、用户自定义插件支持;
  • 支持单周期亿次的数据采集、告警判定、历史数据存储和查询;
  • 支持策略模板、模板继承和覆盖、多种告警方式、支持 callback 调用;
  • 单机支撑 200 万 metric 的上报、归档、存储;
  • 采用 rdool 的数据归档策略;
  • 多维度的数据展示,用户自定义 Screen;
  • 通过各种插件目前支持 Linux、Windows、Mysql、Redis、Memache RabbitMQ 和交换机监控。

缺点:

  • 发布时间较短;
  • 不支持很多基础的服务监控插件(如 Tomcat、apache 等);
  • 功能不完善
  • 无专门运维支撑,社区运营有欠缺。

Ganglia

官方网站:http://ganglia.info/

Ganglia监控系统是UC Berkeley开源的一个项目,设计初衷就是要做好分布式集群的监控。监控层面包含资源层面和业务层面,资源层面包含cpu、memory、disk、IO、网络负载等

它是一个易于扩展的监控系统。使用它可以实时查看 Linux 服务器和集群(图形化展示)中的各项性能指标。

优点:

  • 适合监控系统性能,通过曲线很容易见到每个节点的工作状态
  • 可以自定义监控项,监控展示有表格和图像两种,支持手机版
  • 部署方便,通过不同的分层管理上万台机器,无需逐个添加配置,有利于后期的大规模扩张。

缺点:

  • 没有内置的消息通知系统
  • 没有报警机制,出现问题不能够及时报警

Cacti

官方网站:https://www.cacti.net/

Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具。它提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。

优点:

  • 开源,自由发行,开放源代码,运行高效。
  • 跨平台,支持的平台redhat 、windows 、solaris、centos 、suse
  • 界面友好,图形丰富、各种模板、自定义模板
  • 可扩展,支持二十种的插件,丰富的插件资源,大大提高了cacti的功能。

缺点:

  • 使用文本式的数据库,数据不能重复使用;
  • 只能按日、周、月、年来查看数据;每图只能画两个DS(一条线、一个块);
  • 每取一次数据即需要绘图一次,浪费系统资源;
  • 不具备管理功能。

Graylog

官方网站:https://www.graylog.org/

Graylog是一个开源的完整的日志管理工具,功能和ELK类似,但又比ELK要简单,是强大的日志管理、分析工具。它基于 Elasticsearch, Java和MongoDB。Graylog可以收集监控多种不同应用的日志

优点:

  • 一体化方案,安装方便,不像ELK有3个独立系统间的集成问题。
  • 个性化定制开发(带来很大的自由度)采集日志的脚本,
  • 搜索结果高亮显示。
  • 搜索语法简单

缺点:

  • 不能处理多行日志,比如Mysql慢查询,Tomcat/Jetty应用的Java异常打印
  • 不能保留原始日志,只能把原始日志分字段保存,这样搜索日志结果是一堆Json格式文本,无法阅读。
  • 不符合正则表达式匹配的日志行,被全部丢弃。

Grafana

官方网站:http://grafana.org/

Grafana是一个可视化面板(Dashboard),有着非常漂亮的图表和布局展示,功能齐全的度量仪表盘和图形编辑器,支持Graphite、zabbix、InfluxDB、Prometheus和OpenTSDB作为数据源。

Grafana是一个展示的工具,我们可以搭配Prometheus和zabbix一同使用。

Zenoss Core

官方网站:https://www.zenoss.com/

Zenoss Core是开源企业级IT管理软件-是智能监控软件,他允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度。

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

优点:

  • 功能全面,网络管理软件所应涵盖的功能主要有:可用性管理,事件管理,性能监视等
  • 配置使用灵活,由于使用了CMDB数据库来存储数据模型对象,可以方便地对数据模型对象进行增删改操作
  • 对开发者友好,基于zenoss下的开发,方便在于开发周期短,代码简洁,上手较为容易

缺点:

  • 对资源要求较高,即使只管理少数几台设备,也需要消耗大量硬件及内存等附加资源
  • 针对windows系统,开源版只提供SNMP,通过WMI检测CPU,Disk,软硬件和性能只在收费版提供

Graphite

官方网站:https://graphiteapp.org/

Graphite 是一款用 Python 写的开源企业级监控绘图工具,可以在廉价机硬件上运行。Graphite 可以实时收集、存储、显示时间序列类型的数据。

优点:

  • 非常快,它的架构是模块化可规模化的
  • 有很多与Graphite相互协作的开源工具
  • Graphite完成单个工作且做得很好

缺点

  • Graphite不能对数据进行分片,因此要解决这个问题就是采用多个Graphite实例
  • Graphite的安装是一个很复杂的任务,尽管目前有了完整的Docker映像可以一次性安装Graphite及其依赖

主流开源监控系统汇总相关推荐

  1. 开源监控系统Prometheus介绍

    前言 Prometheus是CNCF的一个开源项目,Google BorgMon监控系统的开源版本,是一个系统和服务的监控系统.周期性采集metrics指标,匹配规则和展示结果,以及触发某些条件的告警 ...

  2. 小米的开源监控系统open-falcon架构设计,看完明白如何设计一个好的系统

    小米的开源监控系统open-falcon架构设计,看完明白如何设计一个好的系统 小米的http://book.open-falcon.org/zh/intro/ 早期,一直在用zabbix,不过随着业 ...

  3. java 开源监控_推荐一款强大的国产开源监控系统!

    项目简介 集监控点监控.日志监控.数据可视化以及监控告警为一体的国产开源监控系统,直接部署即可使用. 监控数据类型丰富,提供多种富有表现力的图表,满足对数据可视化的需要,目前支持折线图.饼图.地理位置 ...

  4. 小米开源监控系统OpenFalcon应对高并发7种手段

    2019独角兽企业重金招聘Python工程师标准>>> 小米开源监控系统OpenFalcon应对高并发7种手段 原创 2016-04-01 秦晓辉 高可用架构 编者按:本文是秦晓辉在 ...

  5. Open-Falcon 小米开源监控系统Dashboard使用操作与告警通知

    前言 上一章节我们已经完成了Open-Falcon的单机部署,这一章节主要介绍Open-Falcon的用户注册.功能使用和监控客户端配置. Open-Falcon 部署参考:CentOS-7 单机部署 ...

  6. 10款PHP开源商城系统汇总介绍

    10款PHP开源商城系统汇总介绍 在当今经济危机的大环境下,网上购物越来越来吃香,网上开店成本低,快捷方便,出名的电子商务网站有淘宝,拍拍,Ebay或是最新的百度有啊,这些网站都提供开店的机会,如果是 ...

  7. 开源监控系统 Prometheus 入门

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「yangyidba」 一 简介 Pro ...

  8. 大众点评CAT开源监控系统剖析

    参考文档: 大众点评的实时监控系统分析(一) CAT_source_analyze 透过CAT,来看分布式实时监控系统的设计与实现 深度剖析开源分布式监控CAT [分布式监控CAT] Client端源 ...

  9. 最详细的开源监控系统对比分析!建议收藏

    点击关注公众号,回复"1024"获取2TB学习资源! 在互联网信息爆炸式快速发展的今天,各类复杂多样的平台系统相继涌出.如何选择最佳的监控产品以更好地维护这些平台和系统是每个 IT ...

最新文章

  1. 2019年度CSDN博客之星TOP10榜单揭晓,你上榜了吗?
  2. PPP协议的CHAP验证
  3. VTK:InfoVis之GraphPoints
  4. 设计一个简单的缓存容器
  5. Javascript基础学习20问(二)
  6. 前端学习(2150):webpack之配置babel
  7. java list 范围删除_JAVA中循环删除list中元素(移除list两时间范围外的元素)
  8. windows内核_Windows内核漏洞利用
  9. 数学中有关c语言的知识点总结,七年级数学基本函数的基本知识点归纳
  10. Java编程练习题1
  11. iOS问题记录 - Xcode 14安装低版本iOS模拟器
  12. 一名“老”引擎程序员的昨天、今天和明天
  13. 华师计算机考研英语过线,华师大学长:考研英语我是如何考到77分的!
  14. java程序员面试简历注意事项
  15. Qt-网易云音乐界面实现-9 照片墙功能
  16. WAV和PCM的关系和区别
  17. 网站降权根服务器有关系吗,导致网站降权或被k的原因有哪些?
  18. 如何运行vue项目(详细步骤)
  19. 三人成虎,概率却不足十分之五?几个贝叶斯推理故事的分享
  20. 分水岭变换的分割,watershed函数

热门文章

  1. html本地存储方式实现的五线谱在线识谱练习应用
  2. tokudb 安装mysql_tokuDB 安装与备份小记
  3. 如何用Excel公式去掉字符串末尾的所有的字母a
  4. Python基础之day07-面向对象基础2
  5. git与github——1,简介、安装及设置账号、创建版本库及提交文件、常用命令汇总、git的时光穿梭机
  6. Node.js毕业设计——基于Node.js+JavaScript+MongoDB的供求信息网站设计与实现(毕业论文+程序源码)——供求信息网站
  7. java静态变量定义_java静态变量、静态方法和静态代码段
  8. 一次批量抓取搜款网多个宝贝链接里的主图和细节图
  9. ajax获取后台数据的几种方式及如何获取ajax内部的数据供外部使用
  10. 植物大战僵尸v1.2---外挂源码