Project Icon

ceph_exporter

Ceph集群监控与指标导出工具

ceph_exporter是一个Prometheus导出器,用于收集运行中Ceph集群的元信息。它支持Nautilus、Octopus和Pacific版本,无需额外配置即可使用。该工具提供多种指标收集功能,包括RGW统计、自定义配置和Docker部署支持。ceph_exporter通过与Ceph监视器交互,为Ceph集群监控提供全面的数据支持。

Ceph 导出器 GoDoc 构建 测试 Go 报告卡

这是一个 Prometheus 导出器,用于抓取运行中的 Ceph 集群的元信息。所有从集群收集的信息都是通过与监视器交互来完成的,使用了 rados_mon_command() 的适当封装。因此,除了有一个正常运行的 Ceph 集群外,不需要额外的设置。

所有收集的指标列表可在 METRICS.md 页面上查看。

依赖项

理想情况下,您应该在可以与 Ceph 集群通信的客户端上运行此导出器。与其他 Ceph 客户端一样,它需要以下文件才能正常运行:

  • 包含 Ceph 配置的 ceph.conf 文件。
  • 用于向 Ceph 集群认证的 ceph.<用户>.keyring 文件。

如果这些文件存在于任何默认位置ceph_exporter 将自动识别它们。否则,您需要使用环境变量手动提供配置:

  • CEPH_CLUSTER:集群名称(默认为 ceph
  • CEPH_CONFIG:Ceph 客户端用于连接集群的配置文件(默认为 /etc/ceph/ceph.conf
  • CEPH_USER:用于连接集群的 Ceph 客户端用户(默认为 admin

我们使用 Ceph 的官方 Golang 客户端在集群上运行命令。

这个 ceph_exporter 分支目前支持 Nautilus、Octopus(未经测试)和 Pacific 版本。它可能无法在较旧或非 LTS 版本的 Ceph 上正常工作。

环境变量

名称描述默认值
TELEMETRY_ADDRceph_exporter 指标端点的主机:端口*:9128
TELEMETRY_PATH向 Prometheus 暴露指标的 URL 路径/metrics
EXPORTER_CONFIGceph_exporter 配置文件路径/etc/ceph/exporter.yml
RGW_MODE启用从 RGW 收集统计信息(0:禁用 1:启用 2:后台)0
CEPH_CLUSTERCeph 集群名称ceph
CEPH_CONFIGCeph 配置文件路径/etc/ceph/ceph.conf
CEPH_USER连接集群的 Ceph 用户admin
CEPH_RADOS_OP_TIMEOUT用于联系集群的 Ceph rados_osd_op_timeout 和 rados_mon_op_timeout(0s 表示无限制)30s
LOG_LEVEL日志级别。可选值:[trace, debug, info, warn, error, fatal, panic]info
TLS_CERT_FILE_PATH启用 TLS 的 x509 证书文件路径(还必须指定密钥文件路径)
TLS_KEY_FILE_PATH启用 TLS 的 x509 密钥文件路径(还必须指定证书文件路径)

安装

只要您有 cgo 依赖项,典型的 Go 安装或构建方式应该可以正常工作。

$ go install -tags nautilus
$ go build -o ceph_exporter -tags nautilus

我们专门为 nautilus 构建客户端,但二进制文件也适用于 Octopus 和 Pacific。

Docker 镜像

Docker Hub

官方 docker 镜像可在 digitalocean/ceph_exporter 获取。

从源码构建

您也可以从源码在本地构建自己的镜像。端口 9128ceph_exporter 的默认端口。

导出器需要您的 Ceph 配置才能与 Ceph 监视器建立通信。您可以将其作为附加命令传入,或将包含 ceph.conf 和用户密钥环的目录挂载到 Ceph 检查的默认 /etc/ceph 位置下。

一个示例构建命令如下:

$ docker build -t digitalocean/ceph_exporter .

可以在上述构建命令中添加 --build-args TEST=true 标志,以在构建过程中运行 Golang 的单元测试:

docker build -t digitalocean/ceph_exporter . --build-arg TEST=true --no-cache

现在您可以开始运行 ceph_exporter 容器了。

$ docker run -v /etc/ceph:/etc/ceph -p=9128:9128 -it digitalocean/ceph_exporter

您需要确保您的镜像可以与监视器通信。如果需要访问主机的网络栈,您可能需要在上述命令中添加 --net=host。这使得端口映射变得多余,因此可以移除 -p 标志。

现在将您的 Prometheus 指向从主机的 :9128 抓取数据(或者如果您决定更改的话,使用您选择的端口)。

贡献

请参阅 CONTRIBUTING 指南,了解有关如何向此存储库提交更改的更多信息。

示例视图

请参阅 ./examples 中的 docker-compose 文件,其中包含 Grafana,如果您想快速搭建一个测试环境。

官方文档解释 docker-compose 的链接: https://docs.docker.com/compose/

docker-compose 文件本身有注释,说明如何更改它以适应您的环境。它使用卷来持久化数据。Docker 卷文档:https://docs.docker.com/engine/tutorials/dockervolumes/

如果您已设置 promdash,可以生成如下视图:

版权所有 © 2016-2023 DigitalOcean™ Inc.

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号