分布式存储系统之Ceph集群启用Dashboard及使用Prometheus监控Ceph

前文我们了解了Ceph之上的RadosGW基础使用相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/16768998.html;今天我们来聊一聊Ceph启用Dashboard和使用Prometheus监控Ceph相关话题;
MGR组件作用
Ceph在早些版本(L版之前)都是没有MGR这个组件的,L版之前,ceph集群相关监控数据都是靠mon节点完成,为了减轻mon节点的压力,ceph集群相关状态数据的功能在L版之后被独立出来,用MGR来负责,MGR主要作用是用于责跟踪运行时指标和Ceph集群的当前状态,包括存储利用率,当前性能指标和系统负载等,Ceph集群信息;
MGR是一个高度模块化的组件,很多功能都可以通过启用或禁用模块来实现;其中Dashboard这个模块也被MGR所管理,默认情况下该模块并没有被启用;dashboard从字面意思就能知道该模块是提供一个面板;该面板能够显示ceph集群相关状态数据,比如有集群的健康状态、osd有多少个、存储池有多少个,msd、mgr等等相关组件的状态信息;
Ceph mgr 模块管理
列出mgr全部模块
[root@ceph-admin ~]# ceph mgr module ls{"enabled_modules": ["balancer","crash","iostat","restful","status"],"disabled_modules": [{"name": "dashboard","can_run": true,"error_string": ""},{"name": "hello","can_run": true,"error_string": ""},{"name": "influx","can_run": false,"error_string": "influxdb python module not found"},{"name": "localpool","can_run": true,"error_string": ""},{"name": "prometheus","can_run": true,"error_string": ""},{"name": "selftest","can_run": true,"error_string": ""},{"name": "smart","can_run": true,"error_string": ""},{"name": "telegraf","can_run": true,"error_string": ""},{"name": "telemetry","can_run": true,"error_string": ""},{"name": "zabbix","can_run": true,"error_string": ""}]}[root@ceph-admin ~]#提示:ceph mgr module ls命令显示了集群启用的模块和禁用的模块信息;其中禁用模块中can_run值为true表示支持对应模块,但未启用;can_run值为false表示不支持对应模块,error_string的值就是用来描述为什么该模块不被支持;
Ceph mgr启用dashboard模块

分布式存储系统之Ceph集群启用Dashboard及使用Prometheus监控Ceph

文章插图
提示:dashboard模块默认是以https向外展示ceph集群状态相关数据;这意味着我们需要向dashboard提供证书,对应服务才能正常使用;或者我们禁用dashboard的ssl功能,让其以http的方式对外提供服务;
禁用dashboard的ssl功能
ceph config set mgr mgr/dashboard/ssl false提示:当然这种方式并不推荐;如果要使用ssl能够我们就必须给dashboard提供证书,具体步骤如下;
使用自签名证书
[root@ceph-admin ~]# ceph dashboard create-self-signed-certSelf-signed certificate created[root@ceph-admin ~]#提示:使用自签名证书,我们执行上述命令,对应ceph会自动生成一个自签名证书给dashboard进行使用;
使用自定义证书
生成证书
[root@ceph-admin ~]# openssl req -new -nodes -x509 -subj "/O=IT/CN=ceph-mgr-dashboard"-days 3650 -keyout dashboard.key -out dashboard.crt -extensions v3_caGenerating a 2048 bit RSA private key.....................................................................................................+++.............+++writing new private key to 'dashboard.key'-----[root@ceph-admin ~]# lsCentOS-7-x86_64-Minimal-1708.isoclient.abc.keyringclient.libvirt-secret.xmldashboard.crtcentos7.xmlclient.admin.cluster.keyringclient.test.keyringdashboard.keyceph-deploy-ceph.logclient.admin.keyringclient.usera.keyringfsclient.key[root@ceph-admin ~]#提示:可以看到在当前目录生成了一个key文件和证书文件;
配置dashboard加载证书
[root@ceph-admin ~]# ceph config-key set mgr mgr/dashboard/crt -i dashboard.crtset mgr[root@ceph-admin ~]# ceph config-key set mgr mgr/dashboard/key -i dashboard.keyset mgr[root@ceph-admin ~]#

经验总结扩展阅读