[FEAT/#447] Grafana Cloud 기반 메트릭/로그 관측성 구축 - #450
Merged
2ghrms merged 1 commit intoSep 5, 2026
Conversation
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
Warning Review limit reachedNext included review available in 3 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (1)
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. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
#️⃣연관된 이슈
📝작업 내용
현재 관측성 스택이 전무한 상태(actuator는 헬스체크 용도로만 사용, 중앙 로그/메트릭 수집 없음)에서 SLO 기준으로 값싼 관측성 스택(Grafana Cloud 무료 티어 + Grafana Alloy)을 구축했다. Metrics/Log를 우선 구축했고 Trace(OTel)는 범위에서 제외해 추후 별도 진행한다.
🔎코드 설명(스크린샷(선택))
micrometer-registry-prometheus의존성 추가,/actuator/prometheus노출management.server.port)로 이동 — Ingress는 8080만 라우팅하므로 메트릭이 외부에 노출되지 않음org.springframework.web등)을 local 전용으로 이동 — 민감정보 노출 및 로그 폭증 방지GlobalExceptionAdvice의e.printStackTrace()를log.error()로 수정 — 최상위 예외 핸들러 로그가 SLF4J 포맷/레벨 제어를 벗어나 있던 문제ASSU_BE_manifest: 앱 전용 Grafana Alloy(Deployment/RBAC/ConfigMap) 추가 — 앱 메트릭 스크레이핑 + 네임스페이스 로그 수집 → Grafana Cloud Prometheus/Loki 전송ASSU_BE_manifest: 공식k8s-monitoringHelm 차트(v4.5.0)로node-exporter/kube-state-metrics추가 — K3s 클러스터 자체 모니터링 (assu-monitoring네임스페이스), ArgoCD Application(assu-cluster-monitoring) 추가ASSU_BE_config,ASSU_BE_manifest서브모듈 포인터 갱신config/{dev,prod}/application-*.yml에management블록을 잘못된 위치에 삽입해spring.datasource/spring.data.redis/spring.rabbitmq가management하위로 잘못 중첩되는 YAML 들여쓰기 버그가 있었음 — dev에 실제 배포해서 발견(H2 임베디드 DB 폴백 + Redis 연결 실패로 크래시루프). 위치를 바로잡아 수정 완료💬고민사항 및 리뷰 요구사항 (Optional)
dd9bcc4(dev startupProbe 추가)가port: http를 참조하고 있어서port: management로 함께 수정했다.assu-monitoring의 DaemonSet들이tolerations: NoSchedule 전체 허용이라 control 노드에도 스케줄링된다. control이 t3.small(2GiB)이라 배포 후kubectl top nodes로 메모리 여유 확인이 필요하다.grafana-cloud-creds)은assu-prod/assu-dev/assu-monitoring네임스페이스에 이미 수동 생성 완료했고,k8s-monitoring차트가 쓰는 CRD(alloys.collectors.grafana.com,podlogs.monitoring.grafana.com)도 클러스터에 사전 설치 완료했다.비고 (Optional)
🤖 Generated with Claude Code