PrometheusRule
monitoring.coreos.com / v1
apiVersion: monitoring.coreos.com/v1
kind: PrometheusRule
metadata:
name: example
apiVersion
string
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
string
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
object
spec object required
spec defines the specification of desired alerting rule definitions for Prometheus.
groups []object
groups defines the content of Prometheus rule file
interval
string
interval defines how often rules in the group are evaluated.
pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
labels
object
labels define the labels to add or overwrite before storing the result for its rules.
The labels defined at the rule level take precedence.
It requires Prometheus >= 3.0.0.
The field is ignored for Thanos Ruler.
limit
integer
limit defines the number of alerts an alerting rule and series a recording
rule can produce.
Limit is supported starting with Prometheus >= 2.31 and Thanos Ruler >= 0.24.
name
string required
name defines the name of the rule group.
minLength:
1
partial_response_strategy
string
partial_response_strategy is only used by ThanosRuler and will
be ignored by Prometheus instances.
More info: https://github.com/thanos-io/thanos/blob/main/docs/components/rule.md#partial-response
pattern:
^(?i)(abort|warn)?$
query_offset
string
query_offset defines the offset the rule evaluation timestamp of this particular group by the specified duration into the past.
It requires Prometheus >= v2.53.0.
It is not supported for ThanosRuler.
pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$rules []object
rules defines the list of alerting and recording rules.
alert
string
alert defines the name of the alert. Must be a valid label value.
Only one of `record` and `alert` must be set.
annotations
object
annotations defines annotations to add to each alert.
Only valid for alerting rules.
expr
string | integer required
expr defines the PromQL expression to evaluate.
for
string
for defines how alerts are considered firing once they have been returned for this long.
pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$
keep_firing_for
string
keep_firing_for defines how long an alert will continue firing after the condition that triggered it has cleared.
pattern:
^(0|(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?)$minLength:
1
labels
object
labels defines labels to add or overwrite.
record
string
record defines the name of the time series to output to. Must be a valid metric name.
Only one of `record` and `alert` must be set.
status object
status defines the status subresource. It is under active development and is updated only when the
"StatusForConfigurationResources" feature gate is enabled.
Most recent observed status of the PrometheusRule. Read-only.
More info:
https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
bindings []object
bindings defines the list of workload resources (Prometheus, PrometheusAgent, ThanosRuler or Alertmanager) which select the configuration resource.
conditions []object
conditions defines the current state of the configuration resource when bound to the referenced Workload object.
lastTransitionTime
string required
lastTransitionTime defines the time of the last update to the current status property.
format:
date-time
message
string
message defines the human-readable message indicating details for the condition's last transition.
observedGeneration
integer
observedGeneration defines the .metadata.generation that the
condition was set based upon. For instance, if `.metadata.generation` is
currently 12, but the `.status.conditions[].observedGeneration` is 9, the
condition is out of date with respect to the current state of the object.
format:
int64
reason
string
reason for the condition's last transition.
status
string required
status of the condition.
minLength:
1
type
string required
type of the condition being reported.
Currently, only "Accepted" is supported.
enum:
AcceptedminLength:
1
group
string required
group defines the group of the referenced resource.
enum:
monitoring.coreos.com
name
string required
name defines the name of the referenced object.
minLength:
1
namespace
string required
namespace defines the namespace of the referenced object.
minLength:
1
resource
string required
resource defines the type of resource being referenced (e.g. Prometheus, PrometheusAgent, ThanosRuler or Alertmanager).
enum:
prometheuses, prometheusagents, thanosrulers, alertmanagersNo matches. Try .spec.groups for an exact path