Osegi
소프트웨어·2 분 소요

Opsgenie 종료 앞두고 Telegram 기반 당직 도구 Dezhurka 공개

Opsgenie 지원이 2027년 4월 5일 종료되는 가운데, 한 개발자가 러시아 팀을 위한 Telegram 중심 당직·에스컬레이션 서비스 Dezhurka를 공개했습니다.

A Telegram chat showing an incident alert with a "Take it" button next to a monitoring dashboard and an on-call schedule.
이미지: Хабр

Atlassian은 2026년 1분기에 Opsgenie 신규 가입을 중단했고, 지원 종료일을 2027년 4월 5일로 정했습니다. 당직 기능은 Jira Service Management로 옮겨 가지만, 러시아의 많은 팀은 이 서비스를 이용할 수 없습니다. 이런 공백을 메우기 위해 한 개발자가 'Dezhurka(Дежурка)'를 공개했습니다.

기존 모니터링 뒤에서 동작

PagerDuty, incident.io, Rootly는 접근이 불가능하거나 Slack에 맞춰져 있습니다. 러시아 팀은 대부분 Telegram을 쓰기 때문에 Zabbix 봇으로 모든 알림을 공용 채팅에 보내거나, Alertmanager 위에 Karma를 얹거나, '밤에 장애 나면 Vasya에게 전화'라고 정해 두는 방식이 흔합니다. 모두 알림은 보여 주지만, 지금 누가 장애를 맡고 있는지, 담당자가 깨어나지 않으면 어떻게 되는지는 알려 주지 않습니다.

Dezhurka는 Prometheus Alertmanager, Grafana, Zabbix 같은 기존 모니터링 뒤에 놓여 누구를 깨울지 결정합니다. 주간·일간 교대와 시간대, 대타 지정을 지원하고, 5분 안에 응답이 없으면 다음 담당자와 팀 리더를 차례로 호출합니다. Telegram의 'Беру(제가 맡겠습니다)' 버튼을 누르면 에스컬레이션이 멈추고 모두가 담당자를 확인할 수 있습니다. 같은 알림이 20번 들어와도 하나의 인시던트로 처리합니다.

구성과 사용 방법

Python 3.12, FastAPI, SQLAlchemy로 만들었으며 저장소는 SQLite 또는 Postgres입니다. 코드는 약 2000줄, 테스트는 24개이고 Docker 컨테이너 하나로 설치합니다. webhook 대신 long polling(getUpdates)을 사용해 폐쇄망에서도 api.telegram.org로의 외부 접속만 있으면 됩니다. 인원, 일정, 정책은 config.yaml에 두고 비밀 값은 환경 변수로 주입합니다.

중복 판별에는 Alertmanager의 fingerprint와 Zabbix의 {EVENT.ID}를 씁니다. 버튼은 연동된 계정만 누를 수 있고, 관리 패널은 Basic 인증과 Origin 검증으로 보호됩니다.

소스 코드는 GitHub의 github.com/wonbix1409/dezhurka에서 볼 수 있습니다. 깨끗한 Ubuntu에서 명령 하나로 Prometheus, Alertmanager, Grafana, 선택적으로 Zabbix가 연결된 데모 환경을 구축하는 설치 스크립트도 제공합니다. 이용 조건은 저장소의 LICENSE에 명시돼 있습니다.

주목할 만한 앱

SUMO: 숫자 퍼즐

올바른 칸을 고르고 더해 목표 숫자를 맞추세요. 배우긴 쉽고 마스터하긴 어렵습니다. 무료, 전 연령.

태그:opsgeniedezhurkatelegramon-callprometheuszabbix

같은 날의 다른 뉴스

전체 보기 →

관련 카테고리: 소프트웨어

전체 보기 →