From 672e6fee6412a5b0ff11be4107b55622ed277469 Mon Sep 17 00:00:00 2001 From: friedrich goerz Date: Fri, 10 Feb 2023 15:26:02 +0100 Subject: [PATCH] DEV-878: added promeRule to monitor s3 capa --- prometheusRules/s3_capacity_monitoring.yaml | 26 +++++++++++++++++++ .../netpol_egress-miniopods2prometheus.yaml | 23 ++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 prometheusRules/s3_capacity_monitoring.yaml create mode 100644 templates/netpol_egress-miniopods2prometheus.yaml diff --git a/prometheusRules/s3_capacity_monitoring.yaml b/prometheusRules/s3_capacity_monitoring.yaml new file mode 100644 index 0000000..126e07e --- /dev/null +++ b/prometheusRules/s3_capacity_monitoring.yaml @@ -0,0 +1,26 @@ +apiVersion: monitoring.coreos.com/v1 +kind: PrometheusRule +metadata: + labels: + prometheus: kube-prometheus-stack-prometheus + role: alert-rules + release: kube-prometheus-stack + name: s3-capacity +spec: + groups: + - name: "s3_monitoring.rules" + rules: + - alert: s3_cluster_capacity_warning + for: 10m + labels: + severity: warning + expr: avg(minio_cluster_capacity_usable_free_bytes{namespace="{{ .Release.Name }}") * 100 / avg(minio_cluster_capacity_usable_total_bytes{namespace="{{ .Release.Name }}"}) < 15 + annotations: + message: there is less than 15% left. plz check for deletion or increase capacity + - alert: s3_cluster_capacity_critical + for: 10m + labels: + severity: critical + expr: avg(minio_cluster_capacity_usable_free_bytes{namespace="{{ .Release.Name }}"}) * 100 / avg(minio_cluster_capacity_usable_total_bytes{namespace="{{ .Release.Name }}"}) < 10 + annotations: + message: there is less than 10% left. plz check for deletion or increase capacity diff --git a/templates/netpol_egress-miniopods2prometheus.yaml b/templates/netpol_egress-miniopods2prometheus.yaml new file mode 100644 index 0000000..c8cd43d --- /dev/null +++ b/templates/netpol_egress-miniopods2prometheus.yaml @@ -0,0 +1,23 @@ +apiVersion: networking.k8s.io/v1 +kind: NetworkPolicy +metadata: + labels: + argocd.argoproj.io/instance: nsodev + name: egress-miniopods2prometheus # to display metric stuff within s3-console +spec: + egress: + - ports: + - port: 9090 + protocol: TCP + to: + - namespaceSelector: + matchLabels: + kubernetes.io/metadata.name: monitoring + podSelector: + matchLabels: + prometheus: kube-prometheus-stack-prometheus + podSelector: + matchLabels: + v1.min.io/tenant: {{ .Values.tenant.tenant.name }} + policyTypes: + - Egress