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。
- 生成自签名证书:
[root@cephnode1 ~]# ceph dashboard create-self-signed-cert
Self-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 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 ~]#
最后
打开网址登录
我这里能够登录,但是Object Gateway(rgw)访问还是有问题。
其他的dashhboard命令可以通过ceph dashboard --help
查看。
二、启用Prometheus监控接口
就是暴露出去一个metrics接口,让prometheus使用。
启用prometheus模块就行。
[root@cephnode1 ~]# ceph mgr module enable prometheus
端口9283
就可以直接访问了。
这里就是简单提一下, 至于prometheus与grafana的配置就略过了。