Я использую диаграмму оператора-прометея руля: https://github.com/helm/charts/blob/master/stable/prometheus-operator/values.yaml, и я ожидал, что она получит мои пользовательские метрики из моего golang API, как я делал ранее, путем "жесткого" кодирования имени служба и порт в файле values.yml:
scrape_configs:
- job_name: 'custom-api'
static_configs:
- targets: ['custom-api-service.backend.svc.cluster.local:8000']
Однако, поскольку у меня есть больше микросервисов, я знаю, что это также можно сделать динамически, используя теги _meta
. Пример: __meta_kubernetes_service_name
Однако я не понял, что мне следует изменить из файла values.yaml, чтобы он работал.
Графана получает данные об использовании моего процессора и памяти от custom-api
, но custom-api
не отображается на вкладке целей на панели инструментов Прометея, что странно ...
Это мои услуги:
apiVersion: v1
kind: Service
metadata:
name: custom-api-service
namespace: backend
labels:
service: custom-api-service
spec:
type: NodePort
ports:
- port: 8000
targetPort: 8000
nodePort: 30080
protocol: TCP
name: custom-api
selector:
component: goapi
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: servicemonitor
namespace: backend
labels:
service: servicemonitor
spec:
selector:
matchLabels:
service: custom-api-service
endpoints:
- port: custom-api