• Ceph是一个分布式存储系统。同时Ceph除了能提供块存储,还可以提供文件存储、对象存储。
  • 这里不介绍如何搭建Ceph及原理,只记录使用Ceph_exporter + Prometheus + Grafana 来对Ceph集群作监控的部署过程
  • Ceph集群有三种节点:Admin + Monitor + Node

Admin节点上部署Ceph_exporter

安装需要的软件golang

1
yum install golang git librados2-devel librbd1-devel -y

设置go的环境变量

1
2
3
4
5
# /etc/profile.d/go.sh
export GOROOT=/usr/lib/golang
export GOBIN=$GOROOT/bin
export GOPATH=/home/golang
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
1
source /etc/profile.d/go.sh

安装ceph_exporter

1
go get -u github.com/digitalocean/ceph_exporter

运行ceph_exporter

1
2
cd /usr/lib/golang/bin/
nohup ./ceph_exporter &

检验结果

1
curl 127.0.0.1:9128

Prometheus上添加ceph_exporter的job

添加scraper的job

1
2
3
4
5
6
7
8
# prometheus.yml
...
scrape_configs:
- job_name: 'ceph'
static_configs:
- targets: ['ceph_host:9128']
labels:
instance: ceph

重启prometheus

1
2
pkill -9 prometheus
nohup ./prometheus >/dev/null 2>&1 &

检验结果

检查prometheus的status->targets中Ceph(1/1up)

Grafana中添加Ceph监控展示

下载Ceph集群监控配置json:Ceph-Cluster Dashboard

1
Revisions -> Download

展示最终效果图

ceph-cluster.JPG