Upptime 연동 - 가동 시간 모니터링 알림
Upptime을 Echobell과 연동해 웹사이트가 다운되는 즉시 푸시 알림이나 전화 알림을 받으세요. GitHub Actions 기반 설정 가이드입니다.
Upptime의 장애 및 복구 이벤트를 Echobell로 바로 전달하면, 별도의 파이프라인을 구축하지 않고도 팀이 긴급 푸시 알림이나 전화 알림을 받을 수 있습니다. 이 가이드는 설정 과정 중 Echobell 쪽에 초점을 맞추며 Upptime의 기본 알림 변수를 사용합니다. Upptime 고유의 옵션은 공식 알림 문서를 참고하세요.
Upptime 알림에 Echobell을 사용하는 이유
- 중요한 장애는 전화 알림으로 단계를 올리고, 일상적인 점검은 일반 또는 긴급 푸시 알림으로 유지할 수 있습니다
- 템플릿과 변수를 사용해 모든 알림에 영향을 받은 사이트, 상태, 응답 코드, GitHub 이슈 링크를 표시할 수 있습니다
- 추가 인프라가 필요 없습니다. Echobell 채널마다 발급되는 안전한 웹훅 URL 하나면 충분합니다
사전 준비 사항
- GitHub Actions가 활성화된 기존 Upptime 저장소
- GitHub 저장소 시크릿을 추가할 수 있는 권한
- 웹훅 URL이 있는 Echobell 채널(앱에서 채널을 열고 웹훅 URL을 복사합니다)
Echobell 채널 준비하기
- Echobell에서 채널을 만들거나 열고 원하는 알림 방식(일반, 긴급, 전화)을 선택합니다.
- 채널 웹훅 URL을 복사합니다.
https://hook.echobell.one/t/<channel-token>형태입니다. - (선택 사항)
{{site}},{{status}},{{code}},{{url}},{{issue}}같은 변수를 사용하는 템플릿을 설정하면 알림을 구조적으로 유지할 수 있습니다.
Echobell용 Upptime 시크릿 추가하기
Upptime 저장소에서 Settings → Secrets and variables → Actions로 이동한 뒤 다음 항목을 추가합니다.
NOTIFICATION_CUSTOM_WEBHOOK=trueNOTIFICATION_CUSTOM_WEBHOOK_URL=https://hook.echobell.one/t/<channel-token>?site=$SITE_NAME&status=$STATUS&url=$SITE_URL&issue=$ISSUE_URL&code=$RESPONSE_CODE&emoji=$EMOJI- (선택 사항)
NOTIFICATIONS_DOWN_MESSAGE=$EMOJI $SITE_NAME is $STATUS ($RESPONSE_CODE) – $ISSUE_URL - (선택 사항)
NOTIFICATIONS_UP_MESSAGE=$EMOJI $SITE_NAME is back up – $SITE_URL
참고 사항:
- 쿼리 파라미터가 구조화된 데이터를 Echobell로 전달합니다. Upptime이 변수를 채워 넣으면 Echobell은 이를 템플릿 변수(
site,status,url,issue,code,emoji)로 저장합니다. - 문구를 직접 수정할 때는 요청이 깨지지 않도록 URL을 인코딩된 상태로 유지하세요(공백은
%20으로 바꿉니다). - 다른 알림 제공자나 전략은 계속 Upptime에서 관리합니다. 여기서는 Echobell에 필요한 항목만 추가하고 나머지는 GitHub 시크릿 UI에 그대로 두세요.
Echobell에서 변수 매핑하기
알림을 읽기 쉽게 유지하려면 간결한 템플릿을 사용하세요.
Title: {{emoji}} Upptime: {{site}} is {{status}}
Body: Response {{code}} · {{url}}
External link: {{issue}}
우선순위가 높은 사이트에는 채널의 알림 방식을 "긴급" 또는 "전화"로 전환하고, 나머지 사이트는 일반 푸시 알림으로 유지할 수 있습니다.
연동 테스트하기
- 모니터링 중인 URL을 일시적으로 존재하지 않는 엔드포인트로 변경하거나 서비스를 중지해 장애를 발생시킵니다.
- 템플릿 필드가 모두 채워진 알림이 Echobell에 도착하는지 확인합니다.
- 서비스를 복구한 뒤 복구 메시지가 오는지 확인합니다.
문제 해결
NOTIFICATION_CUSTOM_WEBHOOK과NOTIFICATION_CUSTOM_WEBHOOK_URL이 시크릿 목록과 정확히 같은 이름으로 입력되었는지 확인하세요.- Echobell 채널 토큰을 변경했다면 시크릿도 함께 업데이트하세요.
- Upptime 쪽 오류나 추가 제공자와 관련된 문제는 공식 문서와 GitHub Actions 로그를 확인하세요.