From 8af179f7a63265d3b3f5f3b8e3af542b0537a022 Mon Sep 17 00:00:00 2001 From: renolation Date: Fri, 19 Jun 2026 17:33:56 +0700 Subject: [PATCH] add monitor stack --- envs/dev/apps/monitoring.yaml | 29 ++++++++++ envs/dev/values/monitoring.yaml | 93 +++++++++++++++++++++++++++++++++ 2 files changed, 122 insertions(+) create mode 100644 envs/dev/apps/monitoring.yaml create mode 100644 envs/dev/values/monitoring.yaml diff --git a/envs/dev/apps/monitoring.yaml b/envs/dev/apps/monitoring.yaml new file mode 100644 index 0000000..4e7c42e --- /dev/null +++ b/envs/dev/apps/monitoring.yaml @@ -0,0 +1,29 @@ +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: monitoring-dev + namespace: argocd +spec: + project: default + sources: + # Chart từ Helm repo prometheus-community (không cần đưa vào Gitea) + - repoURL: https://prometheus-community.github.io/helm-charts + chart: kube-prometheus-stack + targetRevision: 66.2.1 + helm: + valueFiles: + - $values/envs/dev/values/monitoring.yaml + # Repo Gitea chỉ để lấy values + - repoURL: https://git.renolation.com/renolation/argo-k8s.git + targetRevision: main + ref: values + destination: + server: https://kubernetes.default.svc + namespace: monitoring + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true + - ServerSideApply=true # CRD kube-prometheus-stack rất lớn, cần server-side \ No newline at end of file diff --git a/envs/dev/values/monitoring.yaml b/envs/dev/values/monitoring.yaml new file mode 100644 index 0000000..aa2ca5e --- /dev/null +++ b/envs/dev/values/monitoring.yaml @@ -0,0 +1,93 @@ +# kube-prometheus-stack — DEV values +# Gọn cho dev: dung lượng nhỏ, expose Grafana qua Traefik ingress. + +# --------------------------------------------------------------------------- +# Grafana +# --------------------------------------------------------------------------- +grafana: + enabled: true + # Mật khẩu admin ban đầu (đổi sau khi vào). Dev nên để đây cho nhanh; + # production thì chuyển sang Sealed Secret. + adminPassword: "Dbiz1234" + ingress: + enabled: true + ingressClassName: traefik + hosts: + - grafana.dev.dbiz.local + paths: + - / + persistence: + enabled: true + size: 2Gi + # Dashboard K8s mặc định đã có sẵn trong chart + +# --------------------------------------------------------------------------- +# Prometheus +# --------------------------------------------------------------------------- +prometheus: + ingress: + enabled: true + ingressClassName: traefik + hosts: + - prometheus.dev.dbiz.local + paths: + - / + prometheusSpec: + retention: 7d + # Cho phép Prometheus tự phát hiện ServiceMonitor/PodMonitor ở mọi namespace + serviceMonitorSelectorNilUsesHelmValues: false + podMonitorSelectorNilUsesHelmValues: false + ruleSelectorNilUsesHelmValues: false + storageSpec: + volumeClaimTemplate: + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 10Gi + resources: + requests: + cpu: 200m + memory: 512Mi + limits: + memory: 1Gi + +# --------------------------------------------------------------------------- +# Alertmanager +# --------------------------------------------------------------------------- +alertmanager: + enabled: true + ingress: + enabled: true + ingressClassName: traefik + hosts: + - alertmanager.dev.dbiz.local + paths: + - / + alertmanagerSpec: + storage: + volumeClaimTemplate: + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 2Gi + +# --------------------------------------------------------------------------- +# Exporters — bật để có metrics node + kube-state +# --------------------------------------------------------------------------- +nodeExporter: + enabled: true +kubeStateMetrics: + enabled: true + +# Một số control-plane component khó scrape trên cluster kubeadm tự dựng; +# tắt scrape etcd/scheduler/controller nếu chưa expose metrics để khỏi báo đỏ. +kubeEtcd: + enabled: false +kubeControllerManager: + enabled: false +kubeScheduler: + enabled: false +kubeProxy: + enabled: false \ No newline at end of file