357 lines
10 KiB
YAML
357 lines
10 KiB
YAML
# Default values for victoria-metrics-alert.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: true
|
|
# Annotations to add to the service account
|
|
annotations: {}
|
|
# The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name:
|
|
# mount API token to pod directly
|
|
automountToken: true
|
|
|
|
imagePullSecrets: []
|
|
|
|
rbac:
|
|
create: true
|
|
# Note: The PSP will only be deployed, if Kubernetes (<1.25) supports the resource.
|
|
pspEnabled: true
|
|
namespaced: false
|
|
extraLabels: {}
|
|
annotations: {}
|
|
|
|
server:
|
|
name: server
|
|
enabled: true
|
|
image:
|
|
repository: victoriametrics/vmalert
|
|
tag: "" # rewrites Chart.AppVersion
|
|
pullPolicy: IfNotPresent
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
## See `kubectl explain poddisruptionbudget.spec` for more
|
|
## ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
|
|
podDisruptionBudget:
|
|
enabled: false
|
|
# minAvailable: 1
|
|
# maxUnavailable: 1
|
|
labels: {}
|
|
|
|
# -- Additional environment variables (ex.: secret tokens, flags) https://github.com/VictoriaMetrics/VictoriaMetrics#environment-variables
|
|
env:
|
|
[]
|
|
# - name: VM_remoteWrite_basicAuth_password
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: auth_secret
|
|
# key: password
|
|
|
|
replicaCount: 1
|
|
|
|
# deployment strategy, set to standard k8s default
|
|
strategy:
|
|
type: RollingUpdate
|
|
rollingUpdate:
|
|
maxSurge: 25%
|
|
maxUnavailable: 25%
|
|
|
|
# specifies the minimum number of seconds for which a newly created Pod should be ready without any of its containers crashing/terminating
|
|
# 0 is the standard k8s default
|
|
minReadySeconds: 0
|
|
|
|
# vmalert reads metrics from source, next section represents its configuration. It can be any service which supports
|
|
# MetricsQL or PromQL.
|
|
datasource:
|
|
url: ""
|
|
# -- Basic auth for datasource
|
|
basicAuth:
|
|
username: ""
|
|
password: ""
|
|
# -- Auth based on Bearer token for datasource
|
|
bearer:
|
|
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
|
token: ""
|
|
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
|
tokenFile: ""
|
|
|
|
remote:
|
|
write:
|
|
url: ""
|
|
# -- Basic auth for remote write
|
|
basicAuth:
|
|
username: ""
|
|
password: ""
|
|
# -- Auth based on Bearer token for remote write
|
|
bearer:
|
|
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
|
token: ""
|
|
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
|
tokenFile: ""
|
|
read:
|
|
url: ""
|
|
# -- Basic auth for remote read
|
|
basicAuth:
|
|
username: ""
|
|
password: ""
|
|
# -- Auth based on Bearer token for remote read
|
|
bearer:
|
|
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
|
token: ""
|
|
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
|
tokenFile: ""
|
|
|
|
# -- Notifier to use for alerts.
|
|
# Multiple notifiers can be enabled by using `notifiers` section
|
|
notifier:
|
|
alertmanager:
|
|
url: ""
|
|
# -- Basic auth for alertmanager
|
|
basicAuth:
|
|
username: ""
|
|
password: ""
|
|
# -- Auth based on Bearer token for alertmanager
|
|
bearer:
|
|
# -- Token with Bearer token. You can use one of token or tokenFile. You don't need to add "Bearer" prefix string
|
|
token: ""
|
|
# -- Token Auth file with Bearer token. You can use one of token or tokenFile
|
|
tokenFile: ""
|
|
|
|
# -- Additional notifiers to use for alerts
|
|
notifiers:
|
|
[]
|
|
# - alertmanager:
|
|
# url: ""
|
|
# basicAuth:
|
|
# username: ""
|
|
# password: ""
|
|
# bearer:
|
|
# token: ""
|
|
# tokenFile: ""
|
|
|
|
extraArgs:
|
|
envflag.enable: "true"
|
|
envflag.prefix: VM_
|
|
loggerFormat: json
|
|
|
|
# Additional hostPath mounts
|
|
extraHostPathMounts:
|
|
[]
|
|
# - name: certs-dir
|
|
# mountPath: /etc/kubernetes/certs
|
|
# subPath: ""
|
|
# hostPath: /etc/kubernetes/certs
|
|
# readOnly: true
|
|
|
|
# Extra Volumes for the pod
|
|
extraVolumes:
|
|
[]
|
|
#- name: example
|
|
# configMap:
|
|
# name: example
|
|
|
|
# Extra Volume Mounts for the container
|
|
extraVolumeMounts:
|
|
[]
|
|
# - name: example
|
|
# mountPath: /example
|
|
|
|
extraContainers:
|
|
[]
|
|
#- name: config-reloader
|
|
# image: reloader-image
|
|
|
|
service:
|
|
annotations: {}
|
|
labels: {}
|
|
clusterIP: ""
|
|
## Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
|
|
##
|
|
externalIPs: []
|
|
loadBalancerIP: ""
|
|
loadBalancerSourceRanges: []
|
|
servicePort: 8880
|
|
# nodePort: 30000
|
|
type: ClusterIP
|
|
# Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
|
|
# externalTrafficPolicy: "local"
|
|
# healthCheckNodePort: 0
|
|
|
|
ingress:
|
|
enabled: false
|
|
annotations: {}
|
|
# kubernetes.io/ingress.class: nginx
|
|
# kubernetes.io/tls-acme: 'true'
|
|
|
|
extraLabels: {}
|
|
hosts: []
|
|
# - name: vmselect.local
|
|
# path: /select
|
|
# port: http
|
|
|
|
tls: []
|
|
# - secretName: vmselect-ingress-tls
|
|
# hosts:
|
|
# - vmselect.local
|
|
|
|
# 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
|
|
# -- pathType is only for k8s >= 1.1=
|
|
pathType: Prefix
|
|
|
|
podSecurityContext: {}
|
|
# fsGroup: 2000
|
|
|
|
securityContext:
|
|
{}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
resources:
|
|
{}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
# Annotations to be added to the deployment
|
|
annotations: {}
|
|
# labels to be added to the deployment
|
|
labels: {}
|
|
|
|
# Annotations to be added to pod
|
|
podAnnotations: {}
|
|
|
|
podLabels: {}
|
|
|
|
nodeSelector: {}
|
|
|
|
priorityClassName: ""
|
|
|
|
tolerations: []
|
|
|
|
affinity: {}
|
|
|
|
# vmalert alert rules configuration configuration:
|
|
# use existing configmap if specified
|
|
# otherwise .config values will be used
|
|
configMap: ""
|
|
config:
|
|
alerts:
|
|
groups: []
|
|
|
|
serviceMonitor:
|
|
enabled: false
|
|
extraLabels: {}
|
|
annotations: {}
|
|
relabelings: []
|
|
# interval: 15s
|
|
# scrapeTimeout: 5s
|
|
# -- Commented. HTTP scheme to use for scraping.
|
|
# scheme: https
|
|
# -- Commented. TLS configuration to use when scraping the endpoint
|
|
# tlsConfig:
|
|
# insecureSkipVerify: true
|
|
|
|
alertmanager:
|
|
enabled: false
|
|
podMetadata:
|
|
labels: {}
|
|
annotations: {}
|
|
image: prom/alertmanager
|
|
tag: v0.25.0
|
|
retention: 120h
|
|
nodeSelector: {}
|
|
priorityClassName: ""
|
|
resources: {}
|
|
tolerations: []
|
|
imagePullSecrets: []
|
|
podSecurityContext: {}
|
|
extraArgs: {}
|
|
# key: value
|
|
|
|
# external URL, that alertmanager will expose to receivers
|
|
baseURL: ""
|
|
# external URL Prefix, Prefix for the internal routes of web endpoints
|
|
baseURLPrefix: ""
|
|
# use existing configmap if specified
|
|
# otherwise .config values will be used
|
|
configMap: ""
|
|
config:
|
|
global:
|
|
resolve_timeout: 5m
|
|
route:
|
|
# default receiver
|
|
receiver: devnull
|
|
# tag to group by
|
|
group_by: ["alertname"]
|
|
# How long to initially wait to send a notification for a group of alerts
|
|
group_wait: 30s
|
|
# How long to wait before sending a notification about new alerts that are added to a group
|
|
group_interval: 10s
|
|
# How long to wait before sending a notification again if it has already been sent successfully for an alert
|
|
repeat_interval: 24h
|
|
receivers:
|
|
- name: devnull
|
|
templates: {}
|
|
# alertmanager.tmpl: |-
|
|
service:
|
|
annotations: {}
|
|
type: ClusterIP
|
|
port: 9093
|
|
# if you want to force a specific nodePort. Must be use with service.type=NodePort
|
|
# nodePort:
|
|
ingress:
|
|
enabled: false
|
|
annotations: {}
|
|
# kubernetes.io/ingress.class: nginx
|
|
# kubernetes.io/tls-acme: 'true'
|
|
extraLabels: {}
|
|
hosts: []
|
|
# - name: alertmanager.local
|
|
# path: /
|
|
# port: web
|
|
|
|
tls: []
|
|
# - secretName: alertmanager-ingress-tls
|
|
# hosts:
|
|
# - alertmanager.local
|
|
|
|
# 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
|
|
# -- pathType is only for k8s >= 1.1=
|
|
pathType: Prefix
|
|
persistentVolume:
|
|
# -- Create/use Persistent Volume Claim for alertmanager component. Empty dir if false
|
|
enabled: false
|
|
# -- Array of access modes. Must match those of existing PV or dynamic provisioner. Ref: [http://kubernetes.io/docs/user-guide/persistent-volumes/](http://kubernetes.io/docs/user-guide/persistent-volumes/)
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
# -- Persistant volume annotations
|
|
annotations: {}
|
|
# -- StorageClass to use for persistent volume. Requires alertmanager.persistentVolume.enabled: true. If defined, PVC created automatically
|
|
storageClass: ""
|
|
# -- Existing Claim name. If defined, PVC must be created manually before volume will be bound
|
|
existingClaim: ""
|
|
# -- Mount path. Alertmanager data Persistent Volume mount root path.
|
|
mountPath: /data
|
|
# -- Mount subpath
|
|
subPath: ""
|
|
# -- Size of the volume. Better to set the same as resource limit memory property.
|
|
size: 50Mi
|