feat(headscale): add default prometheus rules

This commit is contained in:
WrenIX 2024-04-12 09:25:43 +02:00
parent 4911a0ae95
commit e566e64fe7
Signed by: wrenix
GPG key ID: 7AFDB012974B1BB5
3 changed files with 40 additions and 2 deletions

View file

@ -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:

View 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 }}

View file

@ -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