分布式存儲系統之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端口;

推薦閱讀