概述
Ceph的监控有很多,基于实际需求和调研,我们决定使用Diamond+Graphite+Grafana部署Ceph的监控,它可以很直观的看到Ceph的信息,便于做Ceph系统的性能分析;
Diamond
基于python开发的收集系统metrics的工具,包含cpu,disk,network等系统基本信息,也可以定制化开发收集特定的metrics; https://github.com/python-diamond/DiamondGraphite
一个Python编写的企业级开源监控工具,它本身不负责收集数据; http://graphite.readthedocs.io/en/latest/overview.htmlGrafana
一款采用go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,基于商业友好的Apache License 2.0 开源协议;界面和定制化较Graphite强很多,支持Graphite作为其数据源; https://github.com/grafana/grafana
定制化
针对需求,我们可以disable/enable dimaond的一些监控项,也可以写python代码定制化自己的监控项。
我们的修改如下:
- 编写了Diamond,Graphite,Grafana的部署脚本
- 定制化了Diamond的Ceph系统监控
- 配置了cpu,disk,network的监控项
部署
部署一个Ceph监控系统,需要两类节点:
- Diamond运行的节点:收集metrics
- Graphite+Grafana运行的节点:存储各个Diamond节点收集的metrics,提供可视化指标数据的展示
展示
Grafana上可以根据需求定制化模板,我们定制后的Ceph集群监控界面如下图: