你如何从 postgresql 获取普罗米修斯指标?
How do you get prometheus metrics from postgresql?
我已按照指定的 kube-prometheus, ensuring the --authentication-token-webhook=true
and --authorization-mode=Webhook
prerequisets are set and the kube-prometheus/kube-prometheus-kops.libsonnet 配置将 prometheus 安装到我的 Kubernetes v1.17 KOPS 集群中。
然后我使用 https://github.com/helm/charts/tree/master/stable/postgresql using the supplied values-production.yaml 安装了 Postgres,设置如下:
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
两种服务都已启动并正常工作,但 prometheus 未发现来自 Postgres 的任何指标。
我的 postgres pods 上的 metrics
容器上的日志没有错误,monitoring
命名空间中的任何 pods 也没有错误。
要让 Postgres 指标导出器访问 Prometheus 还需要哪些额外步骤?
尝试为 Prometheus 更新 ClusterRole。默认情况下,它无权从非监控命名空间检索 pods、服务和端点的列表。
在我的系统中,原来的 ClusterRole 是:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: prometheus-k8s
rules:
- apiGroups:
- ""
resources:
- nodes/metrics
verbs:
- get
- nonResourceURLs:
- /metrics
verbs:
- get
我已将其更改为:
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 指标将可用于 Prometheus。
我已按照指定的 kube-prometheus, ensuring the --authentication-token-webhook=true
and --authorization-mode=Webhook
prerequisets are set and the kube-prometheus/kube-prometheus-kops.libsonnet 配置将 prometheus 安装到我的 Kubernetes v1.17 KOPS 集群中。
然后我使用 https://github.com/helm/charts/tree/master/stable/postgresql using the supplied values-production.yaml 安装了 Postgres,设置如下:
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
两种服务都已启动并正常工作,但 prometheus 未发现来自 Postgres 的任何指标。
我的 postgres pods 上的 metrics
容器上的日志没有错误,monitoring
命名空间中的任何 pods 也没有错误。
要让 Postgres 指标导出器访问 Prometheus 还需要哪些额外步骤?
尝试为 Prometheus 更新 ClusterRole。默认情况下,它无权从非监控命名空间检索 pods、服务和端点的列表。
在我的系统中,原来的 ClusterRole 是:
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: prometheus-k8s
rules:
- apiGroups:
- ""
resources:
- nodes/metrics
verbs:
- get
- nonResourceURLs:
- /metrics
verbs:
- get
我已将其更改为:
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 指标将可用于 Prometheus。