PodMonitor
Scope: Namespaced
Version: v1
PodMonitor defines monitoring for a set of pods.
- apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Required value
Specification of desired Pod selection for target discovery by Prometheus.
- spec.attachMetadata
Attaches node metadata to discovered targets. Requires Prometheus v2.35.0 and above.
- spec.attachMetadata.node
When set to true, Prometheus must have permissions to get Nodes.
- spec.jobLabel
The label to use to retrieve the job name from.
- spec.keepDroppedTargets
Per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0.
- spec.labelLimit
Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.labelNameLengthLimit
Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.labelValueLengthLimit
Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.namespaceSelector
Selector to select which namespaces the Endpoints objects are discovered from.
- spec.namespaceSelector.any
Boolean describing whether all namespaces are selected in contrast to a list restricting them.
- spec.namespaceSelector.matchNames
List of namespace names to select from.
- spec.podMetricsEndpoints
Required value
A list of endpoints allowed as part of this PodMonitor.
PodMetricsEndpoint defines a scrapeable endpoint of a Kubernetes Pod serving Prometheus metrics.
- object
Authorization section for this endpoint
- object
Selects a key of a Secret in the namespace that contains the credentials for authentication.
- string
Required value
The key of the secret to select from. Must be a valid secret key.
- string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
Specify whether the Secret or its key must be defined
- string
Defines the authentication type. The value is case-insensitive. “Basic” is not a supported value. Default: “Bearer”
- spec.podMetricsEndpoints.basicAuth
BasicAuth allow an endpoint to authenticate over basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint
- spec.podMetricsEndpoints.basicAuth.password
The secret in the service monitor namespace that contains the password for authentication.
- spec.podMetricsEndpoints.basicAuth.password.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.podMetricsEndpoints.basicAuth.password.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.basicAuth.password.optional
Specify whether the Secret or its key must be defined
- spec.podMetricsEndpoints.basicAuth.username
The secret in the service monitor namespace that contains the username for authentication.
- spec.podMetricsEndpoints.basicAuth.username.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.podMetricsEndpoints.basicAuth.username.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.basicAuth.username.optional
Specify whether the Secret or its key must be defined
- spec.podMetricsEndpoints.bearerTokenSecret
Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the pod monitor and accessible by the Prometheus Operator.
- spec.podMetricsEndpoints.bearerTokenSecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.podMetricsEndpoints.bearerTokenSecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.bearerTokenSecret.optional
Specify whether the Secret or its key must be defined
- spec.podMetricsEndpoints.enableHttp2
Whether to enable HTTP2.
- spec.podMetricsEndpoints.filterRunning
Drop pods that are not running. (Failed, Succeeded). Enabled by default. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
- spec.podMetricsEndpoints.followRedirects
FollowRedirects configures whether scrape requests follow HTTP 3xx redirects.
- spec.podMetricsEndpoints.honorLabels
HonorLabels chooses the metric’s labels on collisions with target labels.
- spec.podMetricsEndpoints.honorTimestamps
HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
- spec.podMetricsEndpoints.interval
Interval at which metrics should be scraped If not specified Prometheus’ global scrape interval is used.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.podMetricsEndpoints.metricRelabelings
MetricRelabelConfigs to apply to samples before ingestion.
RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.podMetricsEndpoints.metricRelabelings.action
Action to perform based on the regex matching.
Uppercase
andLowercase
actions require Prometheus >= v2.36.0.DropEqual
andKeepEqual
actions require Prometheus >= v2.41.0. Default: “Replace”Default:
"replace"
Allowed values:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.podMetricsEndpoints.metricRelabelings.modulus
Modulus to take of the hash of the source label values. Only applicable when the action is
HashMod
. - spec.podMetricsEndpoints.metricRelabelings.regex
Regular expression against which the extracted value is matched.
- spec.podMetricsEndpoints.metricRelabelings.replacement
Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available.
- spec.podMetricsEndpoints.metricRelabelings.separator
Separator is the string between concatenated SourceLabels.
- spec.podMetricsEndpoints.metricRelabelings.sourceLabels
The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
- Element of the array
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
Pattern:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.podMetricsEndpoints.metricRelabelings.targetLabel
Label to which the resulting string is written in a replacement. It is mandatory for
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
andDropEqual
actions. Regex capture groups are available.
- spec.podMetricsEndpoints.oauth2
OAuth2 for the URL. Only valid in Prometheus versions 2.27.0 and newer.
- spec.podMetricsEndpoints.oauth2.clientId
Required value
The secret or configmap containing the OAuth2 client id
- spec.podMetricsEndpoints.oauth2.clientId.configMap
ConfigMap containing data to use for the targets.
- spec.podMetricsEndpoints.oauth2.clientId.configMap.key
Required value
The key to select.
- spec.podMetricsEndpoints.oauth2.clientId.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.oauth2.clientId.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.podMetricsEndpoints.oauth2.clientId.secret
Secret containing data to use for the targets.
- spec.podMetricsEndpoints.oauth2.clientId.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.podMetricsEndpoints.oauth2.clientId.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.oauth2.clientId.secret.optional
Specify whether the Secret or its key must be defined
- spec.podMetricsEndpoints.oauth2.clientSecret
Required value
The secret containing the OAuth2 client secret
- spec.podMetricsEndpoints.oauth2.clientSecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.podMetricsEndpoints.oauth2.clientSecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.oauth2.clientSecret.optional
Specify whether the Secret or its key must be defined
- spec.podMetricsEndpoints.oauth2.endpointParams
Parameters to append to the token URL
- spec.podMetricsEndpoints.oauth2.scopes
OAuth2 scopes used for the token request
- spec.podMetricsEndpoints.oauth2.tokenUrl
Required value
The URL to fetch the token from
- spec.podMetricsEndpoints.params
Optional HTTP URL parameters
- spec.podMetricsEndpoints.path
HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g.
/metrics
). - spec.podMetricsEndpoints.port
Name of the pod port this endpoint refers to. Mutually exclusive with targetPort.
- spec.podMetricsEndpoints.proxyUrl
ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint.
- spec.podMetricsEndpoints.relabelings
RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields. The original scrape job’s name is available via the
__tmp_prometheus_job_name
label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_configRelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.podMetricsEndpoints.relabelings.action
Action to perform based on the regex matching.
Uppercase
andLowercase
actions require Prometheus >= v2.36.0.DropEqual
andKeepEqual
actions require Prometheus >= v2.41.0. Default: “Replace”Default:
"replace"
Allowed values:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.podMetricsEndpoints.relabelings.modulus
Modulus to take of the hash of the source label values. Only applicable when the action is
HashMod
. - spec.podMetricsEndpoints.relabelings.regex
Regular expression against which the extracted value is matched.
- spec.podMetricsEndpoints.relabelings.replacement
Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available.
- spec.podMetricsEndpoints.relabelings.separator
Separator is the string between concatenated SourceLabels.
- spec.podMetricsEndpoints.relabelings.sourceLabels
The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
- Element of the array
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
Pattern:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.podMetricsEndpoints.relabelings.targetLabel
Label to which the resulting string is written in a replacement. It is mandatory for
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
andDropEqual
actions. Regex capture groups are available.
- spec.podMetricsEndpoints.scheme
HTTP scheme to use for scraping.
http
andhttps
are the expected values unless you rewrite the__scheme__
label via relabeling. If empty, Prometheus uses the default valuehttp
.Allowed values:
http
,https
- spec.podMetricsEndpoints.scrapeTimeout
Timeout after which the scrape is ended If not specified, the Prometheus global scrape interval is used.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.podMetricsEndpoints.targetPort
Deprecated: Use ‘port’ instead.
- spec.podMetricsEndpoints.tlsConfig
TLS configuration to use when scraping the endpoint.
- spec.podMetricsEndpoints.tlsConfig.ca
Certificate authority used when verifying server certificates.
- spec.podMetricsEndpoints.tlsConfig.ca.configMap
ConfigMap containing data to use for the targets.
- spec.podMetricsEndpoints.tlsConfig.ca.configMap.key
Required value
The key to select.
- spec.podMetricsEndpoints.tlsConfig.ca.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.ca.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.podMetricsEndpoints.tlsConfig.ca.secret
Secret containing data to use for the targets.
- spec.podMetricsEndpoints.tlsConfig.ca.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.podMetricsEndpoints.tlsConfig.ca.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.ca.secret.optional
Specify whether the Secret or its key must be defined
- spec.podMetricsEndpoints.tlsConfig.cert
Client certificate to present when doing client-authentication.
- spec.podMetricsEndpoints.tlsConfig.cert.configMap
ConfigMap containing data to use for the targets.
- spec.podMetricsEndpoints.tlsConfig.cert.configMap.key
Required value
The key to select.
- spec.podMetricsEndpoints.tlsConfig.cert.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.cert.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.podMetricsEndpoints.tlsConfig.cert.secret
Secret containing data to use for the targets.
- spec.podMetricsEndpoints.tlsConfig.cert.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.podMetricsEndpoints.tlsConfig.cert.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.cert.secret.optional
Specify whether the Secret or its key must be defined
- spec.podMetricsEndpoints.tlsConfig.insecureSkipVerify
Disable target certificate validation.
- spec.podMetricsEndpoints.tlsConfig.keySecret
Secret containing the client key file for the targets.
- spec.podMetricsEndpoints.tlsConfig.keySecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.podMetricsEndpoints.tlsConfig.keySecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.podMetricsEndpoints.tlsConfig.keySecret.optional
Specify whether the Secret or its key must be defined
- spec.podMetricsEndpoints.tlsConfig.serverName
Used to verify the hostname for the targets.
- spec.podTargetLabels
PodTargetLabels transfers labels on the Kubernetes Pod onto the target.
- spec.sampleLimit
SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
- spec.selector
Required value
Selector to select Pod objects.
- spec.selector.matchExpressions
matchExpressions is a list of label selector requirements. The requirements are ANDed.
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- spec.selector.matchExpressions.key
Required value
key is the label key that the selector applies to.
- spec.selector.matchExpressions.operator
Required value
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- spec.selector.matchExpressions.values
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- spec.selector.matchLabels
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
- spec.targetLimit
TargetLimit defines a limit on the number of scraped targets that will be accepted.
Probe
Scope: Namespaced
Version: v1
Probe defines monitoring for a set of static targets or ingresses.
- apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Required value
Specification of desired Ingress selection for target discovery by Prometheus.
- object
Authorization section for this endpoint
- object
Selects a key of a Secret in the namespace that contains the credentials for authentication.
- string
Required value
The key of the secret to select from. Must be a valid secret key.
- string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
Specify whether the Secret or its key must be defined
- string
Defines the authentication type. The value is case-insensitive. “Basic” is not a supported value. Default: “Bearer”
- spec.basicAuth
BasicAuth allow an endpoint to authenticate over basic authentication. More info: https://prometheus.io/docs/operating/configuration/#endpoint
- spec.basicAuth.password
The secret in the service monitor namespace that contains the password for authentication.
- spec.basicAuth.password.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.basicAuth.password.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.basicAuth.password.optional
Specify whether the Secret or its key must be defined
- spec.basicAuth.username
The secret in the service monitor namespace that contains the username for authentication.
- spec.basicAuth.username.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.basicAuth.username.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.basicAuth.username.optional
Specify whether the Secret or its key must be defined
- spec.bearerTokenSecret
Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the probe and accessible by the Prometheus Operator.
- spec.bearerTokenSecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.bearerTokenSecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.bearerTokenSecret.optional
Specify whether the Secret or its key must be defined
- spec.interval
Interval at which targets are probed using the configured prober. If not specified Prometheus’ global scrape interval is used.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.jobName
The job name assigned to scraped metrics by default.
- spec.keepDroppedTargets
Per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0.
- spec.labelLimit
Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.labelNameLengthLimit
Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.labelValueLengthLimit
Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.metricRelabelings
MetricRelabelConfigs to apply to samples before ingestion.
RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.metricRelabelings.action
Action to perform based on the regex matching.
Uppercase
andLowercase
actions require Prometheus >= v2.36.0.DropEqual
andKeepEqual
actions require Prometheus >= v2.41.0. Default: “Replace”Default:
"replace"
Allowed values:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.metricRelabelings.modulus
Modulus to take of the hash of the source label values. Only applicable when the action is
HashMod
. - spec.metricRelabelings.regex
Regular expression against which the extracted value is matched.
- spec.metricRelabelings.replacement
Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available.
- spec.metricRelabelings.separator
Separator is the string between concatenated SourceLabels.
- spec.metricRelabelings.sourceLabels
The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
- Element of the array
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
Pattern:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.metricRelabelings.targetLabel
Label to which the resulting string is written in a replacement. It is mandatory for
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
andDropEqual
actions. Regex capture groups are available.
- spec.module
The module to use for probing specifying how to probe the target. Example module configuring in the blackbox exporter: https://github.com/prometheus/blackbox_exporter/blob/master/example.yml
- spec.oauth2
OAuth2 for the URL. Only valid in Prometheus versions 2.27.0 and newer.
- spec.oauth2.clientId
Required value
The secret or configmap containing the OAuth2 client id
- spec.oauth2.clientId.configMap
ConfigMap containing data to use for the targets.
- spec.oauth2.clientId.configMap.key
Required value
The key to select.
- spec.oauth2.clientId.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.oauth2.clientId.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.oauth2.clientId.secret
Secret containing data to use for the targets.
- spec.oauth2.clientId.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.oauth2.clientId.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.oauth2.clientId.secret.optional
Specify whether the Secret or its key must be defined
- spec.oauth2.clientSecret
Required value
The secret containing the OAuth2 client secret
- spec.oauth2.clientSecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.oauth2.clientSecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.oauth2.clientSecret.optional
Specify whether the Secret or its key must be defined
- spec.oauth2.endpointParams
Parameters to append to the token URL
- spec.oauth2.scopes
OAuth2 scopes used for the token request
- spec.oauth2.tokenUrl
Required value
The URL to fetch the token from
- spec.prober
Specification for the prober to use for probing targets. The prober.URL parameter is required. Targets cannot be probed if left empty.
- spec.prober.path
Path to collect metrics from. Defaults to
/probe
.Default:
"/probe"
- spec.prober.proxyUrl
Optional ProxyURL.
- spec.prober.scheme
HTTP scheme to use for scraping.
http
andhttps
are the expected values unless you rewrite the__scheme__
label via relabeling. If empty, Prometheus uses the default valuehttp
.Allowed values:
http
,https
- spec.prober.url
Required value
Mandatory URL of the prober.
- spec.sampleLimit
SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
- spec.scrapeTimeout
Timeout for scraping metrics from the Prometheus exporter. If not specified, the Prometheus global scrape timeout is used.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.targetLimit
TargetLimit defines a limit on the number of scraped targets that will be accepted.
- spec.targets
Targets defines a set of static or dynamically discovered targets to probe.
- spec.targets.ingress
ingress defines the Ingress objects to probe and the relabeling configuration. If
staticConfig
is also defined,staticConfig
takes precedence.- spec.targets.ingress.namespaceSelector
From which namespaces to select Ingress objects.
- spec.targets.ingress.namespaceSelector.any
Boolean describing whether all namespaces are selected in contrast to a list restricting them.
- spec.targets.ingress.namespaceSelector.matchNames
List of namespace names to select from.
- spec.targets.ingress.relabelingConfigs
RelabelConfigs to apply to the label set of the target before it gets scraped. The original ingress address is available via the
__tmp_prometheus_ingress_address
label. It can be used to customize the probed URL. The original scrape job’s name is available via the__tmp_prometheus_job_name
label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_configRelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.targets.ingress.relabelingConfigs.action
Action to perform based on the regex matching.
Uppercase
andLowercase
actions require Prometheus >= v2.36.0.DropEqual
andKeepEqual
actions require Prometheus >= v2.41.0. Default: “Replace”Default:
"replace"
Allowed values:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.targets.ingress.relabelingConfigs.modulus
Modulus to take of the hash of the source label values. Only applicable when the action is
HashMod
. - spec.targets.ingress.relabelingConfigs.regex
Regular expression against which the extracted value is matched.
- spec.targets.ingress.relabelingConfigs.replacement
Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available.
- spec.targets.ingress.relabelingConfigs.separator
Separator is the string between concatenated SourceLabels.
- spec.targets.ingress.relabelingConfigs.sourceLabels
The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
- Element of the array
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
Pattern:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.targets.ingress.relabelingConfigs.targetLabel
Label to which the resulting string is written in a replacement. It is mandatory for
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
andDropEqual
actions. Regex capture groups are available.
- spec.targets.ingress.selector
Selector to select the Ingress objects.
- spec.targets.ingress.selector.matchExpressions
matchExpressions is a list of label selector requirements. The requirements are ANDed.
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- spec.targets.ingress.selector.matchExpressions.key
Required value
key is the label key that the selector applies to.
- spec.targets.ingress.selector.matchExpressions.operator
Required value
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- spec.targets.ingress.selector.matchExpressions.values
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- spec.targets.ingress.selector.matchLabels
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
- spec.targets.staticConfig
staticConfig defines the static list of targets to probe and the relabeling configuration. If
ingress
is also defined,staticConfig
takes precedence. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#static_config.- spec.targets.staticConfig.labels
Labels assigned to all metrics scraped from the targets.
- spec.targets.staticConfig.relabelingConfigs
RelabelConfigs to apply to the label set of the targets before it gets scraped. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.targets.staticConfig.relabelingConfigs.action
Action to perform based on the regex matching.
Uppercase
andLowercase
actions require Prometheus >= v2.36.0.DropEqual
andKeepEqual
actions require Prometheus >= v2.41.0. Default: “Replace”Default:
"replace"
Allowed values:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.targets.staticConfig.relabelingConfigs.modulus
Modulus to take of the hash of the source label values. Only applicable when the action is
HashMod
. - spec.targets.staticConfig.relabelingConfigs.regex
Regular expression against which the extracted value is matched.
- spec.targets.staticConfig.relabelingConfigs.replacement
Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available.
- spec.targets.staticConfig.relabelingConfigs.separator
Separator is the string between concatenated SourceLabels.
- spec.targets.staticConfig.relabelingConfigs.sourceLabels
The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
- Element of the array
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
Pattern:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.targets.staticConfig.relabelingConfigs.targetLabel
Label to which the resulting string is written in a replacement. It is mandatory for
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
andDropEqual
actions. Regex capture groups are available.
- spec.targets.staticConfig.static
The list of hosts to probe.
- spec.tlsConfig
TLS configuration to use when scraping the endpoint.
- spec.tlsConfig.ca
Certificate authority used when verifying server certificates.
- spec.tlsConfig.ca.configMap
ConfigMap containing data to use for the targets.
- spec.tlsConfig.ca.configMap.key
Required value
The key to select.
- spec.tlsConfig.ca.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.ca.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.tlsConfig.ca.secret
Secret containing data to use for the targets.
- spec.tlsConfig.ca.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.tlsConfig.ca.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.ca.secret.optional
Specify whether the Secret or its key must be defined
- spec.tlsConfig.cert
Client certificate to present when doing client-authentication.
- spec.tlsConfig.cert.configMap
ConfigMap containing data to use for the targets.
- spec.tlsConfig.cert.configMap.key
Required value
The key to select.
- spec.tlsConfig.cert.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.cert.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.tlsConfig.cert.secret
Secret containing data to use for the targets.
- spec.tlsConfig.cert.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.tlsConfig.cert.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.cert.secret.optional
Specify whether the Secret or its key must be defined
- spec.tlsConfig.insecureSkipVerify
Disable target certificate validation.
- spec.tlsConfig.keySecret
Secret containing the client key file for the targets.
- spec.tlsConfig.keySecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.tlsConfig.keySecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.keySecret.optional
Specify whether the Secret or its key must be defined
- spec.tlsConfig.serverName
Used to verify the hostname for the targets.
ScrapeConfig
Scope: Namespaced
Version: v1alpha1
ScrapeConfig defines a namespaced Prometheus scrape_config to be aggregated across multiple namespaces into the Prometheus configuration.
- apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Required value
ScrapeConfigSpec is a specification of the desired configuration for a scrape configuration.
- object
Authorization header to use on every scrape request.
- object
Selects a key of a Secret in the namespace that contains the credentials for authentication.
- string
Required value
The key of the secret to select from. Must be a valid secret key.
- string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
Specify whether the Secret or its key must be defined
- string
Defines the authentication type. The value is case-insensitive. “Basic” is not a supported value. Default: “Bearer”
- spec.basicAuth
BasicAuth information to use on every scrape request.
- spec.basicAuth.password
The secret in the service monitor namespace that contains the password for authentication.
- spec.basicAuth.password.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.basicAuth.password.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.basicAuth.password.optional
Specify whether the Secret or its key must be defined
- spec.basicAuth.username
The secret in the service monitor namespace that contains the username for authentication.
- spec.basicAuth.username.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.basicAuth.username.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.basicAuth.username.optional
Specify whether the Secret or its key must be defined
- spec.consulSDConfigs
ConsulSDConfigs defines a list of Consul service discovery configurations.
ConsulSDConfig defines a Consul service discovery configuration See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#consul_sd_config
- spec.consulSDConfigs.allow_stale
Allow stale Consul results (see https://www.consul.io/api/features/consistency.html). Will reduce load on Consul. If unset, Prometheus uses its default value.
- object
Authorization header configuration to authenticate against the Consul Server.
- object
Selects a key of a Secret in the namespace that contains the credentials for authentication.
- string
Required value
The key of the secret to select from. Must be a valid secret key.
- string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
Specify whether the Secret or its key must be defined
- string
Defines the authentication type. The value is case-insensitive. “Basic” is not a supported value. Default: “Bearer”
- spec.consulSDConfigs.basicAuth
BasicAuth information to authenticate against the Consul Server. More info: https://prometheus.io/docs/operating/configuration/#endpoints
- spec.consulSDConfigs.basicAuth.password
The secret in the service monitor namespace that contains the password for authentication.
- spec.consulSDConfigs.basicAuth.password.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.consulSDConfigs.basicAuth.password.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.basicAuth.password.optional
Specify whether the Secret or its key must be defined
- spec.consulSDConfigs.basicAuth.username
The secret in the service monitor namespace that contains the username for authentication.
- spec.consulSDConfigs.basicAuth.username.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.consulSDConfigs.basicAuth.username.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.basicAuth.username.optional
Specify whether the Secret or its key must be defined
- spec.consulSDConfigs.datacenter
Consul Datacenter name, if not provided it will use the local Consul Agent Datacenter.
- spec.consulSDConfigs.enable_http2
Whether to enable HTTP2. If unset, Prometheus uses its default value.
- spec.consulSDConfigs.follow_redirects
Configure whether HTTP requests follow HTTP 3xx redirects. If unset, Prometheus uses its default value.
- spec.consulSDConfigs.namespace
Namespaces are only supported in Consul Enterprise.
- spec.consulSDConfigs.no_proxy
Comma-separated string that can contain IPs, CIDR notation, domain names that should be excluded from proxying. IP and domain names can contain port numbers.
- spec.consulSDConfigs.node_meta
Node metadata key/value pairs to filter nodes for a given service.
- spec.consulSDConfigs.oauth2
Optional OAuth 2.0 configuration.
- spec.consulSDConfigs.oauth2.clientId
Required value
The secret or configmap containing the OAuth2 client id
- spec.consulSDConfigs.oauth2.clientId.configMap
ConfigMap containing data to use for the targets.
- spec.consulSDConfigs.oauth2.clientId.configMap.key
Required value
The key to select.
- spec.consulSDConfigs.oauth2.clientId.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.oauth2.clientId.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.consulSDConfigs.oauth2.clientId.secret
Secret containing data to use for the targets.
- spec.consulSDConfigs.oauth2.clientId.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.consulSDConfigs.oauth2.clientId.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.oauth2.clientId.secret.optional
Specify whether the Secret or its key must be defined
- spec.consulSDConfigs.oauth2.clientSecret
Required value
The secret containing the OAuth2 client secret
- spec.consulSDConfigs.oauth2.clientSecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.consulSDConfigs.oauth2.clientSecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.oauth2.clientSecret.optional
Specify whether the Secret or its key must be defined
- spec.consulSDConfigs.oauth2.endpointParams
Parameters to append to the token URL
- spec.consulSDConfigs.oauth2.scopes
OAuth2 scopes used for the token request
- spec.consulSDConfigs.oauth2.tokenUrl
Required value
The URL to fetch the token from
- spec.consulSDConfigs.partition
Admin Partitions are only supported in Consul Enterprise.
- spec.consulSDConfigs.proxy_connect_header
Specifies headers to send to proxies during CONNECT requests.
- spec.consulSDConfigs.proxy_from_environment
Use proxy URL indicated by environment variables (HTTP_PROXY, https_proxy, HTTPs_PROXY, https_proxy, and no_proxy) If unset, Prometheus uses its default value.
- spec.consulSDConfigs.proxy_url
Optional proxy URL.
- spec.consulSDConfigs.refresh_interval
The time after which the provided names are refreshed. On large setup it might be a good idea to increase this value because the catalog will change all the time. If unset, Prometheus uses its default value.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.consulSDConfigs.scheme
HTTP Scheme default “http”
Allowed values:
HTTP
,HTTPS
- spec.consulSDConfigs.server
Required value
A valid string consisting of a hostname or IP followed by an optional port number.
- spec.consulSDConfigs.services
A list of services for which targets are retrieved. If omitted, all services are scraped.
- spec.consulSDConfigs.tag_separator
The string by which Consul tags are joined into the tag label. If unset, Prometheus uses its default value.
- array of strings
An optional list of tags used to filter nodes for a given service. Services must contain all tags in the list.
- spec.consulSDConfigs.tlsConfig
TLS Config
- spec.consulSDConfigs.tlsConfig.ca
Certificate authority used when verifying server certificates.
- spec.consulSDConfigs.tlsConfig.ca.configMap
ConfigMap containing data to use for the targets.
- spec.consulSDConfigs.tlsConfig.ca.configMap.key
Required value
The key to select.
- spec.consulSDConfigs.tlsConfig.ca.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.ca.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.consulSDConfigs.tlsConfig.ca.secret
Secret containing data to use for the targets.
- spec.consulSDConfigs.tlsConfig.ca.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.consulSDConfigs.tlsConfig.ca.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.ca.secret.optional
Specify whether the Secret or its key must be defined
- spec.consulSDConfigs.tlsConfig.cert
Client certificate to present when doing client-authentication.
- spec.consulSDConfigs.tlsConfig.cert.configMap
ConfigMap containing data to use for the targets.
- spec.consulSDConfigs.tlsConfig.cert.configMap.key
Required value
The key to select.
- spec.consulSDConfigs.tlsConfig.cert.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.cert.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.consulSDConfigs.tlsConfig.cert.secret
Secret containing data to use for the targets.
- spec.consulSDConfigs.tlsConfig.cert.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.consulSDConfigs.tlsConfig.cert.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.cert.secret.optional
Specify whether the Secret or its key must be defined
- spec.consulSDConfigs.tlsConfig.insecureSkipVerify
Disable target certificate validation.
- spec.consulSDConfigs.tlsConfig.keySecret
Secret containing the client key file for the targets.
- spec.consulSDConfigs.tlsConfig.keySecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.consulSDConfigs.tlsConfig.keySecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tlsConfig.keySecret.optional
Specify whether the Secret or its key must be defined
- spec.consulSDConfigs.tlsConfig.serverName
Used to verify the hostname for the targets.
- spec.consulSDConfigs.tokenRef
Consul ACL TokenRef, if not provided it will use the ACL from the local Consul Agent.
- spec.consulSDConfigs.tokenRef.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.consulSDConfigs.tokenRef.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.consulSDConfigs.tokenRef.optional
Specify whether the Secret or its key must be defined
- spec.dnsSDConfigs
DNSSDConfigs defines a list of DNS service discovery configurations.
DNSSDConfig allows specifying a set of DNS domain names which are periodically queried to discover a list of targets. The DNS servers to be contacted are read from /etc/resolv.conf. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#dns_sd_config
- spec.dnsSDConfigs.names
Required value
A list of DNS domain names to be queried.
- spec.dnsSDConfigs.port
The port number used if the query type is not SRV Ignored for SRV records
- spec.dnsSDConfigs.refreshInterval
RefreshInterval configures the time after which the provided names are refreshed. If not set, Prometheus uses its default value.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.dnsSDConfigs.type
The type of DNS query to perform. One of SRV, A, AAAA or MX. If not set, Prometheus uses its default value.
Allowed values:
SRV
,A
,AAAA
,MX
- spec.fileSDConfigs
FileSDConfigs defines a list of file service discovery configurations.
FileSDConfig defines a Prometheus file service discovery configuration See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#file_sd_config
- spec.fileSDConfigs.files
Required value
List of files to be used for file discovery. Recommendation: use absolute paths. While relative paths work, the prometheus-operator project makes no guarantees about the working directory where the configuration file is stored. Files must be mounted using Prometheus.ConfigMaps or Prometheus.Secrets.
- Element of the array
SDFile represents a file used for service discovery
Pattern:
^[^*]*(\*[^/]*)?\.(json|yml|yaml|JSON|YML|YAML)$
- spec.fileSDConfigs.refreshInterval
RefreshInterval configures the refresh interval at which Prometheus will reload the content of the files.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.honorLabels
HonorLabels chooses the metric’s labels on collisions with target labels.
- spec.honorTimestamps
HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
- spec.httpSDConfigs
HTTPSDConfigs defines a list of HTTP service discovery configurations.
HTTPSDConfig defines a prometheus HTTP service discovery configuration See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#http_sd_config
- object
Authorization header configuration to authenticate against the target HTTP endpoint.
- object
Selects a key of a Secret in the namespace that contains the credentials for authentication.
- string
Required value
The key of the secret to select from. Must be a valid secret key.
- string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
Specify whether the Secret or its key must be defined
- string
Defines the authentication type. The value is case-insensitive. “Basic” is not a supported value. Default: “Bearer”
- spec.httpSDConfigs.basicAuth
BasicAuth information to authenticate against the target HTTP endpoint. More info: https://prometheus.io/docs/operating/configuration/#endpoints
- spec.httpSDConfigs.basicAuth.password
The secret in the service monitor namespace that contains the password for authentication.
- spec.httpSDConfigs.basicAuth.password.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.httpSDConfigs.basicAuth.password.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.basicAuth.password.optional
Specify whether the Secret or its key must be defined
- spec.httpSDConfigs.basicAuth.username
The secret in the service monitor namespace that contains the username for authentication.
- spec.httpSDConfigs.basicAuth.username.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.httpSDConfigs.basicAuth.username.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.basicAuth.username.optional
Specify whether the Secret or its key must be defined
- spec.httpSDConfigs.refreshInterval
RefreshInterval configures the refresh interval at which Prometheus will re-query the endpoint to update the target list.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.httpSDConfigs.tlsConfig
TLS configuration applying to the target HTTP endpoint.
- spec.httpSDConfigs.tlsConfig.ca
Certificate authority used when verifying server certificates.
- spec.httpSDConfigs.tlsConfig.ca.configMap
ConfigMap containing data to use for the targets.
- spec.httpSDConfigs.tlsConfig.ca.configMap.key
Required value
The key to select.
- spec.httpSDConfigs.tlsConfig.ca.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.ca.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.httpSDConfigs.tlsConfig.ca.secret
Secret containing data to use for the targets.
- spec.httpSDConfigs.tlsConfig.ca.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.httpSDConfigs.tlsConfig.ca.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.ca.secret.optional
Specify whether the Secret or its key must be defined
- spec.httpSDConfigs.tlsConfig.cert
Client certificate to present when doing client-authentication.
- spec.httpSDConfigs.tlsConfig.cert.configMap
ConfigMap containing data to use for the targets.
- spec.httpSDConfigs.tlsConfig.cert.configMap.key
Required value
The key to select.
- spec.httpSDConfigs.tlsConfig.cert.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.cert.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.httpSDConfigs.tlsConfig.cert.secret
Secret containing data to use for the targets.
- spec.httpSDConfigs.tlsConfig.cert.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.httpSDConfigs.tlsConfig.cert.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.cert.secret.optional
Specify whether the Secret or its key must be defined
- spec.httpSDConfigs.tlsConfig.insecureSkipVerify
Disable target certificate validation.
- spec.httpSDConfigs.tlsConfig.keySecret
Secret containing the client key file for the targets.
- spec.httpSDConfigs.tlsConfig.keySecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.httpSDConfigs.tlsConfig.keySecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.httpSDConfigs.tlsConfig.keySecret.optional
Specify whether the Secret or its key must be defined
- spec.httpSDConfigs.tlsConfig.serverName
Used to verify the hostname for the targets.
- spec.httpSDConfigs.url
Required value
URL from which the targets are fetched.
Pattern:
^http(s)?://.+$
- spec.keepDroppedTargets
Per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0.
- spec.kubernetesSDConfigs
KubernetesSDConfigs defines a list of Kubernetes service discovery configurations.
KubernetesSDConfig allows retrieving scrape targets from Kubernetes’ REST API. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#kubernetes_sd_config
- spec.kubernetesSDConfigs.role
Required value
Role of the Kubernetes entities that should be discovered. Currently the only supported role is “Node”.
Allowed values:
Node
- spec.labelLimit
Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.labelNameLengthLimit
Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.labelValueLengthLimit
Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.metricRelabelings
MetricRelabelConfigs to apply to samples before ingestion.
RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.metricRelabelings.action
Action to perform based on the regex matching.
Uppercase
andLowercase
actions require Prometheus >= v2.36.0.DropEqual
andKeepEqual
actions require Prometheus >= v2.41.0. Default: “Replace”Default:
"replace"
Allowed values:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.metricRelabelings.modulus
Modulus to take of the hash of the source label values. Only applicable when the action is
HashMod
. - spec.metricRelabelings.regex
Regular expression against which the extracted value is matched.
- spec.metricRelabelings.replacement
Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available.
- spec.metricRelabelings.separator
Separator is the string between concatenated SourceLabels.
- spec.metricRelabelings.sourceLabels
The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
- Element of the array
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
Pattern:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.metricRelabelings.targetLabel
Label to which the resulting string is written in a replacement. It is mandatory for
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
andDropEqual
actions. Regex capture groups are available.
- spec.metricsPath
MetricsPath HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g. /metrics).
- spec.params
Optional HTTP URL parameters
- spec.relabelings
RelabelConfigs defines how to rewrite the target’s labels before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields. The original scrape job’s name is available via the
__tmp_prometheus_job_name
label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_configRelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.relabelings.action
Action to perform based on the regex matching.
Uppercase
andLowercase
actions require Prometheus >= v2.36.0.DropEqual
andKeepEqual
actions require Prometheus >= v2.41.0. Default: “Replace”Default:
"replace"
Allowed values:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.relabelings.modulus
Modulus to take of the hash of the source label values. Only applicable when the action is
HashMod
. - spec.relabelings.regex
Regular expression against which the extracted value is matched.
- spec.relabelings.replacement
Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available.
- spec.relabelings.separator
Separator is the string between concatenated SourceLabels.
- spec.relabelings.sourceLabels
The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
- Element of the array
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
Pattern:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.relabelings.targetLabel
Label to which the resulting string is written in a replacement. It is mandatory for
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
andDropEqual
actions. Regex capture groups are available.
- spec.sampleLimit
SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
- spec.scheme
Configures the protocol scheme used for requests. If empty, Prometheus uses HTTP by default.
Allowed values:
HTTP
,HTTPS
- spec.scrapeInterval
ScrapeInterval is the interval between consecutive scrapes.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.scrapeTimeout
ScrapeTimeout is the number of seconds to wait until a scrape request times out.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.staticConfigs
StaticConfigs defines a list of static targets with a common label set.
StaticConfig defines a Prometheus static configuration. See https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config
- spec.staticConfigs.labels
Labels assigned to all metrics scraped from the targets.
- spec.staticConfigs.targets
List of targets for this static configuration.
- Element of the array
Target represents a target for Prometheus to scrape
- spec.targetLimit
TargetLimit defines a limit on the number of scraped targets that will be accepted.
- spec.tlsConfig
TLS configuration to use on every scrape request
- spec.tlsConfig.ca
Certificate authority used when verifying server certificates.
- spec.tlsConfig.ca.configMap
ConfigMap containing data to use for the targets.
- spec.tlsConfig.ca.configMap.key
Required value
The key to select.
- spec.tlsConfig.ca.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.ca.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.tlsConfig.ca.secret
Secret containing data to use for the targets.
- spec.tlsConfig.ca.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.tlsConfig.ca.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.ca.secret.optional
Specify whether the Secret or its key must be defined
- spec.tlsConfig.cert
Client certificate to present when doing client-authentication.
- spec.tlsConfig.cert.configMap
ConfigMap containing data to use for the targets.
- spec.tlsConfig.cert.configMap.key
Required value
The key to select.
- spec.tlsConfig.cert.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.cert.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.tlsConfig.cert.secret
Secret containing data to use for the targets.
- spec.tlsConfig.cert.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.tlsConfig.cert.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.cert.secret.optional
Specify whether the Secret or its key must be defined
- spec.tlsConfig.insecureSkipVerify
Disable target certificate validation.
- spec.tlsConfig.keySecret
Secret containing the client key file for the targets.
- spec.tlsConfig.keySecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.tlsConfig.keySecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.tlsConfig.keySecret.optional
Specify whether the Secret or its key must be defined
- spec.tlsConfig.serverName
Used to verify the hostname for the targets.
ServiceMonitor
Scope: Namespaced
Version: v1
ServiceMonitor defines monitoring for a set of services.
- apiVersion
APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
- kind
Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
- metadata
- spec
Required value
Specification of desired Service selection for target discovery by Prometheus.
- spec.attachMetadata
Attaches node metadata to discovered targets. Requires Prometheus v2.37.0 and above.
- spec.attachMetadata.node
When set to true, Prometheus must have permissions to get Nodes.
- spec.endpoints
Required value
A list of endpoints allowed as part of this ServiceMonitor.
Endpoint defines a scrapeable endpoint serving Prometheus metrics.
- object
Authorization section for this endpoint
- object
Selects a key of a Secret in the namespace that contains the credentials for authentication.
- string
Required value
The key of the secret to select from. Must be a valid secret key.
- string
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- boolean
Specify whether the Secret or its key must be defined
- string
Defines the authentication type. The value is case-insensitive. “Basic” is not a supported value. Default: “Bearer”
- spec.endpoints.basicAuth
BasicAuth allow an endpoint to authenticate over basic authentication More info: https://prometheus.io/docs/operating/configuration/#endpoints
- spec.endpoints.basicAuth.password
The secret in the service monitor namespace that contains the password for authentication.
- spec.endpoints.basicAuth.password.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.endpoints.basicAuth.password.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.basicAuth.password.optional
Specify whether the Secret or its key must be defined
- spec.endpoints.basicAuth.username
The secret in the service monitor namespace that contains the username for authentication.
- spec.endpoints.basicAuth.username.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.endpoints.basicAuth.username.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.basicAuth.username.optional
Specify whether the Secret or its key must be defined
- spec.endpoints.bearerTokenFile
File to read bearer token for scraping targets.
- spec.endpoints.bearerTokenSecret
Secret to mount to read bearer token for scraping targets. The secret needs to be in the same namespace as the service monitor and accessible by the Prometheus Operator.
- spec.endpoints.bearerTokenSecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.endpoints.bearerTokenSecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.bearerTokenSecret.optional
Specify whether the Secret or its key must be defined
- spec.endpoints.enableHttp2
Whether to enable HTTP2.
- spec.endpoints.filterRunning
Drop pods that are not running. (Failed, Succeeded). Enabled by default. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
- spec.endpoints.followRedirects
FollowRedirects configures whether scrape requests follow HTTP 3xx redirects.
- spec.endpoints.honorLabels
HonorLabels chooses the metric’s labels on collisions with target labels.
- spec.endpoints.honorTimestamps
HonorTimestamps controls whether Prometheus respects the timestamps present in scraped data.
- spec.endpoints.interval
Interval at which metrics should be scraped If not specified Prometheus’ global scrape interval is used.
Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.endpoints.metricRelabelings
MetricRelabelConfigs to apply to samples before ingestion.
RelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.endpoints.metricRelabelings.action
Action to perform based on the regex matching.
Uppercase
andLowercase
actions require Prometheus >= v2.36.0.DropEqual
andKeepEqual
actions require Prometheus >= v2.41.0. Default: “Replace”Default:
"replace"
Allowed values:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.endpoints.metricRelabelings.modulus
Modulus to take of the hash of the source label values. Only applicable when the action is
HashMod
. - spec.endpoints.metricRelabelings.regex
Regular expression against which the extracted value is matched.
- spec.endpoints.metricRelabelings.replacement
Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available.
- spec.endpoints.metricRelabelings.separator
Separator is the string between concatenated SourceLabels.
- spec.endpoints.metricRelabelings.sourceLabels
The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
- Element of the array
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
Pattern:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.endpoints.metricRelabelings.targetLabel
Label to which the resulting string is written in a replacement. It is mandatory for
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
andDropEqual
actions. Regex capture groups are available.
- spec.endpoints.oauth2
OAuth2 for the URL. Only valid in Prometheus versions 2.27.0 and newer.
- spec.endpoints.oauth2.clientId
Required value
The secret or configmap containing the OAuth2 client id
- spec.endpoints.oauth2.clientId.configMap
ConfigMap containing data to use for the targets.
- spec.endpoints.oauth2.clientId.configMap.key
Required value
The key to select.
- spec.endpoints.oauth2.clientId.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.oauth2.clientId.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.endpoints.oauth2.clientId.secret
Secret containing data to use for the targets.
- spec.endpoints.oauth2.clientId.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.endpoints.oauth2.clientId.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.oauth2.clientId.secret.optional
Specify whether the Secret or its key must be defined
- spec.endpoints.oauth2.clientSecret
Required value
The secret containing the OAuth2 client secret
- spec.endpoints.oauth2.clientSecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.endpoints.oauth2.clientSecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.oauth2.clientSecret.optional
Specify whether the Secret or its key must be defined
- spec.endpoints.oauth2.endpointParams
Parameters to append to the token URL
- spec.endpoints.oauth2.scopes
OAuth2 scopes used for the token request
- spec.endpoints.oauth2.tokenUrl
Required value
The URL to fetch the token from
- spec.endpoints.params
Optional HTTP URL parameters
- spec.endpoints.path
HTTP path to scrape for metrics. If empty, Prometheus uses the default value (e.g.
/metrics
). - spec.endpoints.port
Name of the service port this endpoint refers to. Mutually exclusive with targetPort.
- spec.endpoints.proxyUrl
ProxyURL eg http://proxyserver:2195 Directs scrapes to proxy through this endpoint.
- spec.endpoints.relabelings
RelabelConfigs to apply to samples before scraping. Prometheus Operator automatically adds relabelings for a few standard Kubernetes fields. The original scrape job’s name is available via the
__tmp_prometheus_job_name
label. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_configRelabelConfig allows dynamic rewriting of the label set for targets, alerts, scraped samples and remote write samples. More info: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
- spec.endpoints.relabelings.action
Action to perform based on the regex matching.
Uppercase
andLowercase
actions require Prometheus >= v2.36.0.DropEqual
andKeepEqual
actions require Prometheus >= v2.41.0. Default: “Replace”Default:
"replace"
Allowed values:
replace
,Replace
,keep
,Keep
,drop
,Drop
,hashmod
,HashMod
,labelmap
,LabelMap
,labeldrop
,LabelDrop
,labelkeep
,LabelKeep
,lowercase
,Lowercase
,uppercase
,Uppercase
,keepequal
,KeepEqual
,dropequal
,DropEqual
- spec.endpoints.relabelings.modulus
Modulus to take of the hash of the source label values. Only applicable when the action is
HashMod
. - spec.endpoints.relabelings.regex
Regular expression against which the extracted value is matched.
- spec.endpoints.relabelings.replacement
Replacement value against which a Replace action is performed if the regular expression matches. Regex capture groups are available.
- spec.endpoints.relabelings.separator
Separator is the string between concatenated SourceLabels.
- spec.endpoints.relabelings.sourceLabels
The source labels select values from existing labels. Their content is concatenated using the configured Separator and matched against the configured regular expression.
- Element of the array
LabelName is a valid Prometheus label name which may only contain ASCII letters, numbers, as well as underscores.
Pattern:
^[a-zA-Z_][a-zA-Z0-9_]*$
- spec.endpoints.relabelings.targetLabel
Label to which the resulting string is written in a replacement. It is mandatory for
Replace
,HashMod
,Lowercase
,Uppercase
,KeepEqual
andDropEqual
actions. Regex capture groups are available.
- spec.endpoints.scheme
HTTP scheme to use for scraping.
http
andhttps
are the expected values unless you rewrite the__scheme__
label via relabeling. If empty, Prometheus uses the default valuehttp
.Allowed values:
http
,https
- spec.endpoints.scrapeTimeout
Timeout after which the scrape is ended If not specified, the Prometheus global scrape timeout is used unless it is less than
Interval
in which the latter is used.Pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
- spec.endpoints.targetPort
Name or number of the target port of the Pod behind the Service, the port must be specified with container port property. Mutually exclusive with port.
- spec.endpoints.tlsConfig
TLS configuration to use when scraping the endpoint
- spec.endpoints.tlsConfig.ca
Certificate authority used when verifying server certificates.
- spec.endpoints.tlsConfig.ca.configMap
ConfigMap containing data to use for the targets.
- spec.endpoints.tlsConfig.ca.configMap.key
Required value
The key to select.
- spec.endpoints.tlsConfig.ca.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.ca.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.endpoints.tlsConfig.ca.secret
Secret containing data to use for the targets.
- spec.endpoints.tlsConfig.ca.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.endpoints.tlsConfig.ca.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.ca.secret.optional
Specify whether the Secret or its key must be defined
- spec.endpoints.tlsConfig.caFile
Path to the CA cert in the Prometheus container to use for the targets.
- spec.endpoints.tlsConfig.cert
Client certificate to present when doing client-authentication.
- spec.endpoints.tlsConfig.cert.configMap
ConfigMap containing data to use for the targets.
- spec.endpoints.tlsConfig.cert.configMap.key
Required value
The key to select.
- spec.endpoints.tlsConfig.cert.configMap.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.cert.configMap.optional
Specify whether the ConfigMap or its key must be defined
- spec.endpoints.tlsConfig.cert.secret
Secret containing data to use for the targets.
- spec.endpoints.tlsConfig.cert.secret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.endpoints.tlsConfig.cert.secret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.cert.secret.optional
Specify whether the Secret or its key must be defined
- spec.endpoints.tlsConfig.certFile
Path to the client cert file in the Prometheus container for the targets.
- spec.endpoints.tlsConfig.insecureSkipVerify
Disable target certificate validation.
- spec.endpoints.tlsConfig.keyFile
Path to the client key file in the Prometheus container for the targets.
- spec.endpoints.tlsConfig.keySecret
Secret containing the client key file for the targets.
- spec.endpoints.tlsConfig.keySecret.key
Required value
The key of the secret to select from. Must be a valid secret key.
- spec.endpoints.tlsConfig.keySecret.name
Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- spec.endpoints.tlsConfig.keySecret.optional
Specify whether the Secret or its key must be defined
- spec.endpoints.tlsConfig.serverName
Used to verify the hostname for the targets.
- spec.jobLabel
JobLabel selects the label from the associated Kubernetes service which will be used as the
job
label for all metrics. For example: If inServiceMonitor.spec.jobLabel: foo
and inService.metadata.labels.foo: bar
, then thejob="bar"
label is added to all metrics. If the value of this field is empty or if the label doesn’t exist for the given Service, thejob
label of the metrics defaults to the name of the Kubernetes Service. - spec.keepDroppedTargets
Per-scrape limit on the number of targets dropped by relabeling that will be kept in memory. 0 means no limit. It requires Prometheus >= v2.47.0.
- spec.labelLimit
Per-scrape limit on number of labels that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.labelNameLengthLimit
Per-scrape limit on length of labels name that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.labelValueLengthLimit
Per-scrape limit on length of labels value that will be accepted for a sample. Only valid in Prometheus versions 2.27.0 and newer.
- spec.namespaceSelector
Selector to select which namespaces the Kubernetes Endpoints objects are discovered from.
- spec.namespaceSelector.any
Boolean describing whether all namespaces are selected in contrast to a list restricting them.
- spec.namespaceSelector.matchNames
List of namespace names to select from.
- spec.podTargetLabels
PodTargetLabels transfers labels on the Kubernetes
Pod
onto the created metrics. - spec.sampleLimit
SampleLimit defines per-scrape limit on number of scraped samples that will be accepted.
- spec.selector
Required value
Selector to select Endpoints objects.
- spec.selector.matchExpressions
matchExpressions is a list of label selector requirements. The requirements are ANDed.
A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
- spec.selector.matchExpressions.key
Required value
key is the label key that the selector applies to.
- spec.selector.matchExpressions.operator
Required value
operator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
- spec.selector.matchExpressions.values
values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
- spec.selector.matchLabels
matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
- spec.targetLabels
TargetLabels transfers labels from the Kubernetes
Service
onto the created metrics. - spec.targetLimit
TargetLimit defines a limit on the number of scraped targets that will be accepted.