Я использую Prometheus, используя стабильную / операторскую карту. Он установлен в monitoring
пространстве имен. В пространстве имен default
у меня есть модуль с именем my-pod
с тремя репликами. Этот модуль выводит метрики на порт 9009 (я проверил это, выполнив k port-forward и проверив, отображаются ли метрики в localhost: 9009). Я бы хотел, чтобы прометей-оператор очистил эти метрики. Поэтому я добавил конфигурацию ниже к 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 таким образом, чтобы он собирал метрики из модулей, работающих в пространстве имен по умолчанию, и выплевывал метрики на порт 9009?