Files
k8s-gitops/apps/monitoring.yaml
T

108 lines
2.9 KiB
YAML

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: monitoring
namespace: argocd
spec:
project: default
source:
repoURL: https://prometheus-community.github.io/helm-charts
chart: kube-prometheus-stack
targetRevision: 77.*
helm:
skipCrds: true
values: |
alertmanager:
config:
global:
resolve_timeout: 5m
smtp_smarthost: 'mail.home.lan:25'
smtp_from: 'alertmanager@home.lan'
smtp_hello: 'kubernetes.home.lan'
smtp_require_tls: false
route:
receiver: jay-email
group_by:
- namespace
- alertname
- severity
group_wait: 30s
group_interval: 5m
repeat_interval: 4h
routes:
- receiver: "null"
matchers:
- alertname = "Watchdog"
receivers:
- name: "null"
- name: jay-email
email_configs:
- to: 'jay@home.lan'
send_resolved: true
headers:
From: 'Kubernetes Alertmanager <alertmanager@home.lan>'
To: 'Jay <jay@home.lan>'
Subject: '[Kubernetes] {{ .Status | toUpper }}: {{ .CommonLabels.alertname }}'
inhibit_rules:
- source_matchers:
- severity = critical
target_matchers:
- severity =~ warning|info
equal:
- namespace
- alertname
- source_matchers:
- severity = warning
target_matchers:
- severity = info
equal:
- namespace
- alertname
- source_matchers:
- alertname = InfoInhibitor
target_matchers:
- severity = info
equal:
- namespace
- target_matchers:
- alertname = InfoInhibitor
templates:
- /etc/alertmanager/config/*.tmpl
grafana:
ingress:
enabled: true
ingressClassName: nginx
hosts:
- grafana.home.lan
prometheus:
prometheusSpec:
externalUrl: http://prometheus.home.lan
routePrefix: /
ingress:
enabled: true
ingressClassName: nginx
hosts:
- prometheus.home.lan
paths:
- /
pathType: Prefix
destination:
server: https://kubernetes.default.svc
namespace: monitoring
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true