使用 Prometheus Operator 监控自定义 kubernetes pod 指标
Posted
技术标签:
【中文标题】使用 Prometheus Operator 监控自定义 kubernetes pod 指标【英文标题】:Monitor custom kubernetes pod metrics using Prometheus Operator 【发布时间】:2021-02-12 01:28:28 【问题描述】:我有一个现成的 Kubernetes 集群,配置了 grafana + prometheus(operator) 监控。 我使用我的应用向 pod 添加了以下标签:
prometheus.io/scrape: "true"
prometheus.io/path: "/my/app/metrics"
prometheus.io/port: "80"
但指标不会进入 Prometheus。但是,prometheus 拥有所有默认的 Kubernetes 指标。
有什么问题?
【问题讨论】:
【参考方案1】:你应该创建ServiceMonitor
or PodMonitor
objects。
ServiceMonitor
描述了 Prometheus 要监控的目标集。 Operator 根据定义自动生成 Prometheus 抓取配置,target 将拥有服务背后所有 Pod 的 IP。
例子:
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: example-app
labels:
team: frontend
spec:
selector:
matchLabels:
app: example-app
endpoints:
- port: web
PodMonitor
,它以声明方式指定应如何监视 pod 组。 Operator 根据定义自动生成 Prometheus 抓取配置。
例子:
apiVersion: monitoring.coreos.com/v1
kind: PodMonitor
metadata:
name: example-app
labels:
team: frontend
spec:
selector:
matchLabels:
app: example-app
podMetricsEndpoints:
- port: web
【讨论】:
以上是关于使用 Prometheus Operator 监控自定义 kubernetes pod 指标的主要内容,如果未能解决你的问题,请参考以下文章
prometheus-operator结合grafana展示k8s监控
prometheus operator - 启用对所有命名空间中所有内容的监控
prometheus-operator监控Kubernetes
prometheus-operator监控traefik-Ingress组件状态
Kubernetes集群监控解决方案kube-prometheus-stack(prometheus-operator)helm安装
Kubernetes集群监控解决方案kube-prometheus-stack(prometheus-operator)helm安装