ph儀表板是基於Web的內置Ceph管理和監視應用程序,用於管理集群的各個方面和對象。它作為Ceph Manager守護程序的模塊實現。
從Luminous開始,Ceph 提供了原生的Dashboard功能,通過Dashboard可以獲取Ceph集群的各種基本狀態信息,而且經過不斷更新,現在已經有了各種管理功能。
一、dashboard
安裝dashboard模塊軟件包
dashboard
作為mgr
的模塊存在,需要安裝一下模塊的軟件包。
包的名字叫做: ceph-mgr-dashboard
, 使用ceph的yum源安裝就可以。
yum install ceph-mgr-dashboard -y
所有mgr
節點都需要安裝,不然在啟用dashboard模塊的時候會報錯:
[root@cephnode1 ~]# ceph mgr module enable dashboardError ENOENT: all mgr daemons do not support module 'dashboard', pass --force to force enablement
啟用dashboard
可以使用ceph mgr module ls
查看一下模塊列表。這個列表跟安沒安裝ceph-mgr-dashboard
沒關系。
可以看到啟用的模塊里沒有dashboard:
"enabled_modules": [ "iostat", "pg_autoscaler", "restful" ],
執行ceph mgr module enable dashboard
來啟用dashboard。
[root@cephnode1 ~]# ceph mgr module enable dashboard
啟用以后就會有監聽端口了,默認是8443
。
配置dashboard
提供證書
默認情況下,dashboard提供https訪問。所以需要證書。
有三種方式:
一是使用ceph dashboard生成自簽名證書。
二是指定提供的證書。
三是不使用https。
- 生成自簽名證書:
[root@cephnode1 ~]# ceph dashboard create-self-signed-certSelf-signed certificate created
- 指定證書
$ ceph dashboard set-ssl-certificate -i dashboard.crt$ ceph dashboard set-ssl-certificate-key -i dashboard.key
- 取消https
ceph config set mgr mgr/dashboard/ssl false
修改證書或者修改配置以后需要重啟dashboard模塊來生效。
$ ceph mgr module disable dashboard$ ceph mgr module enable dashboard
修改dashboard監聽的端口
默認情況下,監聽所有地址的8443
或8080
修改監聽的地址與端口:
$ ceph config set mgr mgr/dashboard/server_addr $IP$ ceph config set mgr mgr/dashboard/server_port $PORT$ ceph config set mgr mgr/dashboard/ssl_server_port $PORT
如,修改https端口為8843。
[root@cephnode1 ~]# ceph config set mgr mgr/dashboard/ssl_server_port 8843# 重啟模塊生效,可以看一下監聽的端口有沒有變化。[root@cephnode1 ~]# ceph mgr module disable dashboard[root@cephnode1 ~]# ceph mgr module enable dashboard
登錄用戶
為了能夠登錄,需要創建一個用戶帳戶並將其與至少一個角色相關聯, dashboard提供了一組可以使用的預定義系統角色。如administrator
表示管理員。
要創建具有管理員角色的用戶,可以使用以下命令:
$ ceph dashboard ac-user-create <username> <password> administrator
如:
[root@cephnode1 ~]# ceph dashboard ac-user-create mydashboard abcdefg administrator{"username": "mydashboard", "lastUpdate": 1584676335, "name": null, "roles": ["administrator"], "password": "$2b$12$uNxxDZgdrlCZwfQZlLwgL.L0F9aKSYznqnyfX2Lc3BBDqhZDEv9wC", "email": null}
現在dashboard就已經可以訪問了。只是其中的rgw
管理的功能還不可以用。
我這里按下面的步驟都做完,還有官網提到的一些其他點,最后還是不能管理rgw
,暫時還不知道怎么回事。
為dashboard添加rgw
的管理憑據
因為rgw
是一個單獨的組件,dashboard
不能直接管理,需要創建憑據讓dashboard
有權限管理rgw
。
如果不需要dashboard管理rgw
,這一步可以跳過。
要使用dashboard管理rgw的功能,需要提供啟用了
system
標志的用戶憑據。
如果有用戶,使用下面這個命令獲取憑據信息。
radosgw-admin user info --uid=<user_id>
沒有則需要創建。
$ radosgw-admin user create --uid=<user_id> --display-name=<display_name> \ --system
如:
[root@cephnode1 ~]# radosgw-admin user create --uid=dashboard --display-name=dashboard{ "user_id": "dashboard", "display_name": "dashboard", "email": "", "suspended": 0, "max_buckets": 1000, "subusers": [], "keys": [ { "user": "dashboard", "access_key": "MOEG3CY0LEB8JETFFA5Z", "secret_key": "DaJBFSnyV9CgEBkRTEpYn9Tk391IppOkgybRx0wu" } ], "swift_keys": [], "caps": [],
記下顯示的access_key
與secret_key
最后,向dashboard提供憑據,以便讓它可以連接rgw
:
$ ceph dashboard set-rgw-api-access-key <access_key>$ ceph dashboard set-rgw-api-secret-key <secret_key>
如:
[root@cephnode1 ~]# ceph dashboard set-rgw-api-access-key MOEG3CY0LEB8JETFFA5ZOption RGW_API_ACCESS_KEY updated[root@cephnode1 ~]# ceph dashboard set-rgw-api-secret-key DaJBFSnyV9CgEBkRTEpYn9Tk391IppOkgybRx0wuOption RGW_API_SECRET_KEY updated
登錄
查看mgr中的服務
可以使用ceph mgr services
查看mgr中提供的服務。可以確定dashboard的登錄地址與端口。
[root@cephnode1 ~]# ceph mgr services{ "dashboard": "https://cephnode1:8843/"}[root@cephnode1 ~]#
最后
我這里能夠登錄,但是Object Gateway(rgw)訪問還是有問題。
其他的dashhboard命令可以通過ceph dashboard --help
查看。
二、啟用Prometheus監控接口
就是暴露出去一個metrics接口,讓prometheus使用。
啟用prometheus模塊就行。
[root@cephnode1 ~]# ceph mgr module enable prometheus
端口9283
就可以直接訪問了。
這里就是簡單提一下, 至於prometheus與grafana的配置就略過了。