add monitor stack

This commit is contained in:
2026-06-19 17:33:56 +07:00
parent 980ffd3891
commit 8af179f7a6
2 changed files with 122 additions and 0 deletions

View File

@@ -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

View File

@@ -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