살아 있나 감시하기
손님 전화로 장애를 처음 알면 이미 늦어요. 기계가 1분마다 대신 문을 밀어 보게 하고, 안 열리면 사장님 폰이 먼저 울리게 하는 일이에요.
쉽게 말하면
가게는 셔터가 안 올라가면 앞을 지나던 사람이 바로 알아요. 옆 가게 사장님이 전화를 주기도 하고요. 인터넷 가게는 앞을 지나가는 사람이 없어요. 문이 잠겨 있어도 그 앞에 서 있는 사람이 아무도 없어요. 살아 있나 감시하기는 가게 앞을 대신 지나가 줄 사람을 하나 두는 일이에요. 그 사람은 1분마다 문을 밀어 보고, 안 열리면 사장님 폰으로 전화를 걸어요.
이 장치는 고장을 막지 못해요. 아는 시각을 앞당길 뿐이에요. 그런데 피해 크기는 대개 멈춘 시간에 그동안 왔을 손님 수를 곱한 값이라, 아는 시각이 그대로 피해 규모가 돼요.
두 시간 반은 장애 시간이 아니라 몰랐던 시간이에요. 고치는 데 걸린 시간은 15분이었어요.
같은 고장, 같은 실력이에요. 다른 건 아는 시각 하나예요.
무엇을 지켜보게 하나
첫 화면 하나만 등록해 두는 경우가 가장 많아요. 그런데 실제 사고는 앞은 멀쩡한데 안이 죽는 모양으로 더 자주 와요. 첫 화면은 사진과 글이라 웬만해선 안 죽고, 죽는 건 남의 서비스에 말을 거는 자리예요.
| 지켜볼 자리 | 여기가 죽으면 벌어지는 일 | 안 보면 언제 알게 되나 |
|---|---|---|
| 첫 화면 | 가게가 통째로 안 열려요. 가장 눈에 띄는 대신 가장 드문 사고예요 | 누구나 금방 알아요. 그래서 이것만 보면 부족해요 |
| 주문이나 예약을 끝내는 화면 | 구경은 되는데 마지막 버튼에서 멈춰요. 매출이 그대로 0이 돼요 | 손님이 전화해 줄 때. 대부분은 전화 없이 그냥 나가요 |
| 로그인 | 기존 손님만 못 들어와요. 새 손님 화면은 멀쩡해 보여요 | 재구매 손님이 문의할 때. 하루가 지나기도 해요 |
| 결제사에서 결과를 받는 자리 | 돈은 빠졌는데 주문이 안 잡히는 상태가 쌓여요 | 정산할 때. 며칠 뒤라서 수습이 가장 비싼 종류예요 |
| 관리자 화면 | 손님은 아무 문제 없고 사장님만 못 들어가요 | 일하려고 열었을 때. 급하지만 손님 피해는 없어요 |
돈이 지나가는 길부터 등록해요
감시 대상을 다섯 개 넘게 두면 관리가 무거워져요. 처음에는 두 개면 충분해요. 첫 화면 하나, 주문이나 예약이 끝나는 화면 하나. 결제를 붙였다면 결제 결과를 받는 자리를 세 번째로 넣어요. 나머지는 사고를 한 번 겪은 뒤에 늘려도 늦지 않아요.
살아 있다는 판정을 어떻게 하나
감시 도구가 하는 일은 단순해요. 정해진 주소를 정해진 간격으로 열어 보고, 돌아온 답이 약속과 다르면 실패로 세요. 다섯 걸음이에요.
- 1정한 간격마다 주소를 열어요. 1분에서 5분 사이가 흔해요. 짧을수록 빨리 알지만 그만큼 자주 두드리는 셈이에요.
- 2돌아온 번호를 봐요. 200이면 정상, 500대면 서버 탓이에요. 번호의 뜻은 상태 코드에 있어요.
- 3화면 안에 있어야 할 문구가 있는지 봐요. 이 한 걸음이 감시의 값을 절반 넘게 정해요.
- 4연속으로 실패했는지 봐요. 한 번 실패는 흔한 잡음이라 대개 두세 번 연속일 때만 사고로 쳐요.
- 5사고로 판정되면 알립니다. 복구되면 복구도 알려요. 끝났다는 소식이 없으면 사장님이 계속 붙들려 있게 돼요.
세 번째 걸음이 빠진 감시는 자주 헛돌아요. 요즘 화면은 껍데기를 먼저 보내고 내용을 나중에 채우는 방식이 많아서, 내용이 통째로 비어도 번호는 200으로 오는 일이 생겨요. "예약하기"라는 글자가 화면에 있는지까지 확인하라고 정해 두면 이 구멍이 막혀요.
장면 · 외주 개발자가 감시를 붙여 주며 말했다
“메인 주소로 1분마다 핑 돌게 해 뒀습니다. 초록불이면 정상이에요.”
여기서 되물을 건 두 가지예요. "주문 끝나는 화면도 보고 있나요." 그리고 "화면 안 글자까지 확인하나요, 열리는 것만 보나요." 둘 다 아니라면 그 초록불은 첫 화면이 열린다는 뜻까지만이에요. 초록불을 믿고 결제가 멈춘 걸 반나절 모르는 상황이 여기서 나와요.
가짜 경보가 감시를 망쳐요
이 장치가 실패하는 이유 1위는 고장을 못 잡아서가 아니에요. 너무 자주 울려서 사장님이 알림을 끄기 때문이에요. 새벽 3시에 두 번 헛울리면 그다음 주에 알림은 무음으로 바뀌어 있어요.
| 헛울리는 원인 | 실제로 벌어진 일 | 대처 |
|---|---|---|
| 한 번 실패에 바로 알림 | 인터넷 경로가 잠깐 흔들린 것뿐이에요. 손님은 아무 일도 겪지 않았어요 | 두세 번 연속 실패일 때만 알리게 바꿔요 |
| 감시 도구가 봇으로 차단당함 | 1분마다 두드리는 걸 공격으로 보고 막았어요. 사이트는 멀쩡해요 | 감시용 주소를 따로 두거나 차단 목록에서 빼 줘요 |
| 배포하는 몇 분 동안 실패 | 새 판으로 갈아 끼우는 중이라 잠깐 안 열려요 | 배포 시간에는 알림을 잠시 멈춰요. 되돌리기 때도 같아요 |
| 해외에서만 실패 | 감시 지점이 멀어서 시간이 초과됐어요. 국내 손님은 잘 쓰고 있어요 | 손님이 실제로 있는 지역에서 보게 지점을 맞춰요 |
| 확인 시간이 너무 짧음 | 느린 화면이 정상 범위 안인데도 실패로 잡혀요 | 가장 느린 화면 기준으로 여유를 두고 다시 정해요 |
무시하기 시작한 알림은 없는 알림이에요
알림이 한 주에 세 번 넘게 헛울리면 그건 설정을 고치라는 신호예요. 감시의 목표는 많이 알리는 게 아니라 울렸을 때 반드시 진짜인 상태를 만드는 거예요. 알림을 어디로 어떻게 받을지는 장애 알림 받기 쪽 이야기예요.
처음 정할 값 다섯 가지
설정 화면에서 채우게 되는 칸은 대개 이 다섯 개예요. 정답은 가게마다 다르지만, 처음에는 오른쪽 칸대로 두고 한 달 겪어 본 뒤 고치면 돼요.
| 칸 | 처음에는 이렇게 | 왜 |
|---|---|---|
| 확인 간격 | 5분으로 시작해요 | 1분이 좋아 보이지만 헛울림도 다섯 배로 늘어요. 손님이 늘면 그때 줄여요 |
| 사고로 치는 연속 실패 횟수 | 2회 | 1회는 잡음이 섞이고, 3회는 5분 간격이면 15분을 기다리게 돼요 |
| 응답을 기다려 주는 시간 | 10초 안팎 | 가장 느린 화면이 평소 몇 초인지 재 보고 그 두 배쯤으로 잡아요 |
| 화면 안에서 찾을 문구 | "주문하기"처럼 그 화면에만 있는 말 | 회사 이름은 오류 화면에도 있어서 확인이 안 돼요 |
| 밤에도 울릴지 | 돈이 지나가는 화면만 밤에도 울려요 | 전부 울리게 두면 사람이 먼저 지쳐요. 밤에 못 고칠 것은 아침에 봐도 돼요 |
확인해 보세요
감시 도구가 초록불인데 손님이 "결제가 안 된다"고 전화했어요. 가장 먼저 의심할 것은?
직접 해보기
직접 해보기
감시할 주소 두 개를 먼저 적어 두세요
감시 도구를 고르는 것보다 이게 먼저예요. 내가 만든 것들을 열어 보고, 손님이 실제로 돈을 쓰는 화면의 주소 하나와 첫 화면 주소 하나를 메모장에 적어 두세요. 그리고 그 화면에만 있는 글자를 하나씩 골라 옆에 적어요. 어떤 감시 도구를 쓰든 이 네 줄을 그대로 옮겨 넣으면 설정이 끝나요.
내가 만든 것 열어 보기- Q. 감시 도구는 돈이 많이 드나요?
- 감시 대상이 몇 개인 수준에서는 무료 요금제로 시작할 수 있는 곳이 여럿 있어요. 값이 올라가는 건 확인 간격을 짧게 할 때와 감시 지점을 여러 나라로 늘릴 때예요. 손님이 국내에만 있으면 둘 다 필요 없어요.
- Q. 만든 곳에서 이미 봐 주지 않나요?
- 사이트를 올려 둔 곳은 자기네 서버가 살아 있는지는 봐요. 사장님 화면의 주문 버튼이 도는지는 안 봐요. 밖에서 손님처럼 두드려 보는 눈은 따로 두는 게 맞아요. 안에서 보는 눈만 있으면 그 안이 통째로 멈췄을 때 알려 줄 사람이 없어요.
- Q. 바이브캠퍼스에서 만든 것도 감시가 필요한가요?
- 필요해요. 만들어서 세상에 열어 둔 순간부터 주소가 생기고, 주소가 있으면 안 열리는 날도 생겨요. 감시는 밖에서 지켜보는 별개 장치라 만든 도구와 상관없이 따로 붙여요.
- Q. 알림이 왔는데 열어 보니 멀쩡해요. 무시해도 되나요?
- 그날은 넘어가도 되지만 기록은 남기세요. 같은 시간대에 반복되면 잡음이 아니라 짧게 반복되는 진짜 장애일 수 있어요. 새벽 특정 시각마다 실패한다면 그 시간에 도는 자동 작업을 의심해요.
- Q. 감시를 붙였는데 장애가 났어요. 그럼 소용없는 것 아닌가요?
- 감시는 예방 장치가 아니라 탐지 장치예요. 목표는 사고 0건이 아니라 모르고 지나간 시간 0분이에요. 알림을 받은 다음 무엇을 어떤 순서로 할지는 장애가 났을 때 순서에 있어요.
더 깊이 (안 읽어도 괜찮아요)
핑이 되는데 사이트가 안 열리는 이유 · 예전 방식은 서버가 살아 있는지만 물었어요. 서버는 켜져 있는데 그 위에서 도는 프로그램만 멈춘 상태가 흔해요. 이때 옛 방식은 초록불을 그대로 켜 둬요. 그래서 지금은 실제 손님이 여는 주소를 그대로 열어 보는 방식으로 바뀌었어요. 감시는 손님과 같은 길로 들어와야 뜻이 있어요.
확인 전용 주소를 따로 만드는 방법 · 규모가 커지면 감시용으로 작은 주소를 하나 만들어 두기도 해요. 그 주소를 열면 데이터베이스에 실제로 한 번 물어보고 결과만 짧게 답하게 만드는 식이에요. 첫 화면을 여는 것보다 가볍고, 안쪽까지 살아 있는지 확인돼요. 만들어 달라고 할 때는 "손님 정보는 아무것도 안 나오게 해 주세요"를 같이 말해요.
몇 퍼센트 살아 있었나를 세는 이유 · 감시 기록이 쌓이면 한 달 중 몇 퍼센트가 정상이었는지 숫자가 나와요. 이 숫자는 기업 손님과 계약할 때 요구받는 항목이에요. 지금 당장은 안 써도, 기록이 없으면 나중에 뒤로 만들 수 없어요. 감시를 일찍 붙여 두는 값이 여기서도 나와요.
이것만 기억하세요
- ·감시는 고장을 막지 못하고 아는 시각을 앞당겨요. 그 시각이 곧 피해 규모예요
- ·첫 화면만 등록하면 절반만 봐요. 주문이나 예약이 끝나는 화면을 꼭 넣어요
- ·열리는지만 보지 말고 그 화면에만 있는 글자까지 확인하게 해요
- ·헛울림이 잦으면 알림이 꺼져요. 두세 번 연속 실패일 때만 울리게 조여요
- ·밤에 울릴 것은 돈이 지나가는 화면만으로 줄여요. 사람이 먼저 버텨야 해요