Skip to content

observability v2: 기존 metrics.go/prometheus_rules.go 확장 (duplicate-registration panic 회피, 재설계) #323

Description

@KeiaiLab-PHIL

상태: 재설계 필요 (deferred)

초기 설계(신규 internal/observability 패키지 + typed PrometheusRule)는 적대 검증에서 2건의 충돌 발견:

  1. duplicate-registration panic 위험: 기존 internal/controller/metrics.go 가 이미 36 메트릭을 글로벌 registry 에 init() 등록 (keiailab-commons reconcile trio 포함). 신규 패키지의 자체 MustRegister 는 이중등록 panic.
  2. 의도적으로 회피한 dep 재도입: 기존 internal/controller/prometheus_rules.go::BuildDefaultPrometheusRule 가 keiailab-commons monitoring.NewPrometheusRule*unstructured.Unstructured 반환 (monitoring.coreos.com/v1 typed dep 회피, v0.11.0). typed 빌더는 이를 되돌림.

재설계 방향

  • shard chunk gauge 등은 기존 internal/controller/metrics.go 에 추가 + 동일 init() 등록 (신규 패키지/MustRegister 금지)
  • alert rule 은 commons NewPrometheusRule (unstructured) 기반 확장 (typed dep 금지)
  • Grafana 대시보드 ConfigMap 빌더만 유일 greenfield 후보 (commons 코어리소스 컨벤션 준수)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions