ceph_dashboard


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。

  1. 生成自簽名證書:
[root@cephnode1 ~]# ceph dashboard create-self-signed-certSelf-signed certificate created
  1. 指定證書
$ ceph dashboard set-ssl-certificate -i dashboard.crt$ ceph dashboard set-ssl-certificate-key -i dashboard.key
  1. 取消https
ceph config set mgr mgr/dashboard/ssl false

修改證書或者修改配置以后需要重啟dashboard模塊來生效。

$ ceph mgr module disable dashboard$ ceph mgr module enable dashboard

修改dashboard監聽的端口

默認情況下,監聽所有地址的84438080

修改監聽的地址與端口:

$ 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_keysecret_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 ~]#

最后

打開網址登錄
image.png

image.png

image.png

image.png

我這里能夠登錄,但是Object Gateway(rgw)訪問還是有問題。

其他的dashhboard命令可以通過ceph dashboard --help查看。

二、啟用Prometheus監控接口

就是暴露出去一個metrics接口,讓prometheus使用。
啟用prometheus模塊就行。

[root@cephnode1 ~]# ceph mgr module enable prometheus

端口9283 就可以直接訪問了。

這里就是簡單提一下, 至於prometheus與grafana的配置就略過了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM