Skip to content

[Chore] Prometheus 알림 룰을 레포로 편입하고 PodNotReady 오탐 수정 - #460

Merged
howooyeon merged 1 commit into
developfrom
chore/#459-prometheus-rule-repo
Oct 23, 2026
Merged

howooyeon merged 1 commit into
developfrom
chore/#459-prometheus-rule-repo

Conversation

@howooyeon

@howooyeon howooyeon commented Oct 23, 2026 •

Copy link
Copy Markdown
Member

🧾 요약

  • 클러스터에 수동 생성되어 있던 semosan-app-alerts PrometheusRule 을 레포로 편입해 ArgoCD 관리로 전환하고, 종료된 Pod 을 장애로 오탐하던 PodNotReady 룰을 수정

🔗 이슈

✨ 변경 내용

  • k8s/monitoring/prometheusrule.yaml 신규 추가. 기존 알림 6개(HighErrorRate, HighResponseTime, JvmHeapHigh, PodRestart, PodNotReady, HighDbConnectionUsage)를 클러스터 현재 상태 그대로 가져왔다
  • PodNotReady 에만 phase 필터를 추가했고 나머지 5개는 expr·for·labels·annotations 를 그대로 보존했다
  • k8s/kustomization.yaml 에 등록
# 변경 전
kube_pod_status_ready{namespace="semosan",condition="true"} == 0

# 변경 후
kube_pod_status_ready{namespace="semosan",condition="true"} == 0
unless on(namespace,pod) kube_pod_status_phase{phase=~"Succeeded|Failed"} == 1

🐛 고치는 문제

종료된 Pod 은 당연히 Ready 가 아니므로 기존 룰에 그대로 걸렸다. 실제로 155일 된 Completed Pod(postgres-6f46dfddf8-zkcck)과 Evicted Pod(minio-56d777b8db-49kph)이 계속 critical 알림을 발생시키고 있었고, 두 Pod 을 정리하자 알림이 해제됐다

critical 알림이 상시 떠 있으면 진짜 장애가 노이즈에 묻힌다. #455 의 MinIO 장애 당시에도 이 알림은 이미 떠 있는 상태였다

and on(namespace,pod) kube_pod_status_phase{phase="Running"} == 1 로 좁히는 방법도 있지만 ImagePullBackOff(phase=Pending)를 놓친다. #455 에서 실제로 겪은 장애를 못 잡는 룰이 되므로 unless 로 종료 상태만 제외했다

✅ 확인

  • 빌드 OK
  • 테스트 OK

@howooyeon howooyeon self-assigned this Oct 23, 2026
@coderabbitai

coderabbitai Bot commented Oct 23, 2026

Copy link
Copy Markdown

Important

Review skipped

Review was skipped due to path filters

⛔ Files ignored due to path filters: 2
  • k8s/kustomization.yaml is excluded by !**/*.yaml
  • k8s/monitoring/prometheusrule.yaml is excluded by !**/*.yaml

CodeRabbit blocks several paths by default. You can override this behavior by explicitly including those paths in the path filters. For example, including **/dist/** will override the default block on the dist directory, by removing the pattern from both the lists.

⚙️ Run configuration

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@howooyeon howooyeon changed the title chore: Prometheus 알림 룰을 레포로 편입하고 PodNotReady 오탐 수정 [Chore] Prometheus 알림 룰을 레포로 편입하고 PodNotReady 오탐 수정 Oct 23, 2026
@github-actions

Copy link
Copy Markdown
Contributor

📊 테스트 커버리지 리포트

Overall Project 98.47% 🍏

There is no coverage information present for the Files changed

@howooyeon
howooyeon merged commit 24087a1 into develop Oct 23, 2026
5 checks passed
@howooyeon
howooyeon deleted the chore/#459-prometheus-rule-repo branch October 23, 2026 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[chore] Prometheus 알림 룰을 레포로 편입하고 PodNotReady 오탐 수정

1 participant