分布式存储系统之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 ~]#配置dashboard监听的地址和端口
[root@ceph-admin ~]# ceph config set mgr mgr/dashboard/server_addr 0.0.0.0[root@ceph-admin ~]# ceph config set mgr mgr/dashboard/server_port 8443[root@ceph-admin ~]#验证:查看mgr所在主机是否正常监听8443呢?
[root@ceph-admin ~]# ceph -scluster:id:7fd4a619-9767-4b46-9cee-78b9dfe88f34health: HEALTH_OKservices:mon: 3 daemons, quorum ceph-mon01,ceph-mon02,ceph-mon03mgr: ceph-mgr01(active), standbys: ceph-mon01, ceph-mgr02mds: cephfs-2/2/2 up{0=ceph-mon01=up:active,1=ceph-mon02=up:active}, 1 up:standby-replayosd: 10 osds: 10 up, 10 inrgw: 2 daemons activedata:pools:12 pools, 480 pgsobjects: 515objects, 847 MiBusage:13 GiB used, 887 GiB / 900 GiB availpgs:480 active+cleanio:client:1.2 KiB/s rd, 2 op/s rd, 0 op/s wr[root@ceph-admin ~]# ssh ceph-mgr01 'ss -tnlp|grep 8443'LISTEN05[::]:8443[::]:*users:(("ceph-mgr",pid=1091,fd=53))[root@ceph-admin ~]#提示:可以看到当前活动的mgr所在主机已经正常监听8443端口;

推荐阅读