Add VictoriaMetrics observability stack + sync catalog for monitoring test
- VM stack 10 charts: victoria-metrics-cluster/auth, victoria-logs-cluster, victoria-metrics-agent/alert, opentelemetry-collector, kube-state-metrics, prometheus-node-exporter, alertmanager, perses (JWT/OIDC, Infisical-ready) - ArgoCD ApplicationSet (syncWave) + per-chart dip-values overlays - doc/victoria-metrics-architecture.md, define-chart-resources updates - includes pending working-tree changes (mlflow, kubeflow, apisix, CLAUDE.md) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
# vmalert 배포 (알림 규칙 평가 엔진)
|
||||
|
||||
PromQL 알림 규칙을 주기적으로 평가하고, 발생한 알림을 Alertmanager로 전송한다. ALERTS 메트릭은 다시 VictoriaMetrics에 기록한다.
|
||||
|
||||
## 1. 배포 방법
|
||||
|
||||
```sh
|
||||
helm upgrade vmalert ./ -f custom-values.yaml --install -n monitoring
|
||||
```
|
||||
|
||||
사전: vmcluster, alertmanager가 배포되어 있어야 한다.
|
||||
|
||||
## 2. custom-values.yaml 설정 설명
|
||||
|
||||
| 항목 | 대상 | 비고 |
|
||||
|------|------|------|
|
||||
| `datasource.url` | vmselect `/select/multitenant/prometheus` | 클러스터 전체 집계 조회 |
|
||||
| `remoteWrite.url` | vminsert `/insert/0/prometheus` | ALERTS 메트릭 기록 (`/api/v1/write` 자동 부착) |
|
||||
| `notifier.url` | alertmanager:9093 | 알림 발송 |
|
||||
|
||||
### 인증 — 내부 서비스
|
||||
|
||||
vmalert는 **내부 서비스**이므로 vmselect multitenant 엔드포인트에 직접 연결한다(vmauth JWT 미경유). 사용자/외부 접근만 vmauth를 거친다.
|
||||
|
||||
> vmauth 경유가 필요하면 datasource를 vmauth(`:8427`)로 바꾸고, Keycloak **service-account 토큰**(bearer)을 datasource 인증에 설정한다. `unauthorized_user`(accountID 0)만으로는 전체 클러스터 메트릭을 볼 수 없으므로 multitenant 또는 적절한 `vm_access` 토큰이 필요하다.
|
||||
|
||||
### 알림 규칙 (`server.config.alerts`)
|
||||
|
||||
클러스터 헬스 8종: NodeDown, NodeHighCPU, NodeHighMemory, NodeDiskPressure, PodCrashLooping, PodNotReady, DeploymentReplicasMismatch, PVCFillingUp. 평가 주기 30s.
|
||||
|
||||
## 3. 의존 관계
|
||||
|
||||
vmselect(조회) · vminsert(기록) · alertmanager(발송) · kube-state-metrics/node-exporter(규칙이 참조하는 메트릭 소스)
|
||||
|
||||
## 4. 검증
|
||||
|
||||
```sh
|
||||
kubectl port-forward -n monitoring svc/vmalert-victoria-metrics-alert 8880:8880
|
||||
curl -s http://localhost:8880/api/v1/rules | jq '.data.groups[].name'
|
||||
```
|
||||
Reference in New Issue
Block a user