[Docker] Uptime Kuma 사용법
ㅁ 들어가며
회사 동료를 통에 알게된 Uptime Kuma는 오픈 소스로 제공되는 자체 호스팅형 모니터링 도구로, 서버와 웹사이트의 상태를 지속적으로 모니터링할 수 있는 강력한 툴이다. 이 글에서는 Uptime Kuma를 Docker로 설치하고 사용하는 방법을 정리하였다. 그래서 기본적으로 Docker가 필요하다. 자세한 활용 방법은 유튜브 영상에서 확인할 수 있다.
ㅁ Uptime Kuma란?
Uptime Kuma는 서버의 헬스체크(ping), 웹사이트 도메인 상태 확인, SSL 인증서 만료 여부 감지 등 다양한 기능을 제공하는 모니터링. 도구다. 무료 오픈 소스로 제공되며, 자체 호스팅이 가능하다. 또한, HTTP, HTTPS, TCP 포트 모니터링 및 다양한 알림 서비스를 연동할 수 있다. git 소스는 uptime-kumas에 있다.
ㅁ Docker 볼륨 설정
# 볼륨 생성
$ docker volume create uptime-kuma
# 볼륨확인
$ docker volume inspect uptime-kuma
[
{
"CreatedAt": "2024-10-24T18:24:31Z",
"Driver": "local",
"Labels": null,
"Mountpoint": "/var/lib/docker/volumes/uptime-kuma/_data",
"Name": "uptime-kuma",
"Options": null,
"Scope": "local"
}
]
ㅇ 데이터를 저장할 볼륨을 생성한다.
ㅁ Uptime Kuma 컨테이너 실행
# 도커 실행
docker run -d --restart=always \
-p 3001:3001 \
-v uptime-kuma:/app/data \
--name uptime-kuma \
louislam/uptime-kuma:latest
ㅁ 접속 테스트 및 관리자 계정 생성
ㅇ http://localhost:3001로 접속하여 관리자 계정을 만든다.
ㅁ 모니터링 추가
ㅇ 메인 페이지에서 '추가' 버튼을 클릭하여 새로운 모니터링을 설정한다.
ㅇ HTTP 웹사이트 URL을 입력하여 상태를 확인해 보았다.
ㅁ 모니터링 종류
종류 | 모니터링 |
일반 모니터링 | Group HTTP(s) TCP Port Ping HTTP(s) - 키워드 HTTP(s) - Json Query gRPC(s)- 키워드 DNS 도커 컨테이너 HTTP(s) - Browser Engine (Chrome/Chromium) (Beta) |
수동 모니터링 | Push |
특정 모니터링 | 스팀 게임 서버 GameDig MQTT Kafka Producer Microsoft SQL Server PostgreSQL MySQL/MariaDB MongoDB Radius Redis |
ㅁ 알림 설정
ㅇ 슬랙 연동
- 슬랙에서 웹훅 URL을 생성하고 Uptime Kuma에 입력하여 알림을 받을 수 있다.
ㅇ 이메일 알림
- SMTP 설정을 통해 이메일로 알림을 받을 수 있다.
ㅇ 기타 알림 서비스가 가능
- 텔레그램, 디스코드 등 다양한 플랫폼과 연동 가능하다.
ㅇ 연동 방법은 Uptime Kuma로 서비스 상태 모니터링하기 | 클라우드타입 유튜브 영상에 잘 나와 있다.
ㄴ 연동 방법 뿐 아니라 아래처럼 다양한 부분에서 활용할 수 있다.
ㅁ 활용 예시
ㅇ 서버 상태 체크: 서버의 가동 여부를 지속적으로 확인하여 다운타임을 최소화할 수 있다.
ㅇ SSL 인증서 만료 체크: SSL 인증서의 만료일을 미리 감지하여 갱신 시기를 놓치지 않도록 한다.
ㅇ 다양한 프로토콜 지원: HTTP, HTTPS, TCP 등 다양한 프로토콜로 웹사이트와 서비스를 모니터링할 수 있다.
ㅁ 마무리
Uptime Kuma는 간단하면서도 강력한 기능을 제공하는 모니터링 도구다. 오픈 소스로 제공되어 누구나 무료로 사용할 수 있으며, 다양한 알림 옵션과 프로토콜 지원으로 유연한 모니터링 환경을 구축할 수 있다. Docker를 통해 손쉽게 설치하고 설정할 수 있어 개인 사용자부터 기업까지 폭넓게 활용 가능하다.
ㅁ 함께 보면 좋은 사이트
ㅇ git: uptime-kumas
ㄴ 로컬 디렉토리를 마운트하는 docker-compose 방법 정리해 놓음.