一步一步打造集群监控系统(持续更新中-最后更新20160301)

目前的开源的ceph的监控平台有几个,inkscope,calamari,vsm,ceph-dash,这几个软件各有各的特色各有个的特点,按需取用,下面先简单介绍下这几个软件的运行模式

  • inkscope自己封装了一套api,在集群数据方面直接调用的ceph的自己的ceph-rest-api,节点硬件数据通过一个自带的插件收取数据,里面的osd的pg显示非常有特色,使用了sankey chart来显示关联关系
  • calamari 是 redhat官方提供的一个开源监控,监控基于的graphite,diamond收集各个节点的数据发送给管理平台的机器,然后显示,目前结构稳定,基本没太多变化
  • vsm 是intel出的一个监控加管理的平台,可以进行部署和监控,现在还处于开发阶段,版本在一直发布,与openstack有结合
  • ceph-dash配置很简单,直接运行即可,可以获取到一些基本的数据

以上软件都非常不错,如果需求不是太高,直接取用就行

本篇将根据我自己的经验,根据现有的软件,打造一个自己需要的监控系统,本篇不会具体写细节如何实现,主要是记录,在监控一套系统的时候,需要去关注什么数据,数据以什么形式的展示,整个过程会比较久,会持续更新,欢迎探讨

一、监控组成

监控采用了grafana+graphite+diamond的方式,需要开发量的主要在diamond的数据的获取方面,这个部分会有单独的文章介绍,页面采用grafana,这个数据展示是目前比较关注的地方,也是监控系统的难点

二、监控区块

2.1、健康状态的监控

healthstatus
ceph -s 可以看到集群的状态,这个状态有三个:

  • health_ok
  • health_warn
  • health_err

第一个监控区块实现的功能如下:

  • OK为绿色,WARN为黄色,ERR为红色
  • 区块的堆叠图记录了集群的状态,OK为值2,WARN为值1,ERR为值0,基于时间线

这样做的好处可以方便的分辨出状态的变化,可以从下面的堆叠图看到是否有短时的状态异常的情况

2.2、服务状态监控和pg状态监控

监控从底层往上面走,集群的服务的监控包括了mon的状态的监控,和osd的监控,这里的监控设计是满足监控状态的时候为绿色,不满足的时候为黄色,显示数目

监控pg的状态是各种状态都监控,active+clean为健康状态的,显示各个状态的数目,这里因为状态太多,后期需要优化下显示,提取重要的状态进行显示

最后更新时间:
2016-03-01

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!


支付宝