WeCube开源监控插件Open-monitor介绍

WeCube开源监控插件

Open-monitor 是WeCube上的监控插件,它基于Prometheus进行封装使其支持一些企业级监控的特性,并可作为插件注册到WeCube平台中实现其Watching的功能,下文主要说明和介绍其背景与选型。

架构图:
架构图
Demo:
在这里插入图片描述

关于IT监控的思考

  • 监控是什么
    • 个人感觉就是对资源的监视和可控,它让计算机发挥了不会累的精神去帮人们做到持续地记录工作,让人们可以及时地查看资源的变化情况和发现问题。
  • IT监控的特点
    • 监控对象范围广
      从基础监控到应用监控甚至于到业务监控,每一个层面都有一大堆需要监控的对象,基础监控的主机网络存储数据库,应用监控的各种流行的中间件的状态监控,各种Java应用的监控等,需求根本不会有做完的那一天,每当一个新兴的行业产品出现可能就会出现相应的监控需求
    • 监控的技术栈广
      做主机监控,监控linux时需要知道linux的进程管理内存管理网络管理,监控windows时需要了解windows的部分dll库,监控物理机时需要了解IPMI的原理。
      做网络监控,需要知道snmp v2/v3,snmp trap等网络监控协议,还需要知道ospf、nat、链路聚合、网络拓扑等基础的网络知识。
      还有存储数据库java应用和某些特定的应用,像监控邮件exchange的各个队列信息需要在windows的性能监视器里配置并在服务计数器里面采集。
      就不一一列举了,只是想说明采集的方式方法五花八门
    • 监控系统的维护难度高
      因为像上面说的它的需求繁杂,导致了它的需求定制化程度高,每个大公司都有自己的监控系统,可是它却很难做成通用化产品化去输出到其它公司,并且本身的维护也是较为困难,因为它涉及的东西太多,就比如说监控系统升级的维护窗口时间,白天要办公不行,晚上一些重要的业务系统版本发布也不能冲突,深夜一般是邮件归档和跑P任务的时间,也不好轻易去发版,左右为难。
  • 发展的方向
    • 个人觉得,未来的监控一定是会趋于一套标准,每个被监控的软件都需要用标准的方式自己提供或暴露相关的指标,这样才能有较好的可持续发展性和通用性。

关于Open-monitor的思考

  • 为什么不从头写一个?
    就像上面说的监控的需求多样化且不好通用化,开发的成本较高且需求方向不明确,所以较难去从头写一套,业内较成功的zabbix和open-falcon都是发展多年且都有各自特色的监控产品,zabbix的生态丰富,open-falcon 的分布式设计支持高并发等,wecube的目的并不是要与这些优秀的软件竞争,而是认清自身的定位是一套轻量级可快速部署的监控产品,并能作为插件在wecube中与CMDB等兄弟系统互动。
  • 为什么要选Prometheus来封装
    • Prometheus的设计个人觉得就是未来监控软件的方向,它与众不同的采用pull的方式,让各监控对象自己暴露要被监控的指标,它只需要用http请求去获取对象的指标,这样做的好处在于它定了一个方式,想被监控的软件一个个通过这个方式加入到这个生态里,一下子就能打造一个标准,有了标准化后产品才能更好的持续发展,所以Prometheus显得特别轻。
    • 重量级的东西,向来一开始使用困难但后期轻松,因为它考虑到了方方面面,而轻量级的东西,一般都是入手比较方便,但后期维护却显得吃力,因为它舍弃了很多东西,Prometheus就是较轻的那种如果企业要使用的话规模大了管理就成问题了,它的配置都基于yaml文件手动配置,那几乎是不太能给普通用户操作的,管理员用用还可以。而且它没接入数据库去管理这些告警的配置,想查看个历史告警什么的都比较难。另一方面就是视图,Prometheus的PromQL的功能强大,可支持多种多样的视图数据查询。或许大家会觉得Prometheus+Grafana这样的黄金搭档不好吗,个人觉得Grafana是开源视图中做的最好的了,无论是它的UI还是插件化设计,都是顶级的,它也很好的支持Prometheus的PromQL查询展示,但因为它已经是一套很完善的软件了,想要集成进来是较困难的,而且一些定制化的需求也是较难在上面实现,所以我们自己用echart做了视图展示,并支持一些较企业化的需求,比如说快速搜索查看各类型对象的基本指标视图,支持应用资源视图等,也支持类似于Grafana那样配置的自定义视图。
  • 和WeCube有什么关系
    • Open-monitor是wecube里监控插件的最佳实践,它可以独立于WeCube自己运行,也可以注册到WeCube里通过WeCube与各其它系统交互,或许会问为什么不直接去对接各个依赖系统呢,可以看一下之前我写的关于WeCube的文章

能做什么

  • 视图管理
    • 支持常用的监控对象类型的指标视图展示
    • 支持指标管理
    • 支持自定义视图可拖拽拉伸配置各种dashboard
    • 后续会支持应用的视图展示,可直观的展示不同层面的资源情况
  • 告警管理
    • 支持对象注册管理
    • 支持对象组管理
    • 支持对象和组的告警配置
    • 支持历史告警
    • 支持未恢复告警视图

结尾

Open-monitor监控插件特点就是小而全,部署方便、使用方便、性能可靠,好用的才是最好的

  • 2
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 游动-白 设计师:白松林 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值