feat(headscale): add default prometheus rules
This commit is contained in:
parent
4911a0ae95
commit
e566e64fe7
3 changed files with 40 additions and 2 deletions
|
@ -3,7 +3,7 @@ name: headscale
|
||||||
description: An open source, self-hosted implementation of the Tailscale control server.
|
description: An open source, self-hosted implementation of the Tailscale control server.
|
||||||
icon: https://raw.githubusercontent.com/juanfont/headscale/56a7b1e34952c3e0306a134b2be9b4277f5d8d6e/docs/logo/headscale3-dots.svg
|
icon: https://raw.githubusercontent.com/juanfont/headscale/56a7b1e34952c3e0306a134b2be9b4277f5d8d6e/docs/logo/headscale3-dots.svg
|
||||||
type: application
|
type: application
|
||||||
version: 0.2.6
|
version: 0.3.0
|
||||||
# renovate: image=docker.io/headscale/headscale
|
# renovate: image=docker.io/headscale/headscale
|
||||||
appVersion: "0.22.3"
|
appVersion: "0.22.3"
|
||||||
maintainers:
|
maintainers:
|
||||||
|
|
32
headscale/templates/prometheus-rules.yaml
Normal file
32
headscale/templates/prometheus-rules.yaml
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
{{- if .Values.prometheus.rules.enabled }}
|
||||||
|
apiVersion: monitoring.coreos.com/v1
|
||||||
|
kind: PrometheusRule
|
||||||
|
metadata:
|
||||||
|
name: {{ include "headscale.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "headscale.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.prometheus.rules.labels }}
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
groups:
|
||||||
|
{{- if .Values.prometheus.rules.defaults.enabled }}
|
||||||
|
- name: {{ template "headscale.fullname" . }}-Defaults
|
||||||
|
rules:
|
||||||
|
{{- range $key, $value := .Values.prometheus.rules.defaults.lastUpdates }}
|
||||||
|
- alert: "Headscale: offline machines"
|
||||||
|
expr: 'time() - sum(headscale_last_update_seconds{ {{ $.Values.prometheus.rules.defaults.filter }} }) without(endpoint,container,pod,instance,service,namespace,job) > {{ $value }}'
|
||||||
|
for: "1m"
|
||||||
|
labels:
|
||||||
|
severity: "{{ $key }}"
|
||||||
|
{{`
|
||||||
|
annotations:
|
||||||
|
summary: "{{ $labels.machine }} of {{ $labels.user }} is offline for {{ parseDuration $value }}"
|
||||||
|
`}}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.prometheus.rules.additionalRules }}
|
||||||
|
- name: {{ template "headscale.fullname" . }}-Additional
|
||||||
|
rules: {{- toYaml .Values.prometheus.rules.additionalRules | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
|
@ -80,7 +80,13 @@ prometheus:
|
||||||
rules:
|
rules:
|
||||||
enabled: false
|
enabled: false
|
||||||
labels: {}
|
labels: {}
|
||||||
# current no default alertrules are provided
|
defaults:
|
||||||
|
enabled: true
|
||||||
|
filter: ""
|
||||||
|
lastUpdates:
|
||||||
|
critical: 3600
|
||||||
|
warning: 600
|
||||||
|
info: 60
|
||||||
additionalRules: []
|
additionalRules: []
|
||||||
|
|
||||||
## Enable persistence using Persistent Volume Claims
|
## Enable persistence using Persistent Volume Claims
|
||||||
|
|
Loading…
Add table
Reference in a new issue