gpt4 book ai didi

kubernetes - prometheus operator - 启用对所有命名空间中的所有内容的监控

转载 作者:行者123 更新时间:2023-12-02 11:39:01 34 4
gpt4 key购买 nike

我想通过 prometheus-operator 在名为 developmentproduction 的命名空间中监视在 Kubernetes 集群上运行的几个应用程序。

使用的安装命令(根据 Github )是:
helm install prometheus-operator stable/prometheus-operator -n production --set prometheusOperator.enabled=true,prometheus.service.type=NodePort,prometheusOperator.service.type=NodePort,alertmanager.service.type=NodePort,grafana.service.type=NodePort,grafana.service.nodePort=30906
我需要向上述命令添加哪些参数才能让 prometheus-operator 发现和监控在所有 namespaces 中运行的所有应用程序/服务/pod?

有了这个, Service Discovery 只显示一些 prometheus-operator 相关的 services ,而不是我在“生产”命名空间中运行的应用程序,即使 prometheus-operator 安装在同一个 namespace 中。

我缺少什么吗?

注意 - 正在使用同一用户(使用 $HOME/.kube/config file )执行所有操作,因此我认为权限不是问题。

kubectl 版本 - v1.17.3
掌 Helm 版本 - 3.1.2

附言在不同的论坛上有很多关于此的文章,但我仍然没有找到简单而直接的答案。

最佳答案

我有同样的问题。经过一些调查回答更多细节。
我已经通过 Helm charts 安装了 Prometheus 堆栈,它直接将 Prometheus 运算符图表作为子项目包含在内。 Prometheus operator 监视由以下 helm 值指定的命名空间:

prometheusOperator:
namespaces: ''
denyNamespaces: ''
prometheusInstanceNamespaces: ''
alertmanagerInstanceNamespaces: ''
thanosRulerInstanceNamespaces: ''
namespaces 值指定 ServiceMonitor 和 PodMonitor CRD 的受监控命名空间。其他 CRD 有自己的设置,如果没有设置,默认为 namespaces 。 Helm 值作为命令行参数传递给操作符。请参阅 herehere
普罗米修斯 CRD 由运算符(operator)从提到的命名空间中选择,默认情况下 - 无处不在。但是,由于 Operator 的设计考虑了多个 Prometheus 的同时发布,因此特定 Prometheus 应用程序实例选择的内容由相应的 Prometheus CRD 控制。 CRD 选择器和相应的命名空间选择器通过以下 Helm 值控制:
prometheus:
prometheusSpec:
serviceMonitorSelectorNilUsesHelmValues: true
serviceMonitorSelector: {}
serviceMonitorNamespaceSelector: {}
其他 CRD 也有类似的值:alertmanagerConfigXXX、ruleNamespaceXXX、podMonitorXXX、probeXXX。 XXXSelectorNilUsesHelmValues 设置为 true,意味着寻找具有特定发布标签的 CRD,例如 release=myrelease 。见 here
空选择器(对于命名空间、CRD 或任何其他对象)意味着没有过滤。因此,对于 Prometheus 对象从其他命名空间中获取 ServiceMonitor 的选项很少:
  • 设置 serviceMonitorSelectorNilUsesHelmValues: false 。这使得 serviceMonitorSelector 为空。
  • 应用发布标签,例如release=myrelease ,到您的 ServiceMonitor CRD。
  • 设置一个与您的 ServiceMonitor 匹配的非空 serviceMonitorSelector。

  • 对于好奇的人,这里是运营商来源的链接:
  • Enqueue of Prometheus CRD processing
  • Processing of Prometheus CRD
  • 关于kubernetes - prometheus operator - 启用对所有命名空间中的所有内容的监控,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60706343/

    34 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com