이 글은 ‘셀프 호스팅 Grafana와 AWS DevOps Agent’ 시리즈의 2부로, 1부에서 다룬 VPC 내 프라이빗 서비스로의 보안 연결 설정에 이어 이번 편에서는 Webhook을 통한 자동 트리거 구성을 다룹니다.
왜 셀프 호스팅 Grafana인가
AWS DevOps Agent는 셀프 호스팅 Grafana와 Amazon Managed Grafana(AMG)를 모두 관측 데이터 소스로 연결할 수 있습니다. 다만 알림을 보내 조사를 시작하는 연결과 조사에 필요한 데이터를 조회하는 연결은 구분해야 합니다.
그림 1. 알림 전송과 데이터 조회의 방향 및 인증 정보
① 알림 전송: Webhook Contact Point
Grafana에서 알림의 전송 대상과 방식을 설정하는 항목입니다. 알림 정책에 매칭된 알림을 DevOps Agent의 Webhook 엔드포인트로 HTTPS POST 요청으로 보냅니다. 인증에는 DevOps Agent에서 발급해 Grafana에 설정한 Webhook 시크릿을 사용합니다.
②~③ 데이터 조회: Service Account Token
DevOps Agent가 Grafana API에서 메트릭과 대시보드 정보를 읽을 때 사용하는 인증 정보입니다. Grafana의 Viewer 서비스 계정에서 발급해 DevOps Agent에 등록합니다. Private Connection은 프라이빗 Grafana에 접근하는 네트워크 경로이며, 조회 결과는 같은 연결로 반환됩니다.
즉, Webhook 시크릿은 알림 전송용, 서비스 계정 토큰은 Grafana 조회용입니다. 이 두 연결을 기준으로 환경을 비교하면 다음과 같습니다.
제약 사항
Amazon Managed Grafana
셀프 호스팅 Grafana
Webhook Contact Point
미지원 – Alert 발생 시 DevOps Agent에 직접 HTTP POST 불가
지원 – Alert → Webhook → 자동 조사 시작
Service Account Token 만료
30일 제한 – 주기적 수동 갱신 필요
만료 기한 자유 설정 가능
따라서 이 글에서는 Grafana 알림을 DevOps Agent에 직접 전달해 자동 조사를 시작할 수 있도록 셀프 호스팅 Grafana를 사용합니다. 토큰 유효기간도 자체 정책에 맞게 관리할 수 있지만, 토큰 교체와 Grafana 보안 패치는 운영자가 관리해야 합니다.
이 글에서는 셀프 호스팅 Grafana 환경에서 Webhook 기반 자동 트리거를 구성하는 방법을 단계별로 안내합니다.
참고: AMG의 Contact Point 제한은 공식 문서에서, DevOps Agent 측 제한은 Connecting Grafana – Amazon Managed Grafana considerations에서 확인할 수 있습니다.
대상 환경
항목
구성
계정 구조
Multi-account – 중앙 운영 계정(A, Agent Space 및 Grafana 배치), 워크로드 계정(B·C·D)
Grafana
셀프 호스팅 OSS (v12.0+), 중앙 운영 계정(A)의 VPC 프라이빗 서브넷, Private Connection 연결
데이터 소스
Amazon CloudWatch (Metrics, Logs, Custom Metrics), Self-Managed Prometheus
모니터링 대상
Amazon EKS, Application Load Balancer, Auto Scaling Group, Amazon EC2
Agent Space 리전 선택: AWS DevOps Agent는 서울 리전(ap-northeast-2)을 포함한 여러 리전


