文档首页/ 云容器引擎 CCE/ 用户指南/ 可观测性/ 可观测性最佳实践/ 云原生监控插件兼容自建Prometheus
更新时间:2024-11-12 GMT+08:00

云原生监控插件兼容自建Prometheus

云原生监控插件兼容模式

  • 若您已自建Prometheus,且您的Prometheus基于开源,未做深度定制、未与您的监控系统深度整合,建议您卸载自建Prometheus并直接使用云原生监控插件对您的集群进行监控,无需开启“兼容模式”

    卸载您自建的Prometheus,需要确保删除您自建Prometheus所有的工作负载以及以monitoring.coreos.com结尾的所有CRDs。详情请参见如何移除自建Prometheus?

  • 若您自建的Prometheus无法卸载,且需要使用成本洞察、监控中心等功能,当您的自建Prometheus满足兼容性要求时,您可以选择开启“兼容模式”,详情请参见开通监控中心

    兼容模式下无法得到完整的云原生监控插件体验,例如,兼容模式不支持成本优化、无法在AOM页面进行指标废弃等,详情请参见兼容模式约束

兼容性要求

请确保您自建的Prometheus满足以下条件,否则无法正常共存运行:

  • 若您的Prometheus不是基于Operator社区的KubePrometheus构建的,则满足兼容性要求。
  • 若您的Prometheus是基于Operator社区的KubePrometheus构建的,则CRD prometheuses.monitoring.coreos.com的版本至少应该为0.8.0。

    您可以在集群内执行如下命令,快速进行判断:

    kubectl get crd prometheuses.monitoring.coreos.com -oyaml | grep controller-gen.kubebuilder.io/version

    若回显如下,则满足兼容性要求。

    Error from server (NotFound): customresourcedefinitions.apiextensions.k8s.io "prometheuses.monitoring.coreos.com" not found

    若回显如下,且最后的版本≥v0.8.0,则满足兼容性要求。

    controller-gen.kubebuilder.io/version: v0.9.2

兼容模式约束

  • 兼容模式会将云原生监控插件安装在cce-monitoring名空间下,默认不识别任何其他命名空间的ServiceMonitor和PodMonitor。
  • 只支持无本地存储的模式。
  • 开启后不支持关闭,可通过插件卸载安装的方式切换为正常模式。
  • 暂不支持成本优化。
  • 暂不支持在AOM页面进行指标废弃。
  • 暂不支持在AOM页面进行ServiceMonitor和PodMonitor启停。

如何移除自建Prometheus?

  1. 首先,您需要删除所有自建Prometheus相关的工作负载、服务以及其他资源,包含DaemonSet、Deployment、Statefulset、Service等。一般在monitoring命名空间下,请根据您实际安装的命名空间进行调整。
  2. 查询所有monitoring.coreos.com CRDs。

    kubectl get crd | grep monitoring.coreos.com | awk '{print $1}' | xargs

    若回显为空,则无需下一步操作。

  3. 删除所有monitoring.coreos.com CRDs。

    kubectl delete crd $(kubectl get crd | grep monitoring.coreos.com | awk '{print $1}' | xargs)