1、简介

1.1 介绍

    我们 需要 监测 的集群 正在 运行的各种服务进程;集群 所有 pgs 正常 状态 为 active + clean,其余 均为 异常 状态
    

1.2 集群 基础 监测

    集群 基础 监测 主要包括 检查 集群 健康状态,容量 使用 情况,monitor、osd 守护 进程的运行状态(up、down)
    

2、集群 健康 检测

    哈哈,平时 比较懒,每次都要 输入 那么多 ceph,有点烦,原来 ceph 有个 交互模式(没有 命令 记忆功能,哈哈哈,失算)
    

2.1 交互 模式下 检测 集群 健康

# ceph

## 查看 集群当前 状态,HEALTH_OK、HEALTH_WARN、HEALTH_ERR
ceph> health

## 效果 与 ceph -s 一样
ceph> status

## 集群 mon 相关 信息
ceph> quorum_status
ceph> mon_status

    

2.2 命令行 输入

    哈哈,还是 使用 命令行 操作吧,能通过 上下 按键 查找,同样的命令 连续执行时, 不需要 不停的输入

## 这两个 命令 执行 的效果一样
# ceph status
# ceph -s

## health : HEALTH_OK、HEALTH_WARN、HEALTH_ERR
# ceph health [detail]

    

备注:
    集群 健康 状态 "HEALTH_OK" 表示 集群 健康正常,若出现 "HEALTH_WARN XXX num placement group stale"时,等待 几分钟,一般 都可 自动 恢复 正常
    

2.3 集群 动态 监测

    某些 情况下,需要 动态 持续 的 关注 集群 事件信息

# ceph -w

    

3、集群 容量 检测

3.1 集群 容量 查看

    集群 处于 健康 状态 运行,凡事 都有个 度,存储 集群 也是一样的,不可能 一直 写入,到了 后期 需要 关注 容量 状态,毕竟 数据量越大,会 导致 整个集群 的性能 有所 降低(毕竟 不好好 检测 容量 状态,数据 阻塞 导致 的问题 可不是那么 好解决的啦);该删的的数据 就删掉,实在 没容量啦,就扩容吧,理论上 是 无限 扩展;还有 就是 数据 均衡的问题(这个 后期 再编写文章 详细 描述啦)

## ceph 中,所有 的数据 都写入 数据池中(抽象 出来的概念)
# ceph df

    

3.2 集群 容量 参数

    一般 情况下,osd 使用 超过 85%,就不会 往 该 osd 写入数据;集群 整体 容量 超过 95% 集群 就不能 写入了;可以 调整 配置,控制 集群 的 容量,一般 不建议 调太大;osd 超过 默认告警值 就想想 数据 能不能 均衡;集群 超过 告警值, 扩容吧(哈哈哈,蹲机房 扩容)

##  配置文件中 添加 容量 配置参数,记得 重启 相关 服务 让 配置生效
## 哈哈,其实 也可以 在线 修改 配置参数,后面 单独 编写 文件介绍喽
# vim /etc/ceph/ceph.conf
...
## 集群 整体 容量 使用 上限
mon_osd_full_ratio = "0.950000" 

## 单个 osd 容量 使用 上限
mon_osd_nearfull_ratio = "0.850000" 
...

    

4、mon 检测

    一般 情况下,线上 环境 都会 部署 多个 mon; 所以 对 集群 进行 数据 读写时,需要 检查 mon 状态
    

## dump 比 stat 更 详细,quorum_status 比 dump 更详细
# ceph mon stat
# ceph mon dump
# ceph quorum_status -f json-pretty

5、osd 检测

5.1 osd 状态

    in:osd 加入 集群
    out:osd 没有 加入集群
    down:osd 加入集群,但是 服务 停止
    up:osd 加入 集群,并且 服务正在 运行
    

5.2 osd 状态 检测

## 检查 所有 osd 状态
# ceph osd stat
# ceph osd dump
# ceph osd tree