k3s/monitoring/monitoring-stack.yaml

120 lines
3.6 KiB
YAML
Raw Normal View History

2026-03-09 19:29:02 -04:00
apiVersion: helm.cattle.io/v1
kind: HelmChart
metadata:
name: kube-prometheus-stack
2026-06-11 14:35:47 -04:00
namespace: kube-system
2026-03-09 19:29:02 -04:00
spec:
chart: kube-prometheus-stack
repo: https://prometheus-community.github.io/helm-charts
targetNamespace: monitoring
createNamespace: true
valuesContent: |-
2026-03-17 18:28:38 -04:00
kubeControllerManager:
enabled: false
kubeScheduler:
enabled: false
kubeProxy:
enabled: false
# Filter out IPV6 monitors
kubelet:
enabled: true
serviceMonitor:
cAdvisorRelabelings:
- sourceLabels: [__address__]
regex: '^\[.*'
action: drop
probesRelabelings:
- sourceLabels: [__address__]
regex: '^\[.*'
action: drop
relabelings:
- sourceLabels: [__address__]
regex: '^\[.*'
action: drop
2026-03-09 19:29:02 -04:00
prometheus:
prometheusSpec:
serviceMonitorSelectorNilUsesHelmValues: false
retention: 10d
externalUrl: http://prometheus.k3s.home.nest
2026-03-09 19:29:02 -04:00
storageSpec:
volumeClaimTemplate:
2026-06-11 14:35:47 -04:00
metadata:
# Automatically opt this volume into your backup/snapshot rules
labels:
recurring-job.longhorn.io/source: "enabled"
recurring-job-group.longhorn.io/app-config-group: "enabled"
2026-03-09 19:29:02 -04:00
spec:
2026-06-11 14:35:47 -04:00
storageClassName: "longhorn" # Switch to longhorn dynamic storage
accessModes: ["ReadWriteOnce"]
2026-03-09 19:29:02 -04:00
resources:
requests:
storage: 20Gi
alertmanager:
2026-03-17 18:28:38 -04:00
config:
global:
resolve_timeout: 5m
route:
group_by: ['alertname', 'cluster', 'service']
group_wait: 30s
group_interval: 5m
repeat_interval: 12h
receiver: 'matrix-notifications'
2026-03-17 18:28:38 -04:00
routes:
- matchers:
- alertname = Watchdog
receiver: 'null'
inhibit_rules:
- source_matchers: [severity="critical"]
target_matchers: [severity="warning"]
equal: ['alertname', 'dev', 'instance']
receivers:
- name: 'null'
- name: 'matrix-notifications'
webhook_configs:
- url_file: '/etc/alertmanager/secrets/matrix-alertmanager-secret/WEBHOOK_URL'
2026-03-17 18:28:38 -04:00
send_resolved: true
2026-03-09 19:29:02 -04:00
alertmanagerSpec:
secrets:
- matrix-alertmanager-secret
externalUrl: http://alertmanager.k3s.home.nest
2026-03-09 19:29:02 -04:00
storage:
volumeClaimTemplate:
2026-06-11 14:35:47 -04:00
metadata:
labels:
recurring-job.longhorn.io/source: "enabled"
recurring-job-group.longhorn.io/app-config-group: "enabled"
2026-03-09 19:29:02 -04:00
spec:
2026-06-11 14:35:47 -04:00
storageClassName: "longhorn" # Switch to longhorn dynamic storage
accessModes: ["ReadWriteOnce"]
2026-03-09 19:29:02 -04:00
resources:
requests:
storage: 2Gi
grafana:
admin:
existingSecret: "grafana-admin-credentials"
userKey: admin-user
passwordKey: admin-password
podSecurityContext:
runAsUser: 1000
runAsGroup: 1000
fsGroup: 1000
initChownData:
enabled: false
grafana.ini:
server:
domain: grafana.k3s.home.nest
root_url: http://grafana.k3s.home.nest
2026-03-09 19:29:02 -04:00
serve_from_sub_path: false
persistence:
enabled: true
type: pvc
2026-06-11 14:35:47 -04:00
storageClassName: "longhorn" # Switch to longhorn dynamic storage
2026-03-09 19:29:02 -04:00
size: 5Gi
2026-06-11 14:35:47 -04:00
labels:
recurring-job.longhorn.io/source: "enabled"
recurring-job-group.longhorn.io/app-config-group: "enabled"