fix(otelcol): use AccountID/ProjectID headers for VictoriaLogs multitenancy

로그 테넌트 라우팅이 동작하지 않던 결함 수정. otelcol exporter가
'VictoriaLogs-AccountID' 헤더를 사용했으나 VictoriaLogs는 이를 인식하지 못해
모든 로그가 account 0 으로 적재됨(dev 실측: AccountID:1 쓰기는 acct1,
VictoriaLogs-AccountID:1 쓰기는 acct0). 올바른 헤더 AccountID/ProjectID 로 교체.

- opentelemetry-collector custom-values(로그 3파이프라인) + events(acct0)
- docs: deploy-guide §1.4 relabel '[]'=격리아님 경고+예시, vmagent CUSTOM-README keep 규칙 예시
- .gitignore: tenant-verification/ (로컬 검증 산출물)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
wbsong111
2026-07-01 15:37:46 +09:00
parent b022204004
commit aef64390f1
5 changed files with 41 additions and 8 deletions
+14 -3
View File
@@ -69,10 +69,21 @@ ArgoCD가 동기화를 시작하기 **전에** 반드시 준비되어야 한다.
### 1.4 relabel ConfigMap
vmagent base custom-values가 `vmagent-relabel-configs` ConfigMap을 마운트한다(테넌트별 키: `demo01.yaml` / `demo02.yaml` / `platform.yaml`).
vmagent base custom-values가 `vmagent-relabel-configs` ConfigMap을 마운트한다(테넌트별 키: `demo01.yaml` / `demo02.yaml` / `platform.yaml`). 각 키는 해당 remoteWrite URL(`/insert/{accountID}/`)의 `urlRelabelConfig`로, 그 accountID에 **남길 시계열만 keep** 하는 규칙이다.
- 초기 배포 시 빈 규칙(`[]`)으로 기동 가능.
- 테넌트별 keep 필터 채우기는 **§3(배포 후 테넌트 관리)** 에서 다룬다. dip-console이 테넌트 온보딩 시 갱신.
- 초기 배포 시 빈 규칙(`[]`)으로 **기동 가능**하나, ⚠️ **`[]`는 격리가 아니다** — keep 규칙이 없으면 vmagent가 스크레이프한 **모든 메트릭이 모든 accountID에 그대로 기록**되어 테넌트 간 데이터가 섞인다(격리 미적용). 실제 dev 검증에서 `[]` 상태의 acct1·acct2가 서로의 namespace 메트릭을 모두 보유함을 확인했다.
- 실제 격리는 namespace 기준 keep 필터운다(dip-console이 테넌트 온보딩 시 생성). 예:
```yaml
# demo01.yaml (accountID 1 — demo01-* 만 남김)
- action: keep
source_labels: [namespace]
regex: "demo01-.*"
# platform.yaml (accountID 9000 — demo 테넌트 제외한 나머지)
- action: drop
source_labels: [namespace]
regex: "(demo01|demo02)-.*"
```
- 상세 규칙·검증은 **§3(배포 후 테넌트 관리)** 및 [배포 테스트 기록 #2](https://github.com/paasup/dip-catalog/issues/2) 참조.
### 1.5 값(values) repo