# 웹훅(WebHook)을 이용한 쿠버네티스 간단 HPA 시스템 모니터링 - BizSpring BLOG

> 웹훅(WebHook)을 이용한 쿠버네티스 간단 HPA 시스템 모니터링 - BizSpring BLOG 콘텐츠로 건너뛰기 내비게이션 메뉴 인사이트 테크 활용 방법/사례 활용 방법/사례 성공사례 성공 사례 일반 광고/마케팅 에이전시 이커머스 미디어/콘텐츠 금융/핀테크

## 핵심 요약
- 웹훅(WebHook)은 이벤트 발생 시 HTTP로 데이터를 자동 전송하는 이벤트 기반 통신 방식으로, 계속 확인해야 하는 API 방식보다 효율적이다.
- Prometheus와 Grafana를 연동해 쿠버네티스 HPA의 replica 사용 비율 등 지표를 PromQL로 조회하고 임계치 도달 시 알람을 설정할 수 있다.
- Grafana의 Alert rule과 Contact point 설정을 통해 Google Chat 웹훅 URL로 실시간 알림 메시지를 전송하는 방법을 소개한다.
- Pending period(지속 시간) 설정으로 일시적 부하 급증에 따른 불필요한 알람을 방지해 모니터링 신뢰도를 높일 수 있다.
- Contact point의 Custom Title/Message 템플릿을 수정하면 기본 알림보다 가독성 높은 메시지로 개선할 수 있다.

웹훅(WebHook)을 이용한 쿠버네티스 간단 HPA 시스템 모니터링 - BizSpring BLOG

콘텐츠로 건너뛰기

내비게이션 메뉴

인사이트

테크

활용 방법/사례

활용 방법/사례

성공사례

성공 사례 일반

광고/마케팅 에이전시

이커머스

미디어/콘텐츠

금융/핀테크

의료/헬스케어

통신/인터넷

뉴스/트렌드

릴리즈 노트

인터넷트렌드 ↗

웹사이트 ↗

# 웹훅(WebHook)을 이용한 쿠버네티스 간단 HPA 시스템 모니터링

2026년 05월 04일 2026년 05월 26일
테크

안녕하세요. 이전 기술 블로그에서는 텔레그램 봇을 이용하여 간단하게 시스템 모니터링을 구현하였는데요. 웹훅(WebHook)을 이용하여 Grafana나 Prometheus 를 연동하여 특정 경계값 에 대해서 모니터링 할 수 있는 방법을 알아 보겠습니다.

🔽 이전글 돌아보기

📝Telegram Bot API 으로 간단 시스템 모니터링

🔭모니터링의 중요성 그리고 관측 가능성이란?

모니터링은 대상의 현재 상태에 대한 지표와 설정한 임계지점에 대한 알람을 설정할 수 있는데요. 모니터링이 시스템의 현재 상태(지표)를 파악하고 설정한 임계치에 따라 알람을 받는 ‘현상 파악’에 집중한다면, 관측 가능성(Observability)은 수집된 데이터를 통해 내부 상태를 깊이 있게 이해하고 ‘왜 이런 문제가 발생했는지’ 추적하는 능력을 의미합니다.

🪝웹훅(WebHook)이란?

웹훅(Webhook) 은 특정 이벤트가 발생했을 때 HTTP를 통해 애플리케이션 간 데이터를 자동으로 전송하는 ‘이벤트 기반 통신’ 방식입니다.

쉽게 비유하자면, API는 내가 택배사에 5분마다 전화해서 “제 택배 왔나요?”라고 계속 묻는 방식입니다. 반면 웹훅은 택배 기사님이 물건을 문 앞에 두고 가면서 “택배 도착했습니다!”라고 먼저 알림톡을 보내주는 방식 입니다. 알림이 올 때만 확인하면 되니 훨씬 효율적입니다.

ⓒ Zapier

👁️Prometheus와 Grafana를 바탕으로 경계값 도달 시 모니터링 구성

ⓒGrafana ⓒPrometheus

프로메테우스(Prometheus)는 클라우드 네이티브(Cloud-Native )환경 1 에서 시계열 메트릭 데이터를 수집, 저장, 조회하는 대표적인 오픈 소스 모니터링 시스템입니다. 타겟(Target)으로부터 주기적으로 지표를 직접 가져오는 Pull 방식 을 사용하며, 전용 쿼리 언어인 PromQL 과 시각화 도구인 그라파나(Grafana) 를 연동해 실시간으로 시스템 성능과 상태를 한눈에 파악할 수 있도록 지원합니다.

