写点什么

Ceph 可观测性最佳实践

作者:观测云
  • 2025-08-18
    上海
  • 本文字数:2368 字

    阅读完需:约 8 分钟

Ceph 可观测性最佳实践

Ceph 介绍

Ceph 是一种高性能、高可扩展性和高可靠性的开源分布式存储系统,广泛应用于云计算、大数据和高性能计算等领域。它通过其核心组件(如对象存储守护进程 OSD、元数据服务器 MDS 和监控守护进程 MON)协同工作,利用 CRUSH 算法实现数据的分布存储和动态负载均衡,支持对象存储、块存储和文件存储等多种存储接口,能够灵活满足不同场景下的存储需求。

Ceph 的整体监控体系通过多种机制和工具实现对集群的全面监控与管理。除了核心的 MON 组件负责维护集群状态和一致性外,Ceph 还利用 OSD 的自我监控功能,实时检测存储节点的健康状况和性能指标。此外,Ceph 提供了丰富的监控接口,能够与 Prometheus、Grafana 等外部监控工具集成,实现对集群资源使用、性能瓶颈、故障告警等信息的可视化展示和实时分析,从而帮助管理员全面掌握集群运行状态,及时发现并解决问题,确保整个存储系统的稳定性和可靠性。

观测云

观测云是一款专为 IT 工程师打造的全链路可观测产品,它集成了基础设施监控、应用程序性能监控和日志管理,为整个技术栈提供实时可观察性。这款产品能够帮助工程师全面了解端到端的用户体验追踪,了解应用内函数的每一次调用,以及全面监控云时代的基础设施。此外,观测云还具备快速发现系统安全风险的能力,为数字化时代提供安全保障。

部署 DataKit

DataKit 是一个开源的、跨平台的数据收集和监控工具,由观测云开发并维护。它旨在帮助用户收集、处理和分析各种数据源,如日志、指标和事件,以便进行有效的监控和故障排查。DataKit 支持多种数据输入和输出格式,可以轻松集成到现有的监控系统中。

登录观测云控制台,在「集成」 - 「DataKit」选择对应安装方式,当前采用 Linux 主机部署 DataKit。



采集器配置

前置条件

  • Ceph 暴露 Prometheus 监控接口

相关组件及端口关系如下:


通过以下方式获取对应监控的配置信息,其中 8765 为管理端口:

格式 http://<endpoint>:8765/sd/prometheus/sd-config?service=<组件名称> 获取 prometheus 的配置文件。

如: http://<endpoint>:8765/sd/prometheus/sd-config?service=mgr-prometheus 获取 mgr-prometheus 的配置文件。

[root@ceph001 ~]# curl http://192.168.0.37:8765/sd/prometheus/sd-config?service=mgr-prometheus[{"targets": ["ceph001:9283"], "labels": {}}]
复制代码

可以看到有一个 targets,通过 targets,我们就可以配置出对应的指标访问 url: http://ceph001:9283/metrics 由于节点会飘移,所以采集的时候需要配置多个 targets。

DataKit 开启 Prom 采集器

按照实际节点数调整配置:

  • ceph-mgr.conf

进入 DataKit 安装目录下的 conf.d/prom ,复制 prom.conf.sample 为 ceph-mgr.conf 。

cp prom.conf.sample ceph-mgr.conf
复制代码

修改 ceph-mgr.conf 内容如下:

# {"version": "1.74.2", "desc": "do NOT edit this line"}
[[inputs.prom]] ## Exporter URLs. urls=["http://ceph001:9283/metrics","http://ceph002:9283/metrics","http://ceph003:9283/metrics"]
## Collector alias. source = "ceph-mgr"
## Customize tags. [inputs.prom.tags] cluster="ceph-cluster"
...
复制代码
  • ceph-exporter.conf

进入 DataKit 安装目录下的 conf.d/prom ,复制 prom.conf.sample 为 ceph-exporter.conf 。

cp prom.conf.sample ceph-exporter.conf
复制代码

修改 ceph-exporter.conf 内容如下:

# {"version": "1.74.2", "desc": "do NOT edit this line"}
[[inputs.prom]] ## Exporter URLs. urls=["http://ceph001:9926/metrics","http://ceph002:9926/metrics","http://ceph003:9926/metrics"]
## Collector alias. source = "ceph-exporter"
## Customize tags. [inputs.prom.tags] cluster="ceph-cluster"
...
复制代码
  • ceph-nfs.conf

进入 DataKit 安装目录下的 conf.d/prom ,复制 prom.conf.sample 为 ceph-nfs.conf 。

cp prom.conf.sample ceph-nfs.conf
复制代码

修改 ceph-nfs.conf 内容如下:

# {"version": "1.74.2", "desc": "do NOT edit this line"}
[[inputs.prom]] ## Exporter URLs. urls=["http://ceph001:9587/metrics"]
## Collector alias. source = "ceph-nfs"
## Customize tags. [inputs.prom.tags] cluster="ceph-cluster"
...
复制代码
  • ceph-nvmeof.conf

进入 DataKit 安装目录下的 conf.d/prom ,复制 prom.conf.sample 为 ceph-nvmeof.conf

cp prom.conf.sample ceph-nvmeof.conf
复制代码

修改 ceph-nvmeof.conf 内容如下:

# {"version": "1.74.2", "desc": "do NOT edit this line"}
[[inputs.prom]] ## Exporter URLs. urls=["http://ceph001:10008"]
## Collector alias. source = "ceph-nvmeof"
## Customize tags. [inputs.prom.tags] cluster="ceph-cluster"
...
复制代码

重启 DataKit

datakit service -R
复制代码

关键指标


场景视图

登录观测云控制台,点击「场景」 -「新建仪表板」,输入 “Ceph”, 选择 “Ceph Cluster”,点击 “确定” 即可添加视图。

  • Ceph Cluster:可查看 Ceph 集群相关信息




  • Ceph OSD




  • Ceph - CephFS




监控器(告警)

观测云内置了监控器模板,可以选择从模版创建监控器,并开启适合业务的监控器以及时通知相关成员关注问题,触发条件、频率等信息可以依据实际业务进行调整。

登录观测云控制台,点击「监控」 -「新建监控器」,输入 “阿里云 Ceph”, 选择对应的监控器,点击 “确定” 即可添加。



总结

使用观测云可以实时采集 Ceph 的各项关键指标,包括集群的健康状态、存储利用率、I/O 性能、网络带宽等。同时,观测云支持可视化界面,能够以直观的图表和仪表板形式展示 Ceph 的运行数据,帮助运维人员快速定位问题。此外,它还具备强大的告警功能,一旦检测到异常情况,如磁盘故障、性能瓶颈等,能够及时发出告警通知,确保 Ceph 集群的稳定运行。

用户头像

观测云

关注

还未添加个人签名 2021-02-08 加入

云时代的系统可观测平台

评论

发布
暂无评论
Ceph 可观测性最佳实践_Ceph_观测云_InfoQ写作社区