第 6 章 PodMonitor [monitoring.coreos.com/v1]


描述
PodMonitor 为一组 pod 定义监控。
类型
object
必填
  • spec

6.1. 规格

Expand
属性类型描述

apiVersion

string

APIVersion 定义对象的这个表示法的版本化的 schema。服务器应该将识别的模式转换为最新的内部值,并可拒绝未识别的值。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

kind

string

kind 是一个字符串值,代表此对象所代表的 REST 资源。服务器可以从客户端向其提交请求的端点推断。无法更新。采用驼峰拼写法 (CamelCase)。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

metadata

ObjectMeta

标准对象元数据。更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata

spec

对象

Prometheus 的目标发现所需的 Pod 选择规格。

6.1.1. .spec

描述
Prometheus 的目标发现所需的 Pod 选择规格。
类型
object
必填
  • podMetricsEndpoints
  • selector
Expand
属性类型描述

attachMetadata

object

将节点元数据附加到发现的目标。需要 Prometheus v2.35.0 及更高版本。

jobLabel

字符串

用于从中检索作业名称的标签。

labelLimit

整数

对示例接受的标签数的 per-scrape 限制。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

labelNameLengthLimit

整数

对示例接受的标签名称长度的 per-scrape 限制。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

labelValueLengthLimit

整数

对示例接受的标签值长度的 per-scrape 限制。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

namespaceSelector

对象

从中发现 Endpoints 对象的选择器,以选择要从中发现 Endpoints 对象的选择器。

podMetricsEndpoints

array

作为此 PodMonitor 的一部分允许的端点列表。

podMetricsEndpoints[]

对象

PodMetricsEndpoint 定义 Kubernetes Pod 提供 Prometheus 指标的可提取端点。

podTargetLabels

数组(字符串)

PodTargetLabels 将 Kubernetes Pod 上的标签传送到目标。

sampleLimit

整数

SampleLimit 对将接受的提取示例数量定义 per-scrape 限制。

selector

对象

选择 Pod 对象的选择器。

targetLimit

整数

TargetLimit 定义了接受的提取目标数量的限制。

6.1.2. .spec.attachMetadata

描述
将节点元数据附加到发现的目标。需要 Prometheus v2.35.0 及更高版本。
类型
object
Expand
属性类型描述

node

布尔值

当设置为 true 时,Prometheus 必须有权限才能获取节点。

6.1.3. .spec.namespaceSelector

描述
从中发现 Endpoints 对象的选择器,以选择要从中发现 Endpoints 对象的选择器。
类型
object
Expand
属性类型描述

any

布尔值

布尔值描述是否都选择了所有命名空间,而不是列表限制它们。

matchNames

数组(字符串)

要从中选择的命名空间名称列表。

6.1.4. .spec.podMetricsEndpoints

描述
作为此 PodMonitor 的一部分允许的端点列表。
类型
array

6.1.5. .spec.podMetricsEndpoints[]

描述
PodMetricsEndpoint 定义 Kubernetes Pod 提供 Prometheus 指标的可提取端点。
类型
object
Expand
属性类型描述

授权

对象

此端点的授权部分

basicAuth

对象

basicAuth 允许端点通过基本身份验证进行身份验证。更多信息: https://prometheus.io/docs/operating/configuration/#endpoint

bearerTokenSecret

对象

要挂载以读取用于提取目标的 bearer 令牌的机密。secret 需要与 pod 监视器位于同一个命名空间中,并可以被 Prometheus Operator 访问。

enableHttp2

布尔值

是否启用 HTTP2。

filterRunning

布尔值

丢弃没有运行的 pod。(failed, Succeeded)。默认启用此选项。更多信息: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase

followRedirects

布尔值

FollowRedirects 配置提取请求是否遵循 HTTP 3xx 重定向。

honorLabels

布尔值

HonorLabels 选择指标的标签与目标标签冲突。

honorTimestamps

布尔值

honorTimestamps 控制 Prometheus 是否遵循提取数据中存在的时间戳。

interval

string

如果使用了 Prometheus 的全局提取间隔,则应提取指标的时间间隔。

metricRelabelings

array

MetricRelabelConfigs 在 ingestion 前应用到示例。

metricRelabelings[]

object

RelabelConfig 允许为目标、警报、提取示例和远程写入示例动态重写标签。更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config

oauth2

对象

URL 的 OAuth2。仅在 Prometheus 版本 2.27.0 及更新版本中有效。

params

对象

可选的 HTTP URL 参数

params{}

数组(字符串)

 

path

字符串

提取指标的 HTTP 路径。如果为空,Prometheus 将使用默认值(如 /metrics)。

port

字符串

