我这里使用prometheus监控ceph并配置alertmanager告警
MGR
Manager: 管理器
Ceph管理器守护程序(Cephmgr)负责跟踪运行时指标和Ceph群集的当前状态,包括存储利用率、当前性能指标和系统负载。Ceph管理器守护进程还托管基于python的模块,以管理和公开Ceph集群信息,包括基于web的Ceph仪表板和Restful APT。高可用性通常需要至少两个管理器。
查看集群状态
[root@ceph03 ~]# ceph -s
cluster:
id: ed040fb0-fa20-456a-a9f0-c9a96cdf089e
health: HEALTH_OK
services:
mon: 3 daemons, quorum ceph01,ceph02,ceph03 (age 47h)
mgr: ceph01(active, since 47h), standbys: ceph02, ceph03
mds: cephfs-sunday:1 {0=ceph01=up:active} 2 up:standby
osd: 3 osds: 3 up (since 10d), 3 in (since 10d)
rgw: 1 daemon active (ceph01)
task status:
data:
pools: 12 pools, 672 pgs
objects: 339 objects, 401 MiB
usage: 4.2 GiB used, 296 GiB / 300 GiB avail
pgs: 672 active+clean
新版本需要安装 dashboard,而且必须安装在 mgr 节点
这里使用ceph03节点提供服务,所以在此节点开启dashboard
yum install -y ceph-mgr-dashboard
检查开启dashboard模块(默认没有开启)
# 已经开启的
[root@ceph03 ~]# ceph mgr module ls | grep dashboard
"dashboard",
# 若没有开启dashboard, 则使用下面命令开启
[root@ceph03 ~]# ceph mgr module enable dashboard
# 提示报错可以使用
[root@ceph03 ~]# ceph mgr module enable dashboard --force
配置mgr-dashboard
# 设置监听地址
ceph config set mgr mgr/dashboard/server_addr 0.0.0.0
# 设置端口号
ceph config set mgr mgr/dashboard/server_port 7000
# 关闭ssl验证
ceph config set mgr mgr/dashboard/ssl false
创建管理员用户
最新的ceph dashboard不支持直接在命令行里面创建用户的密码,所以需要.先创建一个包含用户密码的文件
cat >/opt/secretkey<<EOF admin123 EOF
使用该文本作为密钥
ceph dashboard ac-user-create admin administrator -i /opt/secretkey
```sh
# 重启服务
[root@ceph03 ceph]# systemctl restart ceph-mgr.target
[root@ceph03 ceph]# ss -utnlp | grep 7000
tcp LISTEN 0 5 *:7000 *:* users:(("ceph-mgr",pid=23920,fd=28))
[root@ceph03 ~]# ceph mgr services
{
"dashboard": "http://ceph03:7000/"
}
访问ceph mgr ip:7000 端口
用户名:admin 密码:admin123登录
http://ceph-mgr节点:7000/#/login?returnUrl=%2Fdashboard
mgr-dashboard可以设置多个节点,然后nginx upstream代理
若没有配置外部高可用负载,ceph mgr dashboard 挂了 也会自动切到其他节点,只不过有延迟,没那么快 差不多要1分钟
# 这里停用ceph01的mgr服务 等一会儿dashboard会到其他节点
[root@ceph01 ceph]# systemctl stop ceph-mgr.target
[root@ceph03 ~]# ceph mgr services
{
"dashboard": "http://ceph01:7000/"
}
[root@ceph03 ~]# ceph mgr services
{
"dashboard": "http://ceph03:7000/"
}
dashboard 高可用
http {
upstream ceph_dashboard_cluster {
server 192.168.77.41:7000;
server 192.168.77.42:7000;
server 192.168.77.43:7000;
}
server {
listen 80;
server_name ceph-dashboard.sundayhk.com;
location / {
proxy_pass https://ceph_dashboard_cluster;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
}
# vim /etc/ceph/ceph.conf
[dashboard] server_name = new-dashboard.example.com
ceph mgr module disable dashboard
ceph mgr module enable dashboard
或直接使用
systemctl restart ceph-mgr.target
开启Prometheus metric模块
[root@ceph01 ~]# ceph mgr module enable prometheus
[root@ceph01 ceph]# lsof -i:9283
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ceph-mgr 25590 ceph 29u IPv6 244846 0t0 TCP *:callwaveiam (LISTEN)```