diff --git a/clusterspecifics/alerts/alert_hetzner_api_requestlimit.yaml b/clusterspecifics/alerts/alert_hetzner_api_requestlimit.yaml new file mode 100644 index 0000000..a049093 --- /dev/null +++ b/clusterspecifics/alerts/alert_hetzner_api_requestlimit.yaml @@ -0,0 +1,20 @@ +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + labels: + prometheus: kube-prometheus-stack-prometheus # dieser name ist fest + role: alert-rules # auch fest + release: kube-prometheus-stack # IMPORTANT: ohne das Label wird die Rule vom PrometheusOperator nicht gefunden + name: hetzner_rate_limit_alert + namespace: monitoring # Rule im namespace anlegen in dem die zu ueberwachende App laeuft +spec: + groups: + - name: "hetzner_rate_limit_alert.rules" # ".rules" muss unbedingt im Namen enthalten sein!! + rules: + - alert: hetzner_rate_limit_threshold + for: 1m + labels: + severity: warning # Sollte dazu geschrieben werden um Alerts Sauber zwischen Teams zu trennen + expr: sum(sum by(api_endpoint)(hcloud_api_requests_total) - sum by(api_endpoint)(hcloud_api_requests_total offset 1h)) > 1800 # hier kommt die eigentliche Alert expression rein + annotations: + message: 50% of Hetzner Rate Limit requests reached \ No newline at end of file diff --git a/clusterspecifics/alerts/kustomization.yaml b/clusterspecifics/alerts/kustomization.yaml new file mode 100644 index 0000000..ca207fe --- /dev/null +++ b/clusterspecifics/alerts/kustomization.yaml @@ -0,0 +1,2 @@ +resources: +- alert_hetzner_api_requestlimit.yaml \ No newline at end of file diff --git a/clusterspecifics/kustomization.yaml b/clusterspecifics/kustomization.yaml index 9580dd9..d568411 100644 --- a/clusterspecifics/kustomization.yaml +++ b/clusterspecifics/kustomization.yaml @@ -5,3 +5,4 @@ bases: - secrets - servicemonitors - dashboards +- alerts