Created
December 27, 2022 07:53
-
-
Save wirwolf/f49277951fde37c282d431e5f340c074 to your computer and use it in GitHub Desktop.
prom error
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: monitoring.coreos.com/v1 | |
kind: Prometheus | |
metadata: | |
annotations: | |
meta.helm.sh/release-name: rancher-monitoring | |
meta.helm.sh/release-namespace: cattle-monitoring-system | |
creationTimestamp: '2022-12-20T12:02:36Z' | |
generation: 3 | |
labels: | |
app: rancher-monitoring-prometheus | |
app.kubernetes.io/instance: rancher-monitoring | |
app.kubernetes.io/managed-by: Helm | |
app.kubernetes.io/part-of: rancher-monitoring | |
app.kubernetes.io/version: 42.1.0 | |
chart: kube-prometheus-stack-42.1.0 | |
heritage: Helm | |
release: rancher-monitoring | |
managedFields: | |
- apiVersion: monitoring.coreos.com/v1 | |
fieldsType: FieldsV1 | |
fieldsV1: | |
f:metadata: | |
f:annotations: | |
.: {} | |
f:meta.helm.sh/release-name: {} | |
f:meta.helm.sh/release-namespace: {} | |
f:labels: | |
.: {} | |
f:app: {} | |
f:app.kubernetes.io/instance: {} | |
f:app.kubernetes.io/managed-by: {} | |
f:app.kubernetes.io/part-of: {} | |
f:app.kubernetes.io/version: {} | |
f:chart: {} | |
f:heritage: {} | |
f:release: {} | |
f:spec: | |
.: {} | |
f:alerting: | |
.: {} | |
f:alertmanagers: {} | |
f:containers: {} | |
f:enableAdminAPI: {} | |
f:evaluationInterval: {} | |
f:externalUrl: {} | |
f:hostNetwork: {} | |
f:image: {} | |
f:listenLocal: {} | |
f:logFormat: {} | |
f:logLevel: {} | |
f:paused: {} | |
f:podMonitorNamespaceSelector: {} | |
f:podMonitorSelector: {} | |
f:portName: {} | |
f:probeNamespaceSelector: {} | |
f:probeSelector: {} | |
f:replicas: {} | |
f:retention: {} | |
f:retentionSize: {} | |
f:routePrefix: {} | |
f:ruleNamespaceSelector: {} | |
f:ruleSelector: {} | |
f:scrapeInterval: {} | |
f:securityContext: | |
.: {} | |
f:fsGroup: {} | |
f:runAsGroup: {} | |
f:runAsNonRoot: {} | |
f:runAsUser: {} | |
f:serviceAccountName: {} | |
f:serviceMonitorNamespaceSelector: {} | |
f:serviceMonitorSelector: {} | |
f:shards: {} | |
f:version: {} | |
f:volumes: {} | |
f:walCompression: {} | |
manager: helm | |
operation: Update | |
time: '2022-12-20T12:02:36Z' | |
- apiVersion: monitoring.coreos.com/v1 | |
fieldsType: FieldsV1 | |
fieldsV1: | |
f:status: | |
.: {} | |
f:availableReplicas: {} | |
f:conditions: | |
.: {} | |
k:{"type":"Available"}: | |
.: {} | |
f:lastTransitionTime: {} | |
f:observedGeneration: {} | |
f:status: {} | |
f:type: {} | |
k:{"type":"Reconciled"}: | |
.: {} | |
f:lastTransitionTime: {} | |
f:observedGeneration: {} | |
f:status: {} | |
f:type: {} | |
f:paused: {} | |
f:replicas: {} | |
f:shardStatuses: | |
.: {} | |
k:{"shardID":"0"}: | |
.: {} | |
f:availableReplicas: {} | |
f:replicas: {} | |
f:shardID: {} | |
f:unavailableReplicas: {} | |
f:updatedReplicas: {} | |
f:unavailableReplicas: {} | |
f:updatedReplicas: {} | |
manager: PrometheusOperator | |
operation: Update | |
time: '2022-12-26T14:37:47Z' | |
name: rancher-monitoring-prometheus | |
namespace: cattle-monitoring-system | |
resourceVersion: '96326800' | |
uid: 88f491b0-fbb9-412f-b622-214c3faf6ee7 | |
selfLink: >- | |
/apis/monitoring.coreos.com/v1/namespaces/cattle-monitoring-system/prometheuses/rancher-monitoring-prometheus | |
status: | |
availableReplicas: 1 | |
conditions: | |
- lastTransitionTime: '2022-12-26T14:37:47Z' | |
observedGeneration: 3 | |
status: 'True' | |
type: Available | |
- lastTransitionTime: '2022-12-20T12:02:40Z' | |
observedGeneration: 3 | |
status: 'True' | |
type: Reconciled | |
paused: false | |
replicas: 1 | |
shardStatuses: | |
- availableReplicas: 1 | |
replicas: 1 | |
shardID: '0' | |
unavailableReplicas: 0 | |
updatedReplicas: 1 | |
unavailableReplicas: 0 | |
updatedReplicas: 1 | |
spec: | |
alerting: | |
alertmanagers: | |
- apiVersion: v2 | |
name: rancher-monitoring-alertmanager | |
namespace: cattle-monitoring-system | |
pathPrefix: / | |
port: http-web | |
containers: | |
- args: | |
- nginx | |
- '-g' | |
- daemon off; | |
- '-c' | |
- /nginx/nginx.conf | |
image: rancher/mirrored-library-nginx:1.21.1-alpine | |
name: prometheus-proxy | |
ports: | |
- containerPort: 8081 | |
name: nginx-http | |
protocol: TCP | |
securityContext: | |
runAsGroup: 101 | |
runAsUser: 101 | |
volumeMounts: | |
- mountPath: /nginx | |
name: prometheus-nginx | |
- mountPath: /var/cache/nginx | |
name: nginx-home | |
enableAdminAPI: false | |
evaluationInterval: 30s | |
externalUrl: http://rancher-monitoring-prometheus.cattle-monitoring-system:9090 | |
hostNetwork: false | |
image: quay.io/prometheus/prometheus:v2.39.1 | |
listenLocal: false | |
logFormat: logfmt | |
logLevel: info | |
paused: false | |
podMonitorNamespaceSelector: {} | |
podMonitorSelector: {} | |
portName: http-web | |
probeNamespaceSelector: {} | |
probeSelector: {} | |
replicas: 1 | |
retention: 10d | |
retentionSize: 39GiB | |
routePrefix: / | |
ruleNamespaceSelector: {} | |
ruleSelector: {} | |
scrapeInterval: 30s | |
securityContext: | |
fsGroup: 2000 | |
runAsGroup: 2000 | |
runAsNonRoot: true | |
runAsUser: 1000 | |
serviceAccountName: rancher-monitoring-prometheus | |
serviceMonitorNamespaceSelector: {} | |
serviceMonitorSelector: {} | |
shards: 1 | |
version: v2.39.1 | |
volumes: | |
- emptyDir: {} | |
name: nginx-home | |
- configMap: | |
defaultMode: 438 | |
name: prometheus-nginx-proxy-config | |
name: prometheus-nginx | |
walCompression: true |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## Deploy a Prometheus instance | |
## | |
prometheus: | |
enabled: true | |
## Annotations for Prometheus | |
## | |
annotations: {} | |
## Service account for Prometheuses to use. | |
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ | |
## | |
serviceAccount: | |
create: true | |
name: "" | |
annotations: {} | |
# Service for thanos service discovery on sidecar | |
# Enable this can make Thanos Query can use | |
# `--store=dnssrv+_grpc._tcp.${kube-prometheus-stack.fullname}-thanos-discovery.${namespace}.svc.cluster.local` to discovery | |
# Thanos sidecar on prometheus nodes | |
# (Please remember to change ${kube-prometheus-stack.fullname} and ${namespace}. Not just copy and paste!) | |
thanosService: | |
enabled: false | |
annotations: {} | |
labels: {} | |
## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints | |
## | |
externalTrafficPolicy: Cluster | |
## Service type | |
## | |
type: ClusterIP | |
## gRPC port config | |
portName: grpc | |
port: 10901 | |
targetPort: "grpc" | |
## HTTP port config (for metrics) | |
httpPortName: http | |
httpPort: 10902 | |
targetHttpPort: "http" | |
## ClusterIP to assign | |
# Default is to make this a headless service ("None") | |
clusterIP: "None" | |
## Port to expose on each node, if service type is NodePort | |
## | |
nodePort: 30901 | |
httpNodePort: 30902 | |
# ServiceMonitor to scrape Sidecar metrics | |
# Needs thanosService to be enabled as well | |
thanosServiceMonitor: | |
enabled: false | |
interval: "" | |
## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS. | |
scheme: "" | |
## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS. | |
## Of type: https://github.com/coreos/prometheus-operator/blob/main/Documentation/api.md#tlsconfig | |
tlsConfig: {} | |
bearerTokenFile: | |
## Metric relabel configs to apply to samples before ingestion. | |
metricRelabelings: [] | |
## relabel configs to apply to samples before ingestion. | |
relabelings: [] | |
# Service for external access to sidecar | |
# Enabling this creates a service to expose thanos-sidecar outside the cluster. | |
thanosServiceExternal: | |
enabled: false | |
annotations: {} | |
labels: {} | |
loadBalancerIP: "" | |
loadBalancerSourceRanges: [] | |
## gRPC port config | |
portName: grpc | |
port: 10901 | |
targetPort: "grpc" | |
## HTTP port config (for metrics) | |
httpPortName: http | |
httpPort: 10902 | |
targetHttpPort: "http" | |
## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints | |
## | |
externalTrafficPolicy: Cluster | |
## Service type | |
## | |
type: LoadBalancer | |
## Port to expose on each node | |
## | |
nodePort: 30901 | |
httpNodePort: 30902 | |
## Configuration for Prometheus service | |
## | |
service: | |
annotations: {} | |
labels: {} | |
clusterIP: "" | |
## Port for Prometheus Service to listen on | |
## | |
port: 9090 | |
## To be used with a proxy extraContainer port | |
targetPort: 8081 | |
## List of IP addresses at which the Prometheus server service is available | |
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips | |
## | |
externalIPs: [] | |
## Port to expose on each node | |
## Only used if service.type is 'NodePort' | |
## | |
nodePort: 30090 | |
## Loadbalancer IP | |
## Only use if service.type is "LoadBalancer" | |
loadBalancerIP: "" | |
loadBalancerSourceRanges: [] | |
## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints | |
## | |
externalTrafficPolicy: Cluster | |
## Service type | |
## | |
type: ClusterIP | |
## Additional port to define in the Service | |
additionalPorts: [] | |
# additionalPorts: | |
# - name: authenticated | |
# port: 8081 | |
# targetPort: 8081 | |
## Consider that all endpoints are considered "ready" even if the Pods themselves are not | |
## Ref: https://kubernetes.io/docs/reference/kubernetes-api/service-resources/service-v1/#ServiceSpec | |
publishNotReadyAddresses: false | |
sessionAffinity: "" | |
## Configuration for creating a separate Service for each statefulset Prometheus replica | |
## | |
servicePerReplica: | |
enabled: false | |
annotations: {} | |
## Port for Prometheus Service per replica to listen on | |
## | |
port: 9090 | |
## To be used with a proxy extraContainer port | |
targetPort: 9090 | |
## Port to expose on each node | |
## Only used if servicePerReplica.type is 'NodePort' | |
## | |
nodePort: 30091 | |
## Loadbalancer source IP ranges | |
## Only used if servicePerReplica.type is "LoadBalancer" | |
loadBalancerSourceRanges: [] | |
## Denotes if this Service desires to route external traffic to node-local or cluster-wide endpoints | |
## | |
externalTrafficPolicy: Cluster | |
## Service type | |
## | |
type: ClusterIP | |
## Configure pod disruption budgets for Prometheus | |
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/#specifying-a-poddisruptionbudget | |
## This configuration is immutable once created and will require the PDB to be deleted to be changed | |
## https://github.com/kubernetes/kubernetes/issues/45398 | |
## | |
podDisruptionBudget: | |
enabled: false | |
minAvailable: 1 | |
maxUnavailable: "" | |
# Ingress exposes thanos sidecar outside the cluster | |
thanosIngress: | |
enabled: false | |
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName | |
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress | |
# ingressClassName: nginx | |
annotations: {} | |
labels: {} | |
servicePort: 10901 | |
## Port to expose on each node | |
## Only used if service.type is 'NodePort' | |
## | |
nodePort: 30901 | |
## Hosts must be provided if Ingress is enabled. | |
## | |
hosts: [] | |
# - thanos-gateway.domain.com | |
## Paths to use for ingress rules | |
## | |
paths: [] | |
# - / | |
## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched) | |
## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types | |
# pathType: ImplementationSpecific | |
## TLS configuration for Thanos Ingress | |
## Secret must be manually created in the namespace | |
## | |
tls: [] | |
# - secretName: thanos-gateway-tls | |
# hosts: | |
# - thanos-gateway.domain.com | |
# | |
## ExtraSecret can be used to store various data in an extra secret | |
## (use it for example to store hashed basic auth credentials) | |
extraSecret: | |
## if not set, name will be auto generated | |
# name: "" | |
annotations: {} | |
data: {} | |
# auth: | | |
# foo:$apr1$OFG3Xybp$ckL0FHDAkoXYIlH9.cysT0 | |
# someoneelse:$apr1$DMZX2Z4q$6SbQIfyuLQd.xmo/P0m2c. | |
ingress: | |
enabled: false | |
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName | |
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress | |
# ingressClassName: nginx | |
annotations: {} | |
labels: {} | |
## Redirect ingress to an additional defined port on the service | |
# servicePort: 8081 | |
## Hostnames. | |
## Must be provided if Ingress is enabled. | |
## | |
# hosts: | |
# - prometheus.domain.com | |
hosts: [] | |
# - prometheus-cattle-monitoring-system | |
## Paths to use for ingress rules - one path should match the prometheusSpec.routePrefix | |
## | |
paths: [] | |
# - / | |
## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched) | |
## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types | |
# pathType: ImplementationSpecific | |
## TLS configuration for Prometheus Ingress | |
## Secret must be manually created in the namespace | |
## | |
tls: [] | |
# - secretName: prometheus-ingress-tls | |
# hosts: | |
# - prometheus-cattle-monitoring-system. | |
## Configuration for creating an Ingress that will map to each Prometheus replica service | |
## prometheus.servicePerReplica must be enabled | |
## | |
ingressPerReplica: | |
enabled: false | |
# For Kubernetes >= 1.18 you should specify the ingress-controller via the field ingressClassName | |
# See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#specifying-the-class-of-an-ingress | |
# ingressClassName: nginx | |
annotations: {} | |
labels: {} | |
## Final form of the hostname for each per replica ingress is | |
## {{ ingressPerReplica.hostPrefix }}-{{ $replicaNumber }}.{{ ingressPerReplica.hostDomain }} | |
## | |
## Prefix for the per replica ingress that will have `-$replicaNumber` | |
## appended to the end | |
hostPrefix: "" | |
## Domain that will be used for the per replica ingress | |
hostDomain: "" | |
## Paths to use for ingress rules | |
## | |
paths: [] | |
# - / | |
## For Kubernetes >= 1.18 you should specify the pathType (determines how Ingress paths should be matched) | |
## See https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#better-path-matching-with-path-types | |
# pathType: ImplementationSpecific | |
## Secret name containing the TLS certificate for Prometheus per replica ingress | |
## Secret must be manually created in the namespace | |
tlsSecretName: "" | |
## Separated secret for each per replica Ingress. Can be used together with cert-manager | |
## | |
tlsSecretPerReplica: | |
enabled: false | |
## Final form of the secret for each per replica ingress is | |
## {{ tlsSecretPerReplica.prefix }}-{{ $replicaNumber }} | |
## | |
prefix: "prometheus" | |
## Configure additional options for default pod security policy for Prometheus | |
## ref: https://kubernetes.io/docs/concepts/policy/pod-security-policy/ | |
podSecurityPolicy: | |
allowedCapabilities: [] | |
allowedHostPaths: [] | |
volumes: [] | |
serviceMonitor: | |
## Scrape interval. If not set, the Prometheus default scrape interval is used. | |
## | |
interval: "" | |
selfMonitor: true | |
## scheme: HTTP scheme to use for scraping. Can be used with `tlsConfig` for example if using istio mTLS. | |
scheme: "" | |
## tlsConfig: TLS configuration to use when scraping the endpoint. For example if using istio mTLS. | |
## Of type: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#tlsconfig | |
tlsConfig: {} | |
bearerTokenFile: | |
## Metric relabel configs to apply to samples before ingestion. | |
## | |
metricRelabelings: [] | |
# - action: keep | |
# regex: 'kube_(daemonset|deployment|pod|namespace|node|statefulset).+' | |
# sourceLabels: [__name__] | |
# relabel configs to apply to samples before ingestion. | |
## | |
relabelings: [] | |
# - sourceLabels: [__meta_kubernetes_pod_node_name] | |
# separator: ; | |
# regex: ^(.*)$ | |
# targetLabel: nodename | |
# replacement: $1 | |
# action: replace | |
## Settings affecting prometheusSpec | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#prometheusspec | |
## | |
prometheusSpec: | |
## If true, pass --storage.tsdb.max-block-duration=2h to prometheus. This is already done if using Thanos | |
## | |
disableCompaction: false | |
## APIServerConfig | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#apiserverconfig | |
## | |
apiserverConfig: {} | |
## Allows setting additional arguments for the Prometheus container | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#monitoring.coreos.com/v1.Prometheus | |
additionalArgs: [] | |
## Interval between consecutive scrapes. | |
## Defaults to 30s. | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/release-0.44/pkg/prometheus/promcfg.go#L180-L183 | |
## | |
scrapeInterval: "" | |
## Number of seconds to wait for target to respond before erroring | |
## | |
scrapeTimeout: "" | |
## Interval between consecutive evaluations. | |
## | |
evaluationInterval: 1m | |
## ListenLocal makes the Prometheus server listen on loopback, so that it does not bind against the Pod IP. | |
## | |
listenLocal: false | |
## EnableAdminAPI enables Prometheus the administrative HTTP API which includes functionality such as deleting time series. | |
## This is disabled by default. | |
## ref: https://prometheus.io/docs/prometheus/latest/querying/api/#tsdb-admin-apis | |
## | |
enableAdminAPI: false | |
## WebTLSConfig defines the TLS parameters for HTTPS | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#webtlsconfig | |
web: {} | |
## Exemplars related settings that are runtime reloadable. | |
## It requires to enable the exemplar storage feature to be effective. | |
exemplars: "" | |
## Maximum number of exemplars stored in memory for all series. | |
## If not set, Prometheus uses its default value. | |
## A value of zero or less than zero disables the storage. | |
# maxSize: 100000 | |
# EnableFeatures API enables access to Prometheus disabled features. | |
# ref: https://prometheus.io/docs/prometheus/latest/disabled_features/ | |
enableFeatures: [] | |
# - exemplar-storage | |
## Image of Prometheus. | |
## | |
image: | |
registry: quay.io | |
repository: prometheus/prometheus | |
tag: v2.41.0 | |
sha: "" | |
## Tolerations for use with node taints | |
## ref: https://kubernetes.io/docs/concepts/configuration/taint-and-toleration/ | |
## | |
tolerations: [] | |
# - key: "key" | |
# operator: "Equal" | |
# value: "value" | |
# effect: "NoSchedule" | |
## If specified, the pod's topology spread constraints. | |
## ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ | |
## | |
topologySpreadConstraints: [] | |
# - maxSkew: 1 | |
# topologyKey: topology.kubernetes.io/zone | |
# whenUnsatisfiable: DoNotSchedule | |
# labelSelector: | |
# matchLabels: | |
# app: prometheus | |
## Alertmanagers to which alerts will be sent | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#alertmanagerendpoints | |
## | |
## Default configuration will connect to the alertmanager deployed as part of this release | |
## | |
alertingEndpoints: [] | |
# - name: "" | |
# namespace: "" | |
# port: http | |
# scheme: http | |
# pathPrefix: "" | |
# tlsConfig: {} | |
# bearerTokenFile: "" | |
# apiVersion: v2 | |
## External labels to add to any time series or alerts when communicating with external systems | |
## | |
externalLabels: {} | |
## enable --web.enable-remote-write-receiver flag on prometheus-server | |
## | |
enableRemoteWriteReceiver: false | |
## Name of the external label used to denote replica name | |
## | |
replicaExternalLabelName: "" | |
## If true, the Operator won't add the external label used to denote replica name | |
## | |
replicaExternalLabelNameClear: false | |
## Name of the external label used to denote Prometheus instance name | |
## | |
prometheusExternalLabelName: "" | |
## If true, the Operator won't add the external label used to denote Prometheus instance name | |
## | |
prometheusExternalLabelNameClear: false | |
## External URL at which Prometheus will be reachable. | |
## | |
externalUrl: "" | |
## Define which Nodes the Pods are scheduled on. | |
## ref: https://kubernetes.io/docs/user-guide/node-selection/ | |
## | |
nodeSelector: {} | |
## Secrets is a list of Secrets in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. | |
## The Secrets are mounted into /etc/prometheus/secrets/. Secrets changes after initial creation of a Prometheus object are not | |
## reflected in the running Pods. To change the secrets mounted into the Prometheus Pods, the object must be deleted and recreated | |
## with the new list of secrets. | |
## | |
secrets: [] | |
## ConfigMaps is a list of ConfigMaps in the same namespace as the Prometheus object, which shall be mounted into the Prometheus Pods. | |
## The ConfigMaps are mounted into /etc/prometheus/configmaps/. | |
## | |
configMaps: [] | |
## QuerySpec defines the query command line flags when starting Prometheus. | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#queryspec | |
## | |
query: {} | |
## Namespaces to be selected for PrometheusRules discovery. | |
## If nil, select own namespace. Namespaces to be selected for ServiceMonitor discovery. | |
## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector for usage | |
## | |
ruleNamespaceSelector: {} | |
## If true, a nil or {} value for prometheus.prometheusSpec.ruleSelector will cause the | |
## prometheus resource to be created with selectors based on values in the helm deployment, | |
## which will also match the PrometheusRule resources created | |
## | |
ruleSelectorNilUsesHelmValues: false | |
## PrometheusRules to be selected for target discovery. | |
## If {}, select all PrometheusRules | |
## | |
ruleSelector: {} | |
## Example which select all PrometheusRules resources | |
## with label "prometheus" with values any of "example-rules" or "example-rules-2" | |
# ruleSelector: | |
# matchExpressions: | |
# - key: prometheus | |
# operator: In | |
# values: | |
# - example-rules | |
# - example-rules-2 | |
# | |
## Example which select all PrometheusRules resources with label "role" set to "example-rules" | |
# ruleSelector: | |
# matchLabels: | |
# role: example-rules | |
## If true, a nil or {} value for prometheus.prometheusSpec.serviceMonitorSelector will cause the | |
## prometheus resource to be created with selectors based on values in the helm deployment, | |
## which will also match the servicemonitors created | |
## | |
serviceMonitorSelectorNilUsesHelmValues: false | |
## ServiceMonitors to be selected for target discovery. | |
## If {}, select all ServiceMonitors | |
## | |
serviceMonitorSelector: {} | |
## Example which selects ServiceMonitors with label "prometheus" set to "somelabel" | |
# serviceMonitorSelector: | |
# matchLabels: | |
# prometheus: somelabel | |
## Namespaces to be selected for ServiceMonitor discovery. | |
## | |
serviceMonitorNamespaceSelector: {} | |
## Example which selects ServiceMonitors in namespaces with label "prometheus" set to "somelabel" | |
# serviceMonitorNamespaceSelector: | |
# matchLabels: | |
# prometheus: somelabel | |
## If true, a nil or {} value for prometheus.prometheusSpec.podMonitorSelector will cause the | |
## prometheus resource to be created with selectors based on values in the helm deployment, | |
## which will also match the podmonitors created | |
## | |
podMonitorSelectorNilUsesHelmValues: false | |
## PodMonitors to be selected for target discovery. | |
## If {}, select all PodMonitors | |
## | |
podMonitorSelector: {} | |
## Example which selects PodMonitors with label "prometheus" set to "somelabel" | |
# podMonitorSelector: | |
# matchLabels: | |
# prometheus: somelabel | |
## Namespaces to be selected for PodMonitor discovery. | |
## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector for usage | |
## | |
podMonitorNamespaceSelector: {} | |
## If true, a nil or {} value for prometheus.prometheusSpec.probeSelector will cause the | |
## prometheus resource to be created with selectors based on values in the helm deployment, | |
## which will also match the probes created | |
## | |
probeSelectorNilUsesHelmValues: true | |
## Probes to be selected for target discovery. | |
## If {}, select all Probes | |
## | |
probeSelector: {} | |
## Example which selects Probes with label "prometheus" set to "somelabel" | |
# probeSelector: | |
# matchLabels: | |
# prometheus: somelabel | |
## Namespaces to be selected for Probe discovery. | |
## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#namespaceselector for usage | |
## | |
probeNamespaceSelector: {} | |
## How long to retain metrics | |
## | |
retention: 10d | |
## Maximum size of metrics | |
## | |
retentionSize: 39GiB | |
## Enable compression of the write-ahead log using Snappy. | |
## | |
walCompression: true | |
## If true, the Operator won't process any Prometheus configuration changes | |
## | |
paused: false | |
## Number of replicas of each shard to deploy for a Prometheus deployment. | |
## Number of replicas multiplied by shards is the total number of Pods created. | |
## | |
replicas: 1 | |
## EXPERIMENTAL: Number of shards to distribute targets onto. | |
## Number of replicas multiplied by shards is the total number of Pods created. | |
## Note that scaling down shards will not reshard data onto remaining instances, it must be manually moved. | |
## Increasing shards will not reshard data either but it will continue to be available from the same instances. | |
## To query globally use Thanos sidecar and Thanos querier or remote write data to a central location. | |
## Sharding is done on the content of the `__address__` target meta-label. | |
## | |
shards: 1 | |
## Log level for Prometheus be configured in | |
## | |
logLevel: info | |
## Log format for Prometheus be configured in | |
## | |
logFormat: logfmt | |
## Prefix used to register routes, overriding externalUrl route. | |
## Useful for proxies that rewrite URLs. | |
## | |
routePrefix: / | |
## Standard object's metadata. More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata | |
## Metadata Labels and Annotations gets propagated to the prometheus pods. | |
## | |
podMetadata: {} | |
# labels: | |
# app: prometheus | |
# k8s-app: prometheus | |
## Pod anti-affinity can prevent the scheduler from placing Prometheus replicas on the same node. | |
## The default value "soft" means that the scheduler should *prefer* to not schedule two replica pods onto the same node but no guarantee is provided. | |
## The value "hard" means that the scheduler is *required* to not schedule two replica pods onto the same node. | |
## The value "" will disable pod anti-affinity so that no anti-affinity rules will be configured. | |
podAntiAffinity: "" | |
## If anti-affinity is enabled sets the topologyKey to use for anti-affinity. | |
## This can be changed to, for example, failure-domain.beta.kubernetes.io/zone | |
## | |
podAntiAffinityTopologyKey: kubernetes.io/hostname | |
## Assign custom affinity rules to the prometheus instance | |
## ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ | |
## | |
affinity: {} | |
# nodeAffinity: | |
# requiredDuringSchedulingIgnoredDuringExecution: | |
# nodeSelectorTerms: | |
# - matchExpressions: | |
# - key: kubernetes.io/e2e-az-name | |
# operator: In | |
# values: | |
# - e2e-az1 | |
# - e2e-az2 | |
## The remote_read spec configuration for Prometheus. | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#remotereadspec | |
remoteRead: [] | |
# - url: http://remote1/read | |
## additionalRemoteRead is appended to remoteRead | |
additionalRemoteRead: [] | |
## The remote_write spec configuration for Prometheus. | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#remotewritespec | |
remoteWrite: [] | |
# - url: http://remote1/push | |
## additionalRemoteWrite is appended to remoteWrite | |
additionalRemoteWrite: [] | |
## Enable/Disable Grafana dashboards provisioning for prometheus remote write feature | |
remoteWriteDashboards: false | |
## Resource limits & requests | |
## | |
resources: {} | |
# requests: | |
# memory: 400Mi | |
## Prometheus StorageSpec for persistent data | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/user-guides/storage.md | |
## | |
# storageSpec: | |
# volumeClaimTemplate: | |
# spec: | |
# accessModes: | |
# - ReadWriteOnce | |
# resources: | |
# requests: | |
# storage: 40Gi | |
# volumeMode: Filesystem | |
# storageClassName: longhorn-local | |
## Using PersistentVolumeClaim | |
## | |
# volumeClaimTemplate: | |
# spec: | |
# storageClassName: gluster | |
# accessModes: ["ReadWriteOnce"] | |
# resources: | |
# requests: | |
# storage: 50Gi | |
# selector: {} | |
## Using tmpfs volume | |
## | |
# emptyDir: | |
# medium: Memory | |
# Additional volumes on the output StatefulSet definition. | |
volumes: | |
- name: nginx-home | |
emptyDir: {} | |
- name: prometheus-nginx | |
configMap: | |
name: prometheus-nginx-proxy-config | |
defaultMode: 438 | |
# Additional VolumeMounts on the output StatefulSet definition. | |
volumeMounts: [] | |
## AdditionalScrapeConfigs allows specifying additional Prometheus scrape configurations. Scrape configurations | |
## are appended to the configurations generated by the Prometheus Operator. Job configurations must have the form | |
## as specified in the official Prometheus documentation: | |
## https://prometheus.io/docs/prometheus/latest/configuration/configuration/#scrape_config. As scrape configs are | |
## appended, the user is responsible to make sure it is valid. Note that using this feature may expose the possibility | |
## to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible | |
## scrape configs are going to break Prometheus after the upgrade. | |
## AdditionalScrapeConfigs can be defined as a list or as a templated string. | |
## | |
## The scrape configuration example below will find master nodes, provided they have the name .*mst.*, relabel the | |
## port to 2379 and allow etcd scraping provided it is running on all Kubernetes master nodes | |
## | |
additionalScrapeConfigs: [] | |
# - job_name: kube-etcd | |
# kubernetes_sd_configs: | |
# - role: node | |
# scheme: https | |
# tls_config: | |
# ca_file: /etc/prometheus/secrets/etcd-client-cert/etcd-ca | |
# cert_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client | |
# key_file: /etc/prometheus/secrets/etcd-client-cert/etcd-client-key | |
# relabel_configs: | |
# - action: labelmap | |
# regex: __meta_kubernetes_node_label_(.+) | |
# - source_labels: [__address__] | |
# action: replace | |
# targetLabel: __address__ | |
# regex: ([^:;]+):(\d+) | |
# replacement: ${1}:2379 | |
# - source_labels: [__meta_kubernetes_node_name] | |
# action: keep | |
# regex: .*mst.* | |
# - source_labels: [__meta_kubernetes_node_name] | |
# action: replace | |
# targetLabel: node | |
# regex: (.*) | |
# replacement: ${1} | |
# metric_relabel_configs: | |
# - regex: (kubernetes_io_hostname|failure_domain_beta_kubernetes_io_region|beta_kubernetes_io_os|beta_kubernetes_io_arch|beta_kubernetes_io_instance_type|failure_domain_beta_kubernetes_io_zone) | |
# action: labeldrop | |
# | |
## If scrape config contains a repetitive section, you may want to use a template. | |
## In the following example, you can see how to define `gce_sd_configs` for multiple zones | |
# additionalScrapeConfigs: | | |
# - job_name: "node-exporter" | |
# gce_sd_configs: | |
# {{range $zone := .Values.gcp_zones}} | |
# - project: "project1" | |
# zone: "{{$zone}}" | |
# port: 9100 | |
# {{end}} | |
# relabel_configs: | |
# ... | |
## If additional scrape configurations are already deployed in a single secret file you can use this section. | |
## Expected values are the secret name and key | |
## Cannot be used with additionalScrapeConfigs | |
additionalScrapeConfigsSecret: {} | |
# enabled: false | |
# name: | |
# key: | |
## additionalPrometheusSecretsAnnotations allows to add annotations to the kubernetes secret. This can be useful | |
## when deploying via spinnaker to disable versioning on the secret, strategy.spinnaker.io/versioned: 'false' | |
additionalPrometheusSecretsAnnotations: {} | |
## AdditionalAlertManagerConfigs allows for manual configuration of alertmanager jobs in the form as specified | |
## in the official Prometheus documentation https://prometheus.io/docs/prometheus/latest/configuration/configuration/#<alertmanager_config>. | |
## AlertManager configurations specified are appended to the configurations generated by the Prometheus Operator. | |
## As AlertManager configs are appended, the user is responsible to make sure it is valid. Note that using this | |
## feature may expose the possibility to break upgrades of Prometheus. It is advised to review Prometheus release | |
## notes to ensure that no incompatible AlertManager configs are going to break Prometheus after the upgrade. | |
## | |
additionalAlertManagerConfigs: [] | |
# - consul_sd_configs: | |
# - server: consul.dev.test:8500 | |
# scheme: http | |
# datacenter: dev | |
# tag_separator: ',' | |
# services: | |
# - metrics-prometheus-alertmanager | |
## If additional alertmanager configurations are already deployed in a single secret, or you want to manage | |
## them separately from the helm deployment, you can use this section. | |
## Expected values are the secret name and key | |
## Cannot be used with additionalAlertManagerConfigs | |
additionalAlertManagerConfigsSecret: {} | |
# name: | |
# key: | |
# optional: false | |
## AdditionalAlertRelabelConfigs allows specifying Prometheus alert relabel configurations. Alert relabel configurations specified are appended | |
## to the configurations generated by the Prometheus Operator. Alert relabel configurations specified must have the form as specified in the | |
## official Prometheus documentation: https://prometheus.io/docs/prometheus/latest/configuration/configuration/#alert_relabel_configs. | |
## As alert relabel configs are appended, the user is responsible to make sure it is valid. Note that using this feature may expose the | |
## possibility to break upgrades of Prometheus. It is advised to review Prometheus release notes to ensure that no incompatible alert relabel | |
## configs are going to break Prometheus after the upgrade. | |
## | |
additionalAlertRelabelConfigs: [] | |
# - separator: ; | |
# regex: prometheus_replica | |
# replacement: $1 | |
# action: labeldrop | |
## If additional alert relabel configurations are already deployed in a single secret, or you want to manage | |
## them separately from the helm deployment, you can use this section. | |
## Expected values are the secret name and key | |
## Cannot be used with additionalAlertRelabelConfigs | |
additionalAlertRelabelConfigsSecret: {} | |
# name: | |
# key: | |
## SecurityContext holds pod-level security attributes and common container settings. | |
## This defaults to non root user with uid 1000 and gid 2000. | |
## https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md | |
## | |
securityContext: | |
runAsGroup: 2000 | |
runAsNonRoot: true | |
runAsUser: 1000 | |
fsGroup: 2000 | |
## Priority class assigned to the Pods | |
## | |
priorityClassName: "" | |
## Thanos configuration allows configuring various aspects of a Prometheus server in a Thanos environment. | |
## This section is experimental, it may change significantly without deprecation notice in any release. | |
## This is experimental and may change significantly without backward compatibility in any release. | |
## ref: https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#thanosspec | |
## | |
thanos: {} | |
# secretProviderClass: | |
# provider: gcp | |
# parameters: | |
# secrets: | | |
# - resourceName: "projects/$PROJECT_ID/secrets/testsecret/versions/latest" | |
# fileName: "objstore.yaml" | |
# objectStorageConfigFile: /var/secrets/object-store.yaml | |
## Containers allows injecting additional containers. This is meant to allow adding an authentication proxy to a Prometheus pod. | |
## if using proxy extraContainer update targetPort with proxy container port | |
containers: | |
- name: prometheus-proxy | |
args: | |
- nginx | |
- -g | |
- daemon off; | |
- -c | |
- /nginx/nginx.conf | |
image: rancher/mirrored-library-nginx:1.21.1-alpine | |
ports: | |
- containerPort: 8081 | |
name: nginx-http | |
protocol: TCP | |
volumeMounts: | |
- mountPath: /nginx | |
name: prometheus-nginx | |
- mountPath: /var/cache/nginx | |
name: nginx-home | |
securityContext: | |
runAsUser: 101 | |
runAsGroup: 101 | |
# containers: | |
# - name: oauth-proxy | |
# image: quay.io/oauth2-proxy/oauth2-proxy:v7.3.0 | |
# args: | |
# - --upstream=http://127.0.0.1:9093 | |
# - --http-address=0.0.0.0:8081 | |
# - ... | |
# ports: | |
# - containerPort: 8081 | |
# name: oauth-proxy | |
# protocol: TCP | |
# resources: {} | |
## InitContainers allows injecting additional initContainers. This is meant to allow doing some changes | |
## (permissions, dir tree) on mounted volumes before starting prometheus | |
initContainers: [] | |
## PortName to use for Prometheus. | |
## | |
portName: "http-web" | |
## ArbitraryFSAccessThroughSMs configures whether configuration based on a service monitor can access arbitrary files | |
## on the file system of the Prometheus container e.g. bearer token files. | |
arbitraryFSAccessThroughSMs: false | |
## OverrideHonorLabels if set to true overrides all user configured honor_labels. If HonorLabels is set in ServiceMonitor | |
## or PodMonitor to true, this overrides honor_labels to false. | |
overrideHonorLabels: false | |
## OverrideHonorTimestamps allows to globally enforce honoring timestamps in all scrape configs. | |
overrideHonorTimestamps: false | |
## IgnoreNamespaceSelectors if set to true will ignore NamespaceSelector settings from the podmonitor and servicemonitor | |
## configs, and they will only discover endpoints within their current namespace. Defaults to false. | |
ignoreNamespaceSelectors: false | |
## EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric that is user created. | |
## The label value will always be the namespace of the object that is being created. | |
## Disabled by default | |
enforcedNamespaceLabel: "" | |
## PrometheusRulesExcludedFromEnforce - list of prometheus rules to be excluded from enforcing of adding namespace labels. | |
## Works only if enforcedNamespaceLabel set to true. Make sure both ruleNamespace and ruleName are set for each pair | |
## Deprecated, use `excludedFromEnforcement` instead | |
prometheusRulesExcludedFromEnforce: [] | |
## ExcludedFromEnforcement - list of object references to PodMonitor, ServiceMonitor, Probe and PrometheusRule objects | |
## to be excluded from enforcing a namespace label of origin. | |
## Works only if enforcedNamespaceLabel set to true. | |
## See https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#objectreference | |
excludedFromEnforcement: [] | |
## QueryLogFile specifies the file to which PromQL queries are logged. Note that this location must be writable, | |
## and can be persisted using an attached volume. Alternatively, the location can be set to a stdout location such | |
## as /dev/stdout to log querie information to the default Prometheus log stream. This is only available in versions | |
## of Prometheus >= 2.16.0. For more details, see the Prometheus docs (https://prometheus.io/docs/guides/query-log/) | |
queryLogFile: false | |
## EnforcedSampleLimit defines global limit on number of scraped samples that will be accepted. This overrides any SampleLimit | |
## set per ServiceMonitor or/and PodMonitor. It is meant to be used by admins to enforce the SampleLimit to keep overall | |
## number of samples/series under the desired limit. Note that if SampleLimit is lower that value will be taken instead. | |
enforcedSampleLimit: false | |
## EnforcedTargetLimit defines a global limit on the number of scraped targets. This overrides any TargetLimit set | |
## per ServiceMonitor or/and PodMonitor. It is meant to be used by admins to enforce the TargetLimit to keep the overall | |
## number of targets under the desired limit. Note that if TargetLimit is lower, that value will be taken instead, except | |
## if either value is zero, in which case the non-zero value will be used. If both values are zero, no limit is enforced. | |
enforcedTargetLimit: false | |
## Per-scrape limit on number of labels that will be accepted for a sample. If more than this number of labels are present | |
## post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus versions | |
## 2.27.0 and newer. | |
enforcedLabelLimit: false | |
## Per-scrape limit on length of labels name that will be accepted for a sample. If a label name is longer than this number | |
## post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus versions | |
## 2.27.0 and newer. | |
enforcedLabelNameLengthLimit: false | |
## Per-scrape limit on length of labels value that will be accepted for a sample. If a label value is longer than this | |
## number post metric-relabeling, the entire scrape will be treated as failed. 0 means no limit. Only valid in Prometheus | |
## versions 2.27.0 and newer. | |
enforcedLabelValueLengthLimit: false | |
## AllowOverlappingBlocks enables vertical compaction and vertical query merge in Prometheus. This is still experimental | |
## in Prometheus so it may change in any upcoming release. | |
allowOverlappingBlocks: false | |
## Minimum number of seconds for which a newly created pod should be ready without any of its container crashing for it to | |
## be considered available. Defaults to 0 (pod will be considered available as soon as it is ready). | |
minReadySeconds: 0 | |
# Required for use in managed kubernetes clusters (such as AWS EKS) with custom CNI (such as calico), | |
# because control-plane managed by AWS cannot communicate with pods' IP CIDR and admission webhooks are not working | |
# Use the host's network namespace if true. Make sure to understand the security implications if you want to enable it. | |
# When hostNetwork is enabled, this will set dnsPolicy to ClusterFirstWithHostNet automatically. | |
hostNetwork: false | |
additionalRulesForClusterRole: [] | |
# - apiGroups: [ "" ] | |
# resources: | |
# - nodes/proxy | |
# verbs: [ "get", "list", "watch" ] | |
additionalServiceMonitors: [] | |
## Name of the ServiceMonitor to create | |
## | |
# - name: "" | |
## Additional labels to set used for the ServiceMonitorSelector. Together with standard labels from | |
## the chart | |
## | |
# additionalLabels: {} | |
## Service label for use in assembling a job name of the form <label value>-<port> | |
## If no label is specified, the service name is used. | |
## | |
# jobLabel: "" | |
## labels to transfer from the kubernetes service to the target | |
## | |
# targetLabels: [] | |
## labels to transfer from the kubernetes pods to the target | |
## | |
# podTargetLabels: [] | |
## Label selector for services to which this ServiceMonitor applies | |
## | |
# selector: {} | |
## Namespaces from which services are selected | |
## | |
# namespaceSelector: | |
## Match any namespace | |
## | |
# any: false | |
## Explicit list of namespace names to select | |
## Explicit list of namespace names to select | |
## | |
# matchNames: [] | |
## Endpoints of the selected service to be monitored | |
## | |
# endpoints: [] | |
## Name of the endpoint's service port | |
## Mutually exclusive with targetPort | |
# - port: "" | |
## Name or number of the endpoint's target port | |
## Mutually exclusive with port | |
# - targetPort: "" | |
## File containing bearer token to be used when scraping targets | |
## | |
# bearerTokenFile: "" | |
## Interval at which metrics should be scraped | |
## | |
# interval: 30s | |
## HTTP path to scrape for metrics | |
## | |
# path: /metrics | |
## HTTP scheme to use for scraping | |
## | |
# scheme: http | |
## TLS configuration to use when scraping the endpoint | |
## | |
# tlsConfig: | |
## Path to the CA file | |
## | |
# caFile: "" | |
## Path to client certificate file | |
## | |
# certFile: "" | |
## Skip certificate verification | |
## | |
# insecureSkipVerify: false | |
## Path to client key file | |
## | |
# keyFile: "" | |
## Server name used to verify host name | |
## | |
# serverName: "" | |
additionalPodMonitors: [] | |
## Name of the PodMonitor to create | |
## | |
# - name: "" | |
## Additional labels to set used for the PodMonitorSelector. Together with standard labels from | |
## the chart | |
## | |
# additionalLabels: {} | |
## Pod label for use in assembling a job name of the form <label value>-<port> | |
## If no label is specified, the pod endpoint name is used. | |
## | |
# jobLabel: "" | |
## Label selector for pods to which this PodMonitor applies | |
## | |
# selector: {} | |
## PodTargetLabels transfers labels on the Kubernetes Pod onto the target. | |
## | |
# podTargetLabels: {} | |
## SampleLimit defines per-scrape limit on number of scraped samples that will be accepted. | |
## | |
# sampleLimit: 0 | |
## Namespaces from which pods are selected | |
## | |
# namespaceSelector: | |
## Match any namespace | |
## | |
# any: false | |
## Explicit list of namespace names to select | |
## | |
# matchNames: [] | |
## Endpoints of the selected pods to be monitored | |
## https://github.com/prometheus-operator/prometheus-operator/blob/main/Documentation/api.md#podmetricsendpoint | |
## | |
# podMetricsEndpoints: [] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment