我正在使用 stable/prometheus-operator 图表部署 prometheus。它安装在monitoring
命名空间中。在default
命名空间中,我运行了一个以my-pod
三个副本命名的 pod。这个 pod 在端口 9009 上吐出指标(我已经通过执行 k 端口转发验证了这一点,并验证了 localhost:9009 中显示的指标)。我希望 prometheus-operator 抓取这些指标。所以我将下面的配置添加到values.yaml
prometheus:
prometheusSpec:
additionalScrapeConfigs:
- job_name: 'my-pod-job'
scrape_interval: 15s
kubernetes_sd_configs:
- role: pod
namespaces:
names:
- default
relabel_configs:
- source_labels: [__meta_kubernetes_pod_name]
action: keep
regex: 'my-pod'
然后我使用以下命令安装 prometheus:
helm upgrade --install prometheus stable/prometheus-operator \
--set kubeEtcd.enabled=false \
--set kubeControllerManager.enabled=false \
--set kubeScheduler.enabled=false \
--set prometheusOperator.createCustomResource=true \
--set grafana.smtp.existingSecret=smtp-secret \
--set kubelet.serviceMonitor.https=true \
--set kubelet.enabled=true \
-f values.yaml --namespace monitoring
然而,当我去/service-discover
我看到
my-pod-job (0/40 active targets)
问题
如何配置 prometheus,使其从在默认命名空间中运行的 pod 中抓取指标并在端口 9009 上吐出指标?