ceph dashboard

大番茄 2020年03月20日 3,806次浏览

v14.2.8

https://docs.ceph.com/docs/master/mgr/dashboard/

Ceph仪表板是基于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 dashboard
Error 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-cert
Self-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 MOEG3CY0LEB8JETFFA5Z
Option RGW_API_ACCESS_KEY updated
[root@cephnode1 ~]# ceph dashboard set-rgw-api-secret-key DaJBFSnyV9CgEBkRTEpYn9Tk391IppOkgybRx0wu
Option 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
我这里能够登录,但是Object Gateway(rgw)访问还是有问题。

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

二、启用Prometheus监控接口

就是暴露出去一个metrics接口,让prometheus使用。
启用prometheus模块就行。

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

端口9283 就可以直接访问了。

这里就是简单提一下, 至于prometheus与grafana的配置就略过了。