주로 CPU 및 메모리 사용량, 네트워크 트래픽 등을 감시하며, 프로메테우스는 설정된 규칙에 따라 이 데이터들을 지속적으로 분석합니다. 만약 특정 지표가 미리 정해둔 기준치 를 넘어서거나 비정상적인 패턴이 감지되면, 즉시 알람을 발생시켜(Trigger) 관리자가 인지할 수 있게 해줍니다.

*Cloud- Native 환경 : 클라우드의 이점을 최대한 활용하기 위해 애플리케이션을 구축하고 실행하는 현대적인 소프트웨어 개발 및 운영 방식 ( ex.마이크로 서비스(MicroServices), 컨테이너 (Containers), CI/CD, DevOps ) ↩︎

📝PromQL 데이터 쿼리를 통해 메트릭 정보 확인

프로메테우스(Prometheus)에서 제공하는 Metrics 은 Grafana 내의 Explore 메뉴를 통해 아래와 같은 쿼리에서 해당 데이터 값을 확인할 수 있습니다.

노드별 CPU 사용률 (%)

100 - (avg by (instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)

ⓒBizSpring 노드별 CPU 사용률(%)

노드별 메모리 사용률 (%)

(node_memory_MemTotal_bytes - node_memory_MemAvailable_bytes) / node_memory_MemTotal_bytes * 100

ⓒBizSpring 노드별 메모리 사용률(%)

현재 비즈스프링 내부에서는 Google Chat(기존 행아웃) 을 주 업무 소통 도구로 활용하고 있습니다. 이번 포스팅에서는 이 Google Chat의 웹훅(Webhook) 기능을 연동하여, 쿠버네티스 리소스 사용량이 설정한 기준치에 도달했을 때 실시간으로 알림 메시지를 받아보는 시스템을 구축해 보겠습니다.

ⓒBizSpring Google HangOut Space

먼저 알림을 수신할 채널을 준비해야 합니다. 위 예시 이미지와 같이 Google Chat 내에서 [스페이스 만들기] 를 진행한 후, [앱 및 통합] 설정을 통해 웹훅을 추가하고 고유한 수신 URL을 생성합니다.

이렇게 생성된 URL은 외부 시스템의 신호를 받는 창구가 됩니다. 이제 그라파나(Grafana) 대시보드로 이동하여 [Alerting > New alert rule] 메뉴를 통해 본격적인 알람 규칙(Rule set)을 정의해 보겠습니다.

ⓒBizSpring New Alert rule #1

HPA가 보는 “현재 실행 중인 replica 수 / 최대 허용 replica 수” 비율이 0.9 이상이면 알람 오는 경우를 정해보겠습니다. 아래의 promql의 경우 replication 포화도 (saturation)를 측정할 수 있는 쿼리입니다.

(
kube_horizontalpodautoscaler_status_current_replicas{namespace="gp-prod"}
/
kube_horizontalpodautoscaler_spec_max_replicas{namespace="gp-prod"}
) > 0.9
and
kube_horizontalpodautoscaler_spec_max_replicas{namespace="gp-prod"} > 1

ⓒBizSpring Edit alert rule#2

알람이 너무 자주 울리면 정작 중요한 장애를 놓칠 수 있는데요. 이때 ‘지속 시간(Pending period)’ 설정이 매우 중요합니다. 이는 특정 수치를 초과하자마자 알람을 보내는 대신, 지정된 시간 동안 상태가 지속될 때만 알림을 트리거하는 기능입니다. 이를 통해 일시적인 부하 급증에 따른 번거로운 알람을 방지하고, 모니터링의 신뢰도를 높일 수 있습니다

이렇게 확정된 알람은 ‘Contact point’ 설정을 통해 원하는 목적지로 전달되는데, 이때 앞서 생성한 Webhook URL을 등록하면 실시간 메시지 수신이 가능해집니다. Grafana는 Webhook뿐만 아니라 슬랙(Slack), 텔레그램(Telegram), 이메일 등 현업에서 주로 사용하는 커뮤니케이션 채널 과의 연동을 폭넓게 지원하고 있습니다.

ⓒBizSpring Contact points#3

기본 설정의 알람 메시지는 정보의 나열에 그쳐 가독성이 다소 떨어지는 단점이 있습니다. 이를 보완하기 위해 템플릿을 직접 수정하여, 장애 상황을 즉시 이해할 수 있는 깔끔한 메시지 형태로 다듬어 보겠습니다

ⓒBizSpring Google HangOut#4

가시성을 높이기 위해 보통 ‘Configure notification message’ 단계에서 Summary 와 Description 을 수정하곤 하는데요. 안타깝게도 웹훅 알림에서는 이 설정만으로 메시지가 충분히 깔끔해지지 않습니다.

[Summary]

🚨 [{{ $labels.namespace }}] {{ $labels.horizontalpodautoscaler }} Max Replica 도달

[Description]

HPA가 최대 Replica에 도달하여 더 이상 스케일아웃이 불가능합니다.

- Namespace : {{ $labels.namespace }}
- HPA : {{ $labels.horizontalpodautoscaler }}
- 비율 : {{ $values.A }} (current/max)
- 상태 : 🔴 즉시 확인 필요

위와 같이만 설정하면 아래와 같이 여전히 가독성이 떨어지는 메시지를 확인하실 수 있습니다.

ⓒBizSpring Google HangOut#5

메시지를 완벽하게 제어하려면 Contact Point 의 세부 설정을 변경해야 합니다.

[Home > Alerting > Contact point] 메뉴로 이동하여, 이전에 등록한 웹훅(Webhook) 설정의 ‘Enter Custom Title’ 과 ‘Enter Custom Message’ 항목에 아래와 같이 제공된 Title과 Message를 사용하여 이전보다 깔끔해진 메세지로 변경해보겠습니다.

이렇게 서 메시지 템플릿을 최적화하면, 이전과는 다른 가독성이 향상된 알림을 확인할 수 있습니다.

ⓒBizSpring Grafana Contact points#6

ⓒBizSpring Optional Google Chat Settings#7

Enter Custom Title

{{ range .Alerts }}{{ .Annotations.summary }}{{ end }}

Enter Custom Message

{{ range .Alerts }}
━━━━━━━━━━━━━━━━━━━━━━━━
{{ .Annotations.summary }}
━━━━━━━━━━━━━━━━━━━━━━━━
{{ .Annotations.description }}
━━━━━━━━━━━━━━━━━━━━━━━━
{{ end }}

이렇게 설정만 살짝 바꿔줘도, 이제야 정말 ‘쓸만한’ 알람 메시지가 날아오기 시작합니다

ⓒBizSpring Webhook K8s Messages#8

지금까지 Prometheus와 Grafana, 그리고 Webhook을 활용해 쿠버네티스 HPA 상태를 구글 챗으로 모니터링하는 방법을 알아보았습니다.

단순히 “서버가 죽었다”는 사후 알림을 받는 것을 넘어, HPA 경계값 와 같은 전조 증상을 미리 파악하는 것은 서비스의 안정성을 유지하는 데 핵심적인 역할을 합니다. 특히 웹훅(WebHook) 을 활용한 자동 알림 시스템은 불필요한 리소스 낭비를 줄이고 업무 효율을 극대화 할수 있는데요.

여러분의 환경에서도 시스템이 보내는 목소리에 귀를 기울여, 더욱 견고한 인프라 운영 환경을 구축해 보시길 바랍니다. 감사합니다.

최신 마케팅/고객 데이터 활용 사례를 받아보실 수 있습니다.

비즈스프링 뉴스레터 구독하기 →

문의 02-6919-5516 |  sales@bizspring.co.kr

## Related Posts via Categories

구글애즈가 정확검색·구문검색 키워드까지 AI 모드에 노출하기 시작했다 — 자동화 상품 없이 AI 답변 화면에 들어가는 첫 실험
AI가 React 앱을 직접 디버깅 – Agent 기반 디버깅
ChatGPT 광고가 픽셀·전환 API·맞춤 오디언스를 갖췄다 — 답변 화면이 측정 가능한 광고 매체가 되는 순간
AI 시대, 데이터도 설명이 필요합니다
MCP 클라이언트는 Authorization Server를 어떻게 찾는가: 공식 MCP TypeScript SDK와 VS Code 구현 비교
RAG 시대의 GEO: AI가 콘텐츠를 읽는 방식과 스키마의 진짜 역할
AI 에이전트로 웹 데이터 수집 가능 여부 자동 검증하기
GA4 Intraday 실시간 테이블, 대시보드 원천 데이터로 바로 사용할 수 있을까?
워크플로우 오케스트레이션 플랫폼 Temporal 알아보기
iOS 14.5부터 GA4까지, 환경 변화가 가져온 업무 폭증을 해결하는 실무 전략은…?

다음에 대해 검색하기...

최신 글 둘러보기

기존 SEO와 무엇이 같고 무엇이 다른가

콘텐츠가 답인 걸 모르는 사람은 없습니다 — 문제는 지속입니다

광고비를 늘리지 않고 매출을 늘린 회사들은 무엇을 했나

코호트로 비교하면 광고 예산 판단이 달라집니다

GEO를 위한 글쓰기를 위한 작은 노하우

(해외동향) 광고주가 광고플랫폼 리포트에서 자체 측정으로 옮겨가고 있다.

구글애즈가 정확검색·구문검색 키워드까지 AI 모드에 노출하기 시작했다 — 자동화 상품 없이 AI 답변 화면에 들어가는 첫 실험

AI가 React 앱을 직접 디버깅 – Agent 기반 디버깅

ChatGPT 광고가 픽셀·전환 API·맞춤 오디언스를 갖췄다 — 답변 화면이 측정 가능한 광고 매체가 되는 순간

마케팅 자동화, 무엇부터 자동화해야 할까?

출처: https://blog.bizspring.co.kr/%ed%85%8c%ed%81%ac/webhook%ec%9d%84-%ec%9d%b4%ec%9a%a9%ed%95%9c-%ec%bf%a0%eb%b2%84%eb%84%a4%ed%8b%b0%ec%8a%a4-hpa-%ec%8b%9c%ec%8a%a4%ed%85%9c-%eb%aa%a8%eb%8b%88%ed%84%b0%eb%a7%81/

## FAQ
**Q. 웹훅과 API의 차이가 뭔가요?**

A. API는 계속 요청을 보내 상태를 확인해야 하는 방식이고, 웹훅은 이벤트가 발생했을 때 시스템이 먼저 알림을 보내주는 방식입니다. 본문에서는 택배 확인 전화와 택배 도착 알림톡에 비유해 설명합니다.

**Q. Prometheus와 Grafana는 어떤 역할을 하나요?**

A. Prometheus는 클라우드 네이티브 환경에서 시계열 메트릭 데이터를 수집·저장·조회하는 오픈소스 모니터링 시스템이며, Pull 방식으로 지표를 가져옵니다. Grafana는 PromQL 쿼리 결과를 시각화하고 Alerting 기능으로 알람 규칙을 설정하는 도구입니다.

**Q. HPA 알림은 어떤 기준으로 설정하나요?**

A. 본문 예시에서는 현재 실행 중인 replica 수를 최대 허용 replica 수로 나눈 비율이 0.9 이상일 때 알람이 오도록 PromQL 쿼리를 작성했습니다. 이는 replication 포화도(saturation)를 측정하는 방식입니다.

**Q. 알람이 너무 자주 울리는 문제는 어떻게 방지하나요?**

A. Grafana의 'Pending period(지속 시간)' 설정을 사용하면 특정 수치를 초과한 즉시가 아니라 지정된 시간 동안 상태가 지속될 때만 알림이 트리거됩니다. 이를 통해 일시적인 부하 급증으로 인한 불필요한 알람을 줄일 수 있습니다.

**Q. 알람 메시지 가독성은 어떻게 개선하나요?**

A. 기본 설정만으로는 메시지가 정보 나열에 그쳐 가독성이 떨어지므로, Contact Point의 'Enter Custom Title'과 'Enter Custom Message' 항목에 템플릿을 직접 작성해 적용합니다. 이렇게 하면 Namespace, HPA, 비율 등 핵심 정보를 깔끔하게 정리한 알림을 받을 수 있습니다.

---
출처: https://bizspring.ai/kb/ref/web/blog-bizspring-co-kr/웹훅-webhook-을-이용한-쿠버네티스-간단-hpa-시스템-모니터링-bizspring-blog · 최종 갱신 2026-09-06T11:11:01.3181+00:00
