为 helm 安装的 prometheus-operator 设置服务发现的命名空间
Set namespace of service-discovery for prometheus-operator installed by helm
我已经通过 helm 3 安装了 prometheus-operator:
helm install prom stable/prometheus-operator --namespace monitor
但我还想为标准安装中的“默认”服务发现设置命名空间。
当我 query the prometheus config 时,我看到了这个:
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- default
我已经查看了 prometheus-operator 的文档,但找不到有关如何更改默认命名空间的选项。
有一个参数serviceMonitorNamespaceSelector
,但这似乎是在命名空间中搜索 serviceMonitor 本身。
应在所需的命名空间中创建一个 ServiceMonitor 对象,并使用适当的标签供 Prometheus Operator 处理它。
参考https://coreos.com/operators/prometheus/docs/latest/api.html#servicemonitorspec。
感谢@naga 的提示,我找到了解决方案:
使用 helm 安装 prometheus operator:
helm install prom stable/prometheus-operator --namespace monitor -f values.yaml
values.yaml配置文件:
kubelet:
serviceMonitor:
https:
false
prometheus:
additionalServiceMonitors:
- name: my-monitor
selector:
matchLabels:
app.kubernetes.io/instance : myvalue
namespaceSelector:
matchNames:
- mynamespace
endpoints:
- port: metrics
interval: 10s
我已经通过 helm 3 安装了 prometheus-operator:
helm install prom stable/prometheus-operator --namespace monitor
但我还想为标准安装中的“默认”服务发现设置命名空间。
当我 query the prometheus config 时,我看到了这个:
kubernetes_sd_configs:
- role: endpoints
namespaces:
names:
- default
我已经查看了 prometheus-operator 的文档,但找不到有关如何更改默认命名空间的选项。
有一个参数serviceMonitorNamespaceSelector
,但这似乎是在命名空间中搜索 serviceMonitor 本身。
应在所需的命名空间中创建一个 ServiceMonitor 对象,并使用适当的标签供 Prometheus Operator 处理它。
参考https://coreos.com/operators/prometheus/docs/latest/api.html#servicemonitorspec。
感谢@naga 的提示,我找到了解决方案:
使用 helm 安装 prometheus operator:
helm install prom stable/prometheus-operator --namespace monitor -f values.yaml
values.yaml配置文件:
kubelet:
serviceMonitor:
https:
false
prometheus:
additionalServiceMonitors:
- name: my-monitor
selector:
matchLabels:
app.kubernetes.io/instance : myvalue
namespaceSelector:
matchNames:
- mynamespace
endpoints:
- port: metrics
interval: 10s