You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Zabbix监控Rook Ceph集群?除自定义镜像外有无更优方案?

Rook Ceph Zabbix监控实现方案

首选方案:通过Prometheus Exporter对接Zabbix(零侵入,无需修改Ceph容器)

这是目前最稳定且维护成本最低的实现方案,完全不需要依赖zabbix_sender工具,步骤如下:

  • 确认Rook CephCluster资源中已开启监控组件:将spec.monitoring.enabled设置为true,Rook会自动部署Ceph内置的Prometheus Exporter,暴露所有集群、池、OSD、MON、MGR等维度的监控指标
  • 在Zabbix侧添加Prometheus类型数据源,直接拉取Exporter的指标接口即可完成所有监控项的对接,不需要修改Ceph容器的任何配置

备选方案1:挂载宿主机zabbix_sender二进制

该方案可以实现需求,但存在适配风险:

  • 可行性前提:宿主机预安装的zabbix_sender二进制的CPU架构、glibc等依赖库版本必须和Ceph官方镜像的运行环境完全兼容,否则会出现执行报错
  • Rook配置方法:修改CephCluster自定义资源的spec.overrides字段,为MON和MGR组件添加宿主机文件挂载,配置示例如下:
apiVersion: ceph.rook.io/v1
kind: CephCluster
spec:
  overrides:
    # MGR组件挂载配置
    mgr:
      volumes:
        - name: zabbix-sender-bin
          hostPath:
            path: /usr/bin/zabbix_sender
            type: File
        # 若zabbix_sender依赖额外动态库,需按相同格式添加对应.so文件的挂载
      volumeMounts:
        - name: zabbix-sender-bin
          mountPath: /usr/bin/zabbix_sender
          readOnly: true
    # MON组件挂载配置
    mon:
      volumes:
        - name: zabbix-sender-bin
          hostPath:
            path: /usr/bin/zabbix_sender
            type: File
      volumeMounts:
        - name: zabbix-sender-bin
          mountPath: /usr/bin/zabbix_sender
          readOnly: true
  • 注意事项:所有运行MON、MGR Pod的宿主机都必须提前部署对应版本的zabbix_sender及依赖,否则对应Pod会启动失败

备选方案2:自定义Ceph镜像

如果上述方案都无法满足需求,再考虑自定义镜像方案:

  • 基于官方Ceph镜像构建自定义镜像,在Dockerfile中添加安装zabbix_sender的步骤
  • 修改CephCluster资源的spec.cephVersion.image字段,指向你构建的自定义镜像地址即可,Rook会自动拉取新镜像重建所有Ceph组件Pod

内容的提问来源于stack exchange,提问作者Jan Klepek

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:15:05