Ceph dashboard 是通过一个 web 界面,对已经运行的 ceph 集群进行状态查看及功能配置等功能,早期 ceph 使用的是第三方的 dashboard 组件,如:
- Calamari
Calamari 对外提供了十分漂亮的 Web 管理和监控界面,以及一套改进的 REST API 接口(不
同于 Ceph 自身的 REST API),在一定程度上简化了 Ceph 的管理。最初 Calamari 是作为 Inktank
公司的 Ceph 企业级商业产品来销售,红帽 2015 年收购 Inktank 后为了更好地推动 Ceph 的
发展,对外宣布 Calamari 开源。
https://github.com/ceph/calamari
优点:
管理功能好
界面友好
可以利用它来部署 Ceph 和监控 Ceph
缺点:
非官方
依赖 OpenStack 某些包
- VSM
Virtual Storage Manager (VSM)是 Intel 公司研发并且开源的一款 Ceph 集群管理和监控软件,简化了一些 Ceph 集群部署的一些步骤,可以简单的通过 WEB 页面来操作。
https://github.com/intel/virtual-storage-manager
优点:
易部署
轻量级
灵活(可以自定义开发功能)
缺点:
监控选项少
缺乏 Ceph 管理功能
- Inkscope
Inkscope 是一个 Ceph 的管理和监控系统,依赖于 Ceph 提供的 API,使用 MongoDB 来
存储实时的监控数据和历史信息。
https://github.com/inkscope/inkscope
优点:
易部署
轻量级
灵活(可以自定义开发功能)
缺点:
监控选项少
缺乏 Ceph 管理功能
![图片[1]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-179.png)
- Ceph-Dash
Ceph-Dash 是用 Python 开发的一个 Ceph 的监控面板,用来监控 Ceph 的运行状态。同时
提供 REST API 来访问状态数据。
http://cephdash.crapworks.de/
优点:
易部署
轻量级
灵活(可以自定义开发功能)
缺点:
功能相对简单
1、启用 dashboard 插件
Ceph mgr 是一个多插件(模块化)的组件,其组件可以单独的启用或关闭。
[root@deploy ~]# 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": ""
}
]
}
模块启用后还不能直接访问,需要配置关闭 SSL 或启用 SSL。
1.1、启用 dashboard 模块
Ceph dashboard 在 mgr 节点进行开启设置,并且可以配置开启或者关闭 SSL。
# 关闭 SSL
[root@deploy ~]# ceph config set mgr mgr/dashboard/ssl false
# 指定 dashboard 监听地址
[root@deploy ~]# ceph config set mgr mgr/dashboard/mgr01/server_addr 192.168.1.117
# 指定 dashboard 监听端口
[root@deploy ~]# ceph config set mgr mgr/dashboard/mgr01/server_port 9009
# 验证 ceph 集群状态
[root@deploy ~]# ceph -s
cluster:
id: 845224fe-1461-48a4-884b-99b7b6327ae9
health: HEALTH_WARN
1 filesystem is degraded
Reduced data availability: 69 pgs inactive, 69 pgs peering
application not enabled on 1 pool(s)
1838 slow ops, oldest one blocked for 4601 sec, daemons [osd.1,osd.5] have slow ops.
1 pools have pg_num > pgp_num
services:
mon: 3 daemons, quorum mon01,mon02,mon03
mgr: mgr01(active), standbys: mgr02
mds: mycephfs-2/2/2 up {0=mgr01=up:replay,1=mon02=up:active}, 2 up:standby
osd: 15 osds: 15 up, 15 in
rgw: 2 daemons active
data:
pools: 9 pools, 288 pgs
objects: 470 objects, 839 MiB
usage: 18 GiB used, 1.4 TiB / 1.5 TiB avail
pgs: 23.958% pgs not active
219 active+clean
69 peering
第一次启用 dashboard 插件需要等一段时间(几分钟),再去被启用的节点验证。
[root@deploy ~]# ceph mgr module enable dashboard
# 在 mgr 节点验证端口与进程
[root@mgr01 ~]# lsof -i:9009
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ceph-mgr 32446 ceph 29u IPv4 252012 0t0 TCP mgr01.ceph.com:pichat (LISTEN)
# 设置 dashboard 账户及密码
[root@deploy ~]# ceph dashboard set-login-credentials test 123456
Username and password updated
1.2、dashboard 访问验证
![图片[2]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-180.png)
![图片[3]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-181.png)
![图片[4]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-182.png)
![图片[5]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-183.png)
![图片[6]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-184.png)
![图片[7]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-185.png)
Ceph 对对象存储:
监控对象存储需要配置监控用户,否则 dashboard 无法获取对象存储状态
![图片[8]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-186.png)
1.3、dashboard SSL
如果要使用 SSL 访问。则需要配置签名证书。证书可以使用 ceph 命令生成,或是 opessl 命令生成。
ceph 自签名证书:
# 生成证书
[root@deploy ~]# ceph dashboard create-self-signed-cert
Self-signed certificate created
# 启用 SSL
[root@deploy ~]# ceph config set mgr mgr/dashboard/ssl true
# 查看当前 dashboard 状态
[root@deploy ~]# ceph mgr services
{
"dashboard": "http://192.168.1.117:9009/"
}
# 重启 mgr 服务
[root@mgr01 ~]# systemctl restart ceph-mgr@mgr01.service
# 再次验证 dashboard:
[root@deploy ~]# ceph mgr services
{
"dashboard": "https://192.168.1.117:9009/"
}
1.4、访问 dashboard
![图片[9]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-187.png)
![图片[10]-ceph dashboard-李佳程的个人主页](http://www.lijiach.com/wp-content/uploads/2023/01/image-188.png)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END