Как вы получаете метрики Прометея от postgresql? - PullRequest
0 голосов
/ 22 января 2020

Я установил prometheus в мой кластер KOPS Kubernetes v1.17 после kube-prometheus , обеспечив установку предварительных требований --authentication-token-webhook=true и --authorization-mode=Webhook и куба -prometheus / kube-prometheus-kops.libso nnet указана конфигурация.

Затем я установил Postgres, используя https://github.com/helm/charts/tree/master/stable/postgresql, используя предоставленные значения production.yaml со следующим набором:

metrics:
  enabled: true
  # resources: {}
  service:
    type: ClusterIP
    annotations:
      prometheus.io/scrape: "true"
      prometheus.io/port: "9187"
    loadBalancerIP:
  serviceMonitor:
    enabled: true
    namespace: monitoring
    interval: 30s
    scrapeTimeout: 10s

Обе службы работают и работают, но Прометей не обнаруживает никаких метрик из Postgres.
Журналы на metrics Контейнер на моих postgres модулях не содержит ошибок, и ни один из них не находится в пространстве имен monitoring.
Какие дополнительные шаги необходимы, чтобы экспортер метрик Postgres достиг Прометея?

1 Ответ

1 голос
/ 28 января 2020

Попробуйте обновить ClusterRole для Прометея. По умолчанию у него нет прав на получение списка модулей, служб и конечных точек из пространства имен, не требующего мониторинга.

В моей системе исходное значение ClusterRole было:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: prometheus-k8s
rules:
- apiGroups:
  - ""
  resources:
  - nodes/metrics
  verbs:
  - get
- nonResourceURLs:
  - /metrics
  verbs:
  - get

I ' мы изменили его на:

apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: prometheus-k8s
rules:
- apiGroups:
  - ""
  resources:
  - nodes/metrics
  - services
  - endpoints
  - pods
  verbs:
  - get
  - list
  - watch
- nonResourceURLs:
  - /metrics
  verbs:
  - get

После этих изменений для Прометея будут доступны Postgres метрики.

...