ceph dashboard

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-李佳程的个人主页
  • 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-李佳程的个人主页
图片[3]-ceph dashboard-李佳程的个人主页
图片[4]-ceph dashboard-李佳程的个人主页
图片[5]-ceph dashboard-李佳程的个人主页
图片[6]-ceph dashboard-李佳程的个人主页
图片[7]-ceph dashboard-李佳程的个人主页

Ceph 对对象存储:
监控对象存储需要配置监控用户,否则 dashboard 无法获取对象存储状态

图片[8]-ceph dashboard-李佳程的个人主页

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-李佳程的个人主页
图片[10]-ceph dashboard-李佳程的个人主页

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享