此端点引用的 pod 端口的名称。与 targetPort 相互排斥。

proxyUrl

字符串

proxyUrl eg http://proxyserver:2195 Directs scrapes to proxy via this endpoint.

重新标记

array

在提取前,重新labelConfigs 应用到示例。Prometheus Operator 会自动为几个标准 Kubernetes 字段添加重新标记。原始提取作业的名称可以通过 __tmp_prometheus_job_name 标签获得。更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config

relabelings[]

object

RelabelConfig 允许为目标、警报、提取示例和远程写入示例动态重写标签。更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config

scheme

字符串

用于提取的 HTTP 方案。HTTPhttps 是预期的值,除非您通过重新标记重写 scheme 标签。如果为空,Prometheus 将使用默认值 http

scrapeTimeout

string

如果没有指定提取结束超时,会使用 Prometheus 全局提取间隔。

targetPort

integer-or-string

deprecated: 使用 'port' 替代。

tlsConfig

对象

提取端点时使用的 TLS 配置。

6.1.6. .spec.podMetricsEndpoints[].authorization

描述
此端点的授权部分
类型
object
Expand
属性类型描述

credentials

object

选择命名空间中包含用于身份验证的凭证的 Secret 的键。

type

string

定义身份验证类型。该值不区分大小写。"basic"不是受支持的值。默认:"Bearer"

描述
选择命名空间中包含用于身份验证的凭证的 Secret 的键。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.8. .spec.podMetricsEndpoints[].basicAuth

描述
basicAuth 允许端点通过基本身份验证进行身份验证。更多信息: https://prometheus.io/docs/operating/configuration/#endpoint
类型
object
Expand
属性类型描述

password

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的密码。

username

对象

服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。

6.1.9. .spec.podMetricsEndpoints[].basicAuth.password

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的密码。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.10. .spec.podMetricsEndpoints[].basicAuth.username

描述
服务监控器命名空间中的 secret,其中包含用于身份验证的用户名。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.11. .spec.podMetricsEndpoints[].bearerTokenSecret

描述
要挂载以读取用于提取目标的 bearer 令牌的机密。secret 需要与 pod 监视器位于同一个命名空间中,并可以被 Prometheus Operator 访问。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.12. .spec.podMetricsEndpoints[].metricRelabelings

描述
MetricRelabelConfigs 在 ingestion 前应用到示例。
类型
array

6.1.13. .spec.podMetricsEndpoints[].metricRelabelings[]

描述
RelabelConfig 允许为目标、警报、提取示例和远程写入示例动态重写标签。更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
类型
object
Expand
属性类型描述

action

string

根据正则表达式匹配要执行的操作。大写 和低 大小 操作需要 Prometheus >= v2.36.0。DropEqualKeepEqual 操作需要 Prometheus >= v2.41.0。默认:"Replace"

modulus

整数

modulus 采用 source 标签值的哈希。仅在操作为 HashMod 时适用。

regex

字符串

匹配提取值的正则表达式。

替换

string

如果正则表达式匹配,则执行 replace 操作的替换值。正则表达式捕获组可用。

分隔符

string

分隔符是串联的 SourceLabels 之间的字符串。

sourceLabels

数组(字符串)

source 标签从现有标签中选择值。其内容使用配置的 Separator 连接,并与配置的正则表达式匹配。

targetLabel

string

生成的字符串写入替换标签。对于 替换,HashMod,Lowercase,Uppercase,KeepEqualDropEqual 操作是必须的。正则表达式捕获组可用。

6.1.14. .spec.podMetricsEndpoints[].oauth2

描述
URL 的 OAuth2。仅在 Prometheus 版本 2.27.0 及更新版本中有效。
类型
object
必填
  • clientId
  • clientSecret
  • tokenUrl
Expand
属性类型描述

clientId

对象

包含 OAuth2 客户端 ID 的 secret 或 configmap

clientSecret

对象

包含 OAuth2 客户端 secret 的 secret

endpointParams

对象(字符串)

附加到令牌 URL 的参数

scopes

数组(字符串)

用于令牌请求的 OAuth2 范围

tokenUrl

字符串

从中获取令牌的 URL

6.1.15. .spec.podMetricsEndpoints[].oauth2.clientId

描述
包含 OAuth2 客户端 ID 的 secret 或 configmap
类型
object
Expand
属性类型描述

configMap

对象

包含用于目标的数据的 ConfigMap。

secret

对象

包含用于目标的数据的 secret。

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否必须定义 ConfigMap 还是其键

6.1.17. .spec.podMetricsEndpoints[].oauth2.clientId.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.18. .spec.podMetricsEndpoints[].oauth2.clientSecret

描述
包含 OAuth2 客户端 secret 的 secret
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.19. .spec.podMetricsEndpoints[].params

