Prometheus 메트릭 최적화: 카디널리티 폭발과 공격 트래픽 필터링
Grafana에서 CPU 스파이크를 추적하다 발견한 Prometheus 메트릭 문제들 - 공격 트래픽으로 인한 카디널리티 폭발, 중복 메트릭, 서비스 구분 부재. 해결 방법과 교훈을 공유합니다.
Grafana에서 CPU 스파이크를 추적하다 발견한 Prometheus 메트릭 문제들 - 공격 트래픽으로 인한 카디널리티 폭발, 중복 메트릭, 서비스 구분 부재. 해결 방법과 교훈을 공유합니다.
로컬 개발 환경에서 운영 MySQL에 접근할 때마다 SSH 터널을 수동으로 여는 건 번거롭습니다. autossh와 macOS LaunchAgent를 활용하면 부팅 시 자동으로 터널이 열리고, 끊어져도 재연결됩니다. 포트 충돌 방지와 보안 고려사항까지 정리했습니다.
Tailscale로 HeatWave에 접속하려는데 No route to host 에러가 발생했습니다. 원인은 Docker가 HeatWave와 같은 IP 대역을 점유하고 있었기 때문입니다. Docker 네트워크 대역 변경과 Coolify 재설치까지의 삽질 기록.
Oracle Cloud MySQL HeatWave는 프라이빗 서브넷에만 배치되어 외부 접속이 번거롭습니다. Bastion Service 대신 Tailscale을 활용해 간편하게 접속하는 방법을 정리했습니다.
Coolify 대시보드가 공인 IP로 열려 있는 보안 문제를 Tailscale 메시 VPN으로 해결한 경험. 오라클 클라우드에서의 설정 과정과 IP 제한의 한계를 넘는 방법을 정리했습니다.
개인 블로그에 JSON Formatter를 직접 만들어 넣었습니다. 개인 웹서비스를 운영하면 필요한 도구를 언제든 직접 만들 수 있다는 이야기입니다.
사이드 프로젝트의 모던 스택을 클라이언트에게 납품하려 하니, 기술 선택이 곧 유지보수 비용과 클라이언트 경험을 좌우한다는 걸 깨달았습니다. 개발자가 시장과 목적에 맞는 기술 스택을 선택해야 하는 이유를 정리했습니다.
기존 Grafana Prometheus 기반 서버 리포트에 Google Analytics 4와 Search Console 데이터를 추가하여, 서버 상태부터 사용자 행동, 검색 성과까지 한눈에 파악할 수 있는 통합 일일 리포트를 구축한 과정을 정리했습니다.
NestJS 스케줄러와 Grafana Cloud Prometheus API를 연결해 매일 아침 서버 상태를 Slack으로 자동 보고하는 시스템을 구축한 과정을 정리했습니다. 이미 갖춰진 인프라를 활용해 최소한의 코드로 일일 리포트를 만드는 방법입니다.