
안녕하세요, Mark입니다.
지금까지 서버에 Ghost 블로그와 워드프레스까지 올렸습니다. 그런데 문득 이런 생각이 들었어요.
“블로그가 잘 돌아가고 있는지 내가 어떻게 알지? 내가 자는 동안 서버가 다운돼도 모르는 거 아니야?”
블로그는 결국 남들이 찾아와서 읽어줘야 의미가 있는데, 내가 모르는 사이에 다운되어 있다면 방문자는 그냥 빈 화면만 보고 떠나버립니다. 특히 에드센스 심사 중에 그런 일이 생기면 정말 곤란하죠.
이 문제를 해결해주는 게 바로 오늘 설치할 업타임 쿠마(Uptime Kuma)입니다.
🐻 업타임 쿠마가 뭔가요?
업타임 쿠마는 한마디로 내 서버와 웹사이트를 24시간 감시해주는 무료 오픈소스 모니터링 도구입니다.
유료 모니터링 서비스들이 있지만, 자체 서버가 있는 우리한테는 이걸 직접 설치해서 공짜로 쓸 수 있습니다. GitHub에서 무려 6만 개 이상의 별(Star)을 받은 검증된 도구예요.
쉽게 비유하면 이렇습니다.
💡 비유하자면: 건물 경비원입니다. 24시간 건물(서버) 입구를 지키면서 문제가 생기면 즉시 주인(나)한테 연락을 합니다. 경비원이 없으면 도둑이 들어도, 불이 나도 주인은 아침에 출근해서야 알게 되는 거죠.
🔍 뭘 감시할 수 있나요?
업타임 쿠마가 감시할 수 있는 것들이 생각보다 많습니다.
| 모니터링 종류 | 설명 |
|---|---|
| HTTP(S) | 웹사이트가 정상적으로 열리는지 확인 |
| TCP 포트 | 특정 포트가 열려있는지 확인 |
| Ping | 서버가 살아있는지 네트워크 응답 확인 |
| DNS | 도메인 설정이 올바른지 확인 |
| 도커 컨테이너 | 컨테이너가 실행 중인지 직접 확인 |
| SSL 인증서 | 인증서 만료일 추적 및 알림 |
저처럼 서버에 Ghost, 워드프레스, NPM, 포테이너 등 여러 프로그램을 올려놓은 경우, 이것들을 한꺼번에 등록해두면 하나라도 문제가 생기는 순간 바로 알 수 있습니다.
특히 SSL 인증서 만료 추적 기능이 유용합니다. Let’s Encrypt 인증서는 90일마다 갱신되는데, NPM이 자동 갱신을 해주긴 하지만 혹시라도 실패하면 사이트가 갑자기 보안 경고를 내뿜거든요. 업타임 쿠마가 미리 경고해줍니다.
📱 알림은 어떻게 받나요?
문제가 생겼을 때 알림을 받을 수 있는 방법이 무려 90가지 이상입니다.
대표적인 것들만 보면:
- 텔레그램 ← 가장 많이 씁니다
- 디스코드
- 슬랙
- 이메일 (SMTP)
- 카카오톡 (써드파티 연동)
- 푸시 알림 (스마트폰)
저는 텔레그램 봇을 연동해서 사용하고 있습니다. 서버에 뭔가 문제가 생기면 스마트폰으로 바로 알림이 오거든요. 새벽에 서버가 다운돼도 아침에 확인하는 게 아니라, 다운되는 순간 알림을 받고 바로 대응할 수 있습니다.
📦 포테이너 스택으로 설치하기
설치는 이제 익숙하시죠? ㅎㅎ 포테이너 스택으로 뚝딱입니다.
Stacks → Add Stack 으로 이동 후 아래 내용을 붙여넣습니다.
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: always
ports:
- 3001:3001
volumes:
- /home/ubuntu/uptime-kuma:/app/data
# ▲ 데이터를 홈 폴더에 저장해서 백업하기 쉽게 합니다
- /var/run/docker.sock:/var/run/docker.sock
# ▲ 도커 컨테이너 상태를 직접 감시하기 위해 필요합니다
services:
uptime-kuma:
image: louislam/uptime-kuma:1
container_name: uptime-kuma
restart: always
ports:
- 3001:3001
volumes:
- /home/ubuntu/uptime-kuma:/app/data
# ▲ 데이터를 홈 폴더에 저장해서 백업하기 쉽게 합니다
- /var/run/docker.sock:/var/run/docker.sock
# ▲ 도커 컨테이너 상태를 직접 감시하기 위해 필요합니다
스택 설명
| 항목 | 설명 |
|---|---|
louislam/uptime-kuma:1 | 안정적인 버전 1 사용 (latest보다 안정적) |
3001:3001 | 접속 포트 |
/app/data | 설정과 데이터 저장 경로 |
docker.sock | 도커 컨테이너 상태를 직접 감시하기 위한 연결 |
💡 docker.sock이 뭔가요? 도커 컨테이너들의 상태를 업타임 쿠마가 직접 들여다볼 수 있게 해주는 통로입니다. 이게 있어야 “Ghost 컨테이너가 죽었다”, “워드프레스 컨테이너가 살아있다” 같은 걸 감시할 수 있어요.
Deploy the Stack 클릭 후 설치 완료!
🌐 접속 및 초기 설정
브라우저에서 접속합니다.
http://[서버 IP]:3001
http://[서버 IP]:3001
⚠️ 업타임 쿠마는 도메인 연결을 권장하지 않습니다. 포테이너, NPM과 마찬가지로 외부에 노출하면 보안상 좋지 않아요. IP와 포트로만 접속하세요.
처음 접속하면 관리자 계정을 만드는 화면이 나옵니다. 아이디와 비밀번호를 설정하면 대시보드가 열립니다.
➕ 모니터링 추가하기
설치가 끝났으면 이제 감시할 항목들을 등록해야 합니다.
+ 모니터 추가 버튼을 클릭하면 등록 화면이 나옵니다.
웹사이트 모니터링 추가
| 항목 | 입력값 |
|---|---|
| 모니터 유형 | HTTP(s) |
| 이름 | Ghost 블로그 (원하는 이름) |
| URL | https://occultodyssey.com |
| 하트비트 간격 | 60 (60초마다 체크) |
저장하면 바로 모니터링이 시작됩니다. 초록색 불이 들어오면 정상, 빨간색이면 다운된 겁니다.
도커 컨테이너 모니터링 추가
| 항목 | 입력값 |
|---|---|
| 모니터 유형 | Docker Container |
| 이름 | Ghost Container |
| 컨테이너 이름/ID | ghost |
이렇게 등록하면 컨테이너가 갑자기 죽어도 바로 알 수 있습니다.
📊 상태 페이지 기능
업타임 쿠마에는 공개 상태 페이지를 만드는 기능도 있습니다.
대형 서비스들 보면 status.서비스명.com 같은 페이지에서 현재 서버 상태를 공개하는 걸 볼 수 있잖아요. 업타임 쿠마로 그걸 만들 수 있습니다.
독자들한테 “현재 블로그 운영 상태”를 투명하게 보여주는 용도로 쓸 수 있어요. 블로그 신뢰도가 올라가는 효과도 있고요. 뭔가 있어보이기도 하고 ㅎㅎ
✅ 핵심 요약
| 항목 | 내용 |
|---|---|
| 무엇을 | 웹사이트, 도커 컨테이너, SSL 인증서 등 감시 |
| 어떻게 | 주기적으로 접속해보고 응답 없으면 알림 발송 |
| 알림 방법 | 텔레그램, 디스코드, 이메일 등 90가지 이상 |
| 감시 주기 | 기본 60초, 조정 가능 |
| 특이사항 | 도메인 연결 없이 IP로만 접근 권장 |
마치며
블로그를 설치하는 것도 중요하지만, 설치한 것들이 잘 돌아가는지 감시하는 것도 서버 운영의 중요한 부분입니다. 업타임 쿠마 하나로 서버에 올라간 모든 프로그램을 한눈에 관리할 수 있어요.
다음 편에서는 이렇게 만든 블로그가 구글, 네이버, 빙 같은 검색엔진에 노출되도록 서치 콘솔에 도메인을 등록하는 방법을 알아보겠습니다. 아무리 좋은 블로그도 검색에 안 잡히면 진짜 일기장이 되는 거니까요. ㅎㅎ
Mark의 한마디: “서버 운영하면서 가장 불안한 게 ‘지금 잘 돌아가고 있나?’ 하는 거였는데, 업타임 쿠마 설치하고 나서 그 불안이 사라졌습니다. 스마트폰에 텔레그램 알림 설정해두면 어디서든 서버 상태를 바로 알 수 있거든요. 설치 안 하면 손해입니다 ㅎㅎ”