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

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

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

Project Cover

Kimi

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

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

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

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

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