Ceph 存储平台监控

免费使用此 InfluxDB 集成

Ceph 是一个免费的存储平台,它在一个分布式计算机集群上实现对象存储,并提供对象、块和文件级别的存储接口。Ceph 主要目标是实现完全分布式操作,没有单点故障,可扩展到埃字节级别,并且免费使用。

在对象存储方面,Ceph 旨在为用户提供无缝访问其所有关键对象,无论是通过其本地语言绑定(或 radosgw 如果他们更喜欢)还是通过 REST 接口,该接口与为 S3 和 Swift 编写的应用程序原生兼容。在块存储方面,Ceph 的 RADOS 块设备(也称为 RBD)提供对整个存储集群中所有块设备镜像的无限制访问,这些设备在该环境中被剥离并复制。

最后,Ceph 为用户提供了一个完全 POSIX 兼容的网络文件系统(称为 CephFS),它同时提供高性能、大量数据存储以及与旧应用程序最大兼容性的能力。

为什么使用 Ceph 存储的 Telegraf 插件?

Ceph 在一个统一的系统中提供了对象、块和文件存储。Ceph 因其开源和免费使用而受到欢迎,并且因其高度可靠性和易于管理而被 Kubernetes 用户所青睐。Ceph 提供了非凡的可扩展性

  • Ceph 节点利用通用硬件和智能守护进程。
  • Ceph 存储集群容纳大量节点,这些节点相互通信以动态复制和重新分配数据。

Ceph 存储集群从 Ceph 客户端接收数据——无论是通过 Ceph 块设备、Ceph 对象存储、Ceph 文件系统,还是通过 librados 创建的自定义实现——并将数据作为对象存储。

监控您的 Ceph 存储基础设施与监控应用程序运行的容器一样重要。您可以使用 Ceph 存储 Telegraf 插件收集指标,以帮助您监控 Ceph 存储基础设施。

除了可以随时检查您环境的健康状态外,Ceph Telegraf 插件还使用户能够在在线监控节点无法达到法定人数时立即得知。这有助于避免死锁,这是一种您绝对想避免的破坏性事件。同样,监控 Ceph 会在需要立即关注的情况发生时提醒您,例如,OSD 节点已关闭,但仍然看起来在参与,如果它们连续超过五分钟处于该状态。在这种情况下,Ceph 很可能正在努力从节点丢失中恢复,监控可以帮助您尽快恢复运行。

如果您正在运行用于某些非关键应用的较小规模的 Ceph 集群,您可能只需使用它附带的本机监控工具。但是,如果您将其作为生产环境的一部分运行,那么您将需要 Ceph 存储Telegraf 插件提供的强大监控能力。

如何使用 Ceph 存储Telegraf 插件监控您的 Ceph 存储基础设施

配置 Ceph 存储Telegraf 插件很简单。配置 MON 和 OSD 套接字文件的存储位置、目录和前缀以确定套接字类型。一旦配置完毕,它将收集 Ceph 存储集群中 MON 和 OSD 节点的性能指标。

管理员套接字统计信息

此收集器通过扫描配置的 SocketDir 中的 OSD、MON、MDS 和 RGW 套接字文件来工作。当它找到一个 MON 套接字时,它运行 ceph --admin-daemon $file perfcounters_dump。对于 OSD,它运行 ceph --admin-daemon $file perf dump

生成的 JSON 文件将被解析并基于顶级键进行分组。顶级键用作收集标签,所有子键都将展开。例如

{
   "paxos": {
     "refresh": 9363435,
     "refresh_latency": {
       "avgcount": 9363435,
       "sum": 5378.794002000
     }
   }
 }

将被解析为以下指标,所有这些指标都将标记为 collection=paxos

  • refresh = 9363435
  • refresh_latency.avgcount: 9363435
  • refresh_latency.sum: 5378.794002000
集群统计信息

此收集器通过针对集群调用 Ceph 命令来工作,因此只需要 ceph 客户端、有效的 ceph 配置和访问密钥即可运行(ceph_config 和 ceph_user 配置变量一起使用以指定这些先决条件)。它可以在任何您希望的具有集群访问权限的服务器上运行。当前支持的命令包括

  • ceph status
  • ceph df
  • ceph osd pool stats

用于监控的关键 Ceph 存储指标

您应该积极监控的一些重要的 Ceph 存储指标包括

  • Ceph 集群健康状态
  • 在线监控节点的法定人数
  • OSD 节点的状态(是否已关闭但仍处于运行状态)
  • 整个集群或某些节点的容量状态

推荐安装 Ceph 的方法

安装 Ceph 有几种不同的方式。官方推荐的方式是使用 Cephadm 通过 SSH 从管理守护进程连接到主机以部署和管理 Ceph 集群,或者使用 Rook。Rook 是一组 Kubernetes 存储操作员。它部署和管理在 Kubernetes 中运行的 Ceph 集群,同时通过 Kubernetes API 启用存储资源管理和预配。

当涉及到集群监控时,Ceph 提供包括 Prometheus、Prometheus 导出器、Alert manager 等在内的整个监控栈的部署。在这种情况下,使用 Telegraf 中的 Prometheus 输入插件似乎更合适,以连接并收集在 Kubernetes 中运行的 Ceph Manager 模块服务端点的所有 Prometheus 指标。

有关更多信息,请参阅文档。

项目网址   文档

相关资源

InfluxDb-cloud-logo

最强大的时序数据库
作为服务

免费开始
Influxdbu

开发者教育

为时序应用开发者提供培训。

查看所有教育