ServiceMonitor 定义了一组服务的监控。
ServiceMonitor 定义了一组服务的监控。
对象
spec
属性 | 类型 | 描述 |
---|---|---|
|
|
APIVersion 定义了对象的此表示的版本化模式。服务器应将识别的模式转换为最新的内部值,并可能拒绝无法识别的值。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources |
|
|
Kind 是一个字符串值,表示此对象表示的 REST 资源。服务器可以从客户端提交请求的端点推断出这一点。无法更新。使用驼峰式大小写。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds |
|
标准对象的元数据。更多信息:https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata |
|
|
|
目标发现的Prometheus所需的Service选择的规范。 |
目标发现的Prometheus所需的Service选择的规范。
对象
selector
属性 | 类型 | 描述 |
---|---|---|
|
|
它需要 Prometheus >= v2.37.0。 |
|
|
如果定义, 它需要 Prometheus >= v2.28.0。 |
|
|
此ServiceMonitor的一部分端点列表。 |
|
|
Endpoint 定义了由Prometheus抓取的提供Prometheus指标的服务端点。 |
|
|
例如,如果 如果此字段的值为空,或者给定Service不存在该标签,则指标的 |
|
|
每次抓取时,通过重新标记而丢弃的目标数量的限制将保存在内存中。0 表示无限制。 它需要 Prometheus >= v2.47.0。 |
|
|
每次抓取时,将为样本接受的标签数量的限制。 它需要 Prometheus >= v2.27.0。 |
|
|
每次抓取时,将为样本接受的标签名称长度的限制。 它需要 Prometheus >= v2.27.0。 |
|
|
每次抓取时,将为样本接受的标签值长度的限制。 它需要 Prometheus >= v2.27.0。 |
|
|
选择器,用于选择从中发现Kubernetes |
|
|
|
|
|
|
|
|
要应用的抓取类。 |
|
|
如果未设置,Prometheus使用其默认值。 它需要 Prometheus >= v2.49.0。 |
|
|
标签选择器,用于选择Kubernetes |
|
|
|
|
|
|
attachMetadata
定义了添加到已发现目标的额外元数据。
它需要 Prometheus >= v2.37.0。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
设置为 true 时,Prometheus 必须对 |
Endpoint 定义了由Prometheus抓取的提供Prometheus指标的服务端点。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
不能与 |
|
|
不能与 |
|
|
读取用于抓取目标的 bearer 令牌的文件。 已弃用:请改用 |
|
|
已弃用:请改用 |
|
|
|
|
|
设置为 true 时,在目标发现期间,将丢弃未运行的 Pod(例如,处于 Failed 或 Succeeded 状态的 Pod)。 如果未设置,则启用过滤。 更多信息:https://kubernetes.ac.cn/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase |
|
|
|
|
|
设置为 true 时, |
|
|
|
|
|
Prometheus 从目标抓取指标的间隔。 如果为空,Prometheus 将使用全局抓取间隔。 |
|
|
|
|
|
RelabelConfig 允许动态重写目标、警报、已抓取样本和远程写入样本的标签集。 更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#relabel_config |
|
|
需要 Prometheus >= 2.27.0。 不能与 |
|
|
params 定义可选的 HTTP URL 参数。 |
|
|
|
|
|
从中抓取指标的 HTTP 路径。 如果为空,Prometheus 将使用默认值(例如 |
|
|
此端点引用的服务端口的名称。 它优先于 |
|
|
|
|
|
操作员会自动为一些标准的 Kubernetes 字段添加重命名规则。 原始抓取作业的名称可通过 更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#relabel_config |
|
|
RelabelConfig 允许动态重写目标、警报、已抓取样本和远程写入样本的标签集。 更多信息:https://prometheus.ac.cn/docs/prometheus/latest/configuration/configuration/#relabel_config |
|
|
用于抓取的 HTTP 方案。 除非您通过重命名重写了 如果为空,Prometheus 将使用默认值 |
|
|
Prometheus 将抓取视为失败的超时时间。 如果为空,Prometheus 将使用全局抓取超时,除非它小于目标的抓取间隔值,在这种情况下使用后者。 |
|
|
服务背后 |
|
|
在抓取目标时要使用的 TLS 配置。 |
|
|
需要 Prometheus >= v2.48.0。 |
authorization
配置在抓取目标时要使用的授权头凭据。
不能与 basicAuth
或 oauth2
同时设置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
选择命名空间中包含身份验证凭据的 Secret 的密钥。 |
|
|
定义身份验证类型。该值不区分大小写。 "Basic" 不是受支持的值。 默认值:“Bearer” |
选择命名空间中包含身份验证凭据的 Secret 的密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的名称。必须是有效的密钥。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥 |
basicAuth
配置在抓取目标时要使用的基本身份验证凭据。
不能与 authorization
或 oauth2
同时设置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
password
指定包含身份验证密码的 Secret 的密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的名称。必须是有效的密钥。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥 |
username
指定包含身份验证用户名的一个 Secret 的密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的名称。必须是有效的密钥。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥 |
bearerTokenSecret
指定一个 Secret 的密钥,该 Secret 包含用于抓取目标的 bearer 令牌。该 Secret 需要与 ServiceMonitor 对象位于相同的命名空间中,并且可以被 Prometheus Operator 读取。
已弃用:请改用 authorization
。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的名称。必须是有效的密钥。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥 |
RelabelConfig 允许动态重写目标、警报、已抓取样本和远程写入样本的标签集。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
基于正则表达式匹配执行的操作。
默认值:“Replace” |
|
|
对源标签值的哈希进行取模。 仅当操作为 |
|
|
与提取的值匹配的正则表达式。 |
|
|
如果正则表达式匹配,则执行 Replace 操作的替换值。 正则表达式捕获组可用。 |
|
|
分隔符是连接的 SourceLabels 之间的字符串。 |
|
|
源标签从现有标签中选择值。它们的内容使用配置的分隔符连接,并与配置的正则表达式匹配。 |
|
|
替换操作中写入结果字符串的标签。 对于 正则表达式捕获组可用。 |
oauth2
配置在抓取目标时要使用的 OAuth2 设置。
需要 Prometheus >= 2.27.0。
不能与 authorization
或 basicAuth
同时设置。
对象
客户端ID
客户端密钥
令牌URL
属性 | 类型 | 描述 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
clientId
指定包含 OAuth2 客户端 ID 的 Secret 或 ConfigMap 的密钥。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键。 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的名称。必须是有效的密钥。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥 |
clientSecret
指定包含 OAuth2 客户端密钥的 Secret 的密钥。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的名称。必须是有效的密钥。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥 |
relabelings
配置应用于目标的元数据标签的重命名规则。
操作员会自动为一些标准的 Kubernetes 字段添加重命名规则。
原始抓取作业的名称可通过 __tmp_prometheus_job_name
标签获得。
数组
RelabelConfig 允许动态重写目标、警报、已抓取样本和远程写入样本的标签集。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
基于正则表达式匹配执行的操作。
默认值:“Replace” |
|
|
对源标签值的哈希进行取模。 仅当操作为 |
|
|
与提取的值匹配的正则表达式。 |
|
|
如果正则表达式匹配,则执行 Replace 操作的替换值。 正则表达式捕获组可用。 |
|
|
分隔符是连接的 SourceLabels 之间的字符串。 |
|
|
源标签从现有标签中选择值。它们的内容使用配置的分隔符连接,并与配置的正则表达式匹配。 |
|
|
替换操作中写入结果字符串的标签。 对于 正则表达式捕获组可用。 |
在抓取目标时要使用的 TLS 配置。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
验证服务器证书时使用的证书颁发机构。 |
|
|
Prometheus 容器中用于目标的 CA 证书路径。 |
|
|
进行客户端身份验证时要提供的客户端证书。 |
|
|
Prometheus 容器中用于目标的客户端证书文件路径。 |
|
|
禁用目标证书验证。 |
|
|
Prometheus 容器中用于目标的客户端密钥文件路径。 |
|
|
包含用于目标的客户端密钥文件的 Secret。 |
|
|
用于验证目标的主机名。 |
验证服务器证书时使用的证书颁发机构。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键。 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的名称。必须是有效的密钥。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥 |
进行客户端身份验证时要提供的客户端证书。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
包含用于目标的数据的 ConfigMap。 |
|
|
包含用于目标的数据的 Secret。 |
包含用于目标的数据的 ConfigMap。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要选择的键。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 ConfigMap 或其键。 |
包含用于目标的数据的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的名称。必须是有效的密钥。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥 |
包含用于目标的客户端密钥文件的 Secret。
对象
key
属性 | 类型 | 描述 |
---|---|---|
|
|
要从中选择的密钥的名称。必须是有效的密钥。 |
|
|
引用的名称。此字段实际上是必需的,但由于向后兼容性,允许为空。此类型的实例在此处为空值几乎肯定是错误的。待办事项:添加其他有用的字段。apiVersion、kind、uid?更多信息:https://kubernetes.ac.cn/docs/concepts/overview/working-with-objects/names/#names 待办事项:当 controller-gen 不需要时删除 |
|
|
指定是否必须定义 Secret 或其密钥 |
选择器,用于选择从中发现Kubernetes Endpoints
对象的命名空间。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
布尔值,描述是否选择所有命名空间,而不是限制它们的列表。 |
|
|
要从中选择的命名空间名称列表。 |
标签选择器,用于选择Kubernetes Endpoints
对象。
对象
属性 | 类型 | 描述 |
---|---|---|
|
|
matchExpressions 是标签选择器要求的列表。这些要求是 AND 关系。 |
|
|
标签选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。 |
|
|
matchLabels 是 {key,value} 对的映射。matchLabels 映射中的单个 {key,value} 等效于 matchExpressions 的一个元素,其 key 字段为“key”,运算符为“In”,而 values 数组仅包含“value”。这些要求是 AND 关系。 |
标签选择器要求是一个选择器,它包含值、键和一个关联键和值的运算符。
对象
key
运算符
属性 | 类型 | 描述 |
---|---|---|
|
|
key 是选择器应用到的标签键。 |
|
|
operator 表示键与一组值的关系。有效的运算符是 In、NotIn、Exists 和 DoesNotExist。 |
|
|
values 是字符串值的数组。如果运算符是 In 或 NotIn,则 values 数组必须是非空的。如果运算符是 Exists 或 DoesNotExist,则 values 数组必须为空。此数组在策略性合并补丁期间会被替换。 |
提供以下 API 端点:
/apis/monitoring.coreos.com/v1/servicemonitors
GET
:列出 ServiceMonitor 类型的对象
/apis/monitoring.coreos.com/v1/namespaces/{namespace}/servicemonitors
DELETE
:删除 ServiceMonitor 集合
GET
:列出 ServiceMonitor 类型的对象
POST
:创建 ServiceMonitor
/apis/monitoring.coreos.com/v1/namespaces/{namespace}/servicemonitors/{name}
DELETE
:删除 ServiceMonitor
GET
:读取指定的 ServiceMonitor
PATCH
:部分更新指定的 ServiceMonitor
PUT
:替换指定的 ServiceMonitor
GET
列出 ServiceMonitor 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
DELETE
删除 ServiceMonitor 集合
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
GET
列出 ServiceMonitor 类型的对象
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
POST
创建 ServiceMonitor
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
参数 | 类型 | 描述 |
---|---|---|
|
|
ServiceMonitor 的名称 |
DELETE
删除 ServiceMonitor
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
202 - 已接受 |
|
401 - 未授权 |
空 |
GET
读取指定的 ServiceMonitor
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PATCH
部分更新指定的 ServiceMonitor
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
401 - 未授权 |
空 |
PUT
替换指定的 ServiceMonitor
参数 | 类型 | 描述 |
---|---|---|
|
|
如果存在,则表示不应持久化修改。无效或无法识别的 dryRun 指令将导致错误响应,并且不会进一步处理请求。有效值为:- All:将处理所有 dry run 阶段 |
|
|
fieldValidation 指示服务器如何处理请求 (POST/PUT/PATCH) 中包含未知或重复字段的对象。有效值为:- Ignore:这将忽略从对象中静默删除的任何未知字段,并将忽略解码器遇到的最后一个重复字段以外的所有重复字段。这是 v1.23 之前的默认行为。- Warn:这将通过标准警告响应标头为每个从对象中删除的未知字段和遇到的每个重复字段发送警告。如果没有任何其他错误,请求仍然会成功,并且只会保留任何重复字段中的最后一个。这是 v1.23+ 的默认值 - Strict:如果任何未知字段将从对象中删除,或者存在任何重复字段,则这将使请求失败并返回 BadRequest 错误。服务器返回的错误将包含遇到的所有未知和重复字段。 |
参数 | 类型 | 描述 |
---|---|---|
|
HTTP 代码 | 响应体 |
---|---|
200 - OK |
|
201 - 已创建 |
|
401 - 未授权 |
空 |