uptime kuma
간단한 시스템 모니터링 소프트웨어. 보통 모니터링으로 유명한 건 prometheus + grafana 조합으로 어느정도 표준화되어 있지만, 간단하게 시스템 상황만 모니터링하고 알림을 받기에는 uptime kuma도 꽤 괜찮은 솔루션이다.
https://github.com/louislam/uptime-kuma
- 쉬운 설치 및 사용: 복잡한 설정 없이 빠르게 구축하고 직관적인 대시보드에서 모니터링할 수 있습니다.
- 다양한 모니터링 방식: HTTP/HTTPS, TCP, Ping, DNS, Keyword 등 여러 프로토콜로 서비스 상태를 점검합니다.
- 알림 연동: 서비스 장애 시 슬랙(Slack), 디스코드(Discord), 텔레그램(Telegram), 이메일 등으로 즉시 알림을 받을 수 있습니다.
- SSL 인증서 관리: SSL 인증서 만료일을 미리 알려주어 보안 관리를 돕습니다.
- 자체 호스팅 (Self-Hosted): 직접 서버에 설치하여 운영하므로 데이터 프라이버시를 지키며 무료로 사용할 수 있습니다.
- 간편한 대시보드: 깔끔하고 사용자 친화적인 UI로 서비스 상태를 한눈에 파악할 수 있습니다.
- 모바일 앱 지원: Uptime Kuma Manager 앱 등을 통해 스마트폰에서도 쉽게 모니터링할 수 있습니다.
간단하게 docker compose를 다음과 같이 작성하면 된다. (주석 부분은 traefik을 사용했을때 쓰는 부분)
services:
uptime-kuma:
container_name: uptime-kuma
image: louislam/uptime-kuma:2
restart: unless-stopped
volumes:
- ./data:/app/data
ports:
- "3001:3001"
environment:
- PUID=1000
- PGID=1000
#labels:
# - "traefik.enable=true"
# - "traefik.http.routers.uptimekuma.rule=Host(`monitor.neue.nz`)"
# - "traefik.http.routers.uptimekuma.entrypoints=websecure"
# - "traefik.http.routers.uptimekuma.tls=true"
# - "traefik.http.routers.uptimekuma.tls.certresolver=letsencrypt"
# - "traefik.http.services.uptimekuma.loadbalancer.server.port=3001"
#networks:
# - proxy
#networks:
# proxy:
# external: true
대부분의 사이트 추가, 알림 설정은 앱을 구동하고 적용하면 된다.
기본적으로 admin 은 로그인 후 대시보드에서 사이트 추가, 설정 작업을 할 수 있고,
매번 로그인하는 것도 귀찮기 때문에 (보통은 로그인을 아예 비활성화하고 traefik에서 OIDC middleware를 사용하여 공통으로 로그인하게 구현) 로그인하지 않은 상태에서 status 페이지를 볼 수 있게 설정할 수도 있다.
간단한 모니터링 소프트웨어라고 했지만, 굉장히 많은 설정으로 사이트의 상태 체크가 가능하다. login 하지 않으면 볼 수 없는 사이트 등도 인증 설정을 해서 로그인 후의 사이트 모니터링도 가능
공통 알림도 설정할 수 있다. 여기서는 현재 사용하는 gotify만 설정했지만 꽤 다양한 옵션이 있다.
- 대시보드 디자인이 개인 취향에 맞는다.
- 터미널에서 일일히 docker compose, config 파일 등을 편집하는 것은 싫고 웹에서 설정하는 게 취향이다.
- 각 서버마다 prometheus exporter 등을 설치해서 관리하는 것, 복잡한 grafana 대시보드 등의 설정이 크게 필요하지 않다.
이정도라면 uptime kuma는 기본적인 홈랩 모니터링 소프트웨어로 충분하다.




No comments to display
No comments to display