안녕하세요. 달소입니다.
사이트를 여러개 운영하다보면 내 사이트가 잘 되고있는지. 인증서는 얼마나 남았는지 등 꼼꼼하게 챙겨봐야 할게 참 많습니다.
그래서 소개시켜 드린 툴이 Uptime Kuma인데요.
Uptime Kuma를 통해 서버의 헬스체크(ping) 및 웹사이트 도메인을 입력해서 주기적으로 사이트의 헬스체크가 가능합니다.
헬스체크 결과에 따른 알림도 여러방식으로 가능하구요.
이 Uptime Kuma를 오라클클라우드(외부)에 설치하는 이유는 내부에서 인터넷이 장애가 나면.. 어차피 통신이 끊겨서 알람도 못 보내고 못 받는 상황이 오기 때문입니다.
내부 모니터링은 자원 모니터링도 가능한 Zabbix와 같은 툴을 추천 드리고 외부에서는 간단하게 활용가능 한 Uptime Kuma를 사용해 보시는건 어떠신지 추천 드려봅니다 ㅎㅎ
구축환경
Oracle Cloud ARM 인스턴스
OS : Ubuntu 20.04
Docker : 20.10.11
Docker-compose : 1.29.2
Uptime Kuma 컨테이너 생성하기.
컨테이너를 생성하기전에 데이터를 저장할 디렉터리먼저 생성해주겠습니다.
mkdir -p /data/uptime-kuma/data
사용할 이미지는 https://hub.docker.com/r/louislam/uptime-kuma 이며 여기서는 docker-compose를 제공해주지 않아서 직접(?) 대충 커스텀해서 만들었습니다.
docker-compose 를 사용하는경우 추후 마이그레이션시 설정값을 까먹을일이 없어서 더 선호하는 편입니다.
vi /data/uptime-kuma/docker-compose.yml
version: "3"
services:
app:
container_name: uptime-kuma
image: louislam/uptime-kuma:latest
restart: always
volumes:
– /data/uptime-kuma/data:/app/data
ports:
– “3001:3001”
작성후에는 해당 디렉터리로 이동해주신뒤 docker-compose를 실행시켜주세요.
cd /data/uptime-kuma
docker-compose up -d
이렇게 실행시키신뒤 ip:3001 포트로 접근해주시면 아래처럼 사이트가 열립니다.
혹시 열리시지 않는다면 OS방화벽 및 사용하고 계신 클라우드의 방화벽 정책을 확인하시면 되겠습니다.
사용방법은 더 간단합니다.
각 모니터링 종류마다 다르지만
웹의경우 HTTP(s)를 누른뒤 이름 URL정도만 넣어도 작동이 되며 알람부분은 추후에 설정해줄 경우 통신 실패시 슬랙이나 메일같이 알람을 받을수 있게 설정 하는것입니다.
이렇게 쉽게 구축이 가능합니다!
다음글에서는 이 Uptime Kuma에서 사이트의 이상을 확인했을때 알람을 보내줄 수 있도록 구현해보도록 하겠습니다.[Reference] : 달소, 「서버포럼 – 오라클클라우드에서 웹사이트 모니터링하기.(Uptime Kuma)」