描述
可选的 HTTP URL 参数
类型
对象

6.1.20. .spec.podMetricsEndpoints[].relabelings

描述
在提取前,重新labelConfigs 应用到示例。Prometheus Operator 会自动为几个标准 Kubernetes 字段添加重新标记。原始提取作业的名称可以通过 __tmp_prometheus_job_name 标签获得。更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
类型
array

6.1.21. .spec.podMetricsEndpoints[].relabelings[]

描述
RelabelConfig 允许为目标、警报、提取示例和远程写入示例动态重写标签。更多信息: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
类型
object
Expand
属性类型描述

action

string

根据正则表达式匹配要执行的操作。大写 和低 大小 操作需要 Prometheus >= v2.36.0。DropEqualKeepEqual 操作需要 Prometheus >= v2.41.0。默认:"Replace"

modulus

整数

modulus 采用 source 标签值的哈希。仅在操作为 HashMod 时适用。

regex

字符串

匹配提取值的正则表达式。

替换

string

如果正则表达式匹配,则执行 replace 操作的替换值。正则表达式捕获组可用。

分隔符

string

分隔符是串联的 SourceLabels 之间的字符串。

sourceLabels

数组(字符串)

source 标签从现有标签中选择值。其内容使用配置的 Separator 连接,并与配置的正则表达式匹配。

targetLabel

string

生成的字符串写入替换标签。对于 替换,HashMod,Lowercase,Uppercase,KeepEqualDropEqual 操作是必须的。正则表达式捕获组可用。

6.1.22. .spec.podMetricsEndpoints[].tlsConfig

描述
提取端点时使用的 TLS 配置。
类型
object
Expand
属性类型描述

ca

object

验证服务器证书时使用的证书颁发机构。

cert

object

执行 client-authentication 时要出现的客户端证书。

insecureSkipVerify

布尔值

禁用目标证书验证。

keySecret

对象

包含目标客户端密钥文件的 secret。

serverName

字符串

用于验证目标的主机名。

6.1.23. .spec.podMetricsEndpoints[].tlsConfig.ca

描述
验证服务器证书时使用的证书颁发机构。
类型
object
Expand
属性类型描述

configMap

对象

包含用于目标的数据的 ConfigMap。

secret

对象

包含用于目标的数据的 secret。

6.1.24. .spec.podMetricsEndpoints[].tlsConfig.ca.configMap

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否必须定义 ConfigMap 还是其键

6.1.25. .spec.podMetricsEndpoints[].tlsConfig.ca.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.26. .spec.podMetricsEndpoints[].tlsConfig.cert

描述
执行 client-authentication 时要出现的客户端证书。
类型
object
Expand
属性类型描述

configMap

对象

包含用于目标的数据的 ConfigMap。

secret

对象

包含用于目标的数据的 secret。

描述
包含用于目标的数据的 ConfigMap。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要选择的密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否必须定义 ConfigMap 还是其键

6.1.28. .spec.podMetricsEndpoints[].tlsConfig.cert.secret

描述
包含用于目标的数据的 secret。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.29. .spec.podMetricsEndpoints[].tlsConfig.keySecret

描述
包含目标客户端密钥文件的 secret。
类型
object
必填
  • key
Expand
属性类型描述

key

字符串

要从中选择的 secret 的密钥。必须是一个有效的 secret 密钥。

name

字符串

引用的名称。更多信息: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names TODO: 添加其他有用的字段。apiVersion、kind、uid?

optional

布尔值

指定是否需要定义 Secret 还是其密钥

6.1.30. .spec.selector

描述
选择 Pod 对象的选择器。
类型
object
Expand
属性类型描述

matchExpressions

array

matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。

matchExpressions[]

对象

标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。

matchLabels

对象(字符串)

matchLabels 是 {key,value} 对的映射。MatchLabels 映射中的单个 {key,value} 等同于 matchExpressions 的一个元素,其 key 字段是 "key",运算符是 "In",值数组仅包含 "value"。要求的逻辑关系是 AND。

6.1.31. .spec.selector.matchExpressions

描述
matchExpressions 是标签选择器要求列表。要求的逻辑关系是 AND。
类型
array

6.1.32. .spec.selector.matchExpressions[]

描述
标签选择器要求是一个选择器,其中包含与键和值相关的值、键和值。
类型
object
必填
  • key
  • operator
Expand
属性类型描述

key

字符串

key 是选择器应用到的标签键。

operator

字符串

运算符代表一个键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。

数组(字符串)

值是字符串值的数组。如果运算符是 In 或 NotIn,则值数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则值数组必须为空。这个数组会在策略性合并补丁中被替换。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat