Skip to main content

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

대부분의 사이트 추가, 알림 설정은 앱을 구동하고 적용하면 된다.

스크린샷 2026-01-16 101435.png

기본적으로 admin 은 로그인 후 대시보드에서 사이트 추가, 설정 작업을 할 수 있고,

스크린샷 2026-01-16 101253.png

매번 로그인하는 것도 귀찮기 때문에 (보통은 로그인을 아예 비활성화하고 traefik에서 OIDC middleware를 사용하여 공통으로 로그인하게 구현) 로그인하지 않은 상태에서 status 페이지를 볼 수 있게 설정할 수도 있다.

스크린샷 2026-01-16 101533.png

간단한 모니터링 소프트웨어라고 했지만, 굉장히 많은 설정으로 사이트의 상태 체크가 가능하다. login 하지 않으면 볼 수 없는 사이트 등도 인증 설정을 해서 로그인 후의 사이트 모니터링도 가능

스크린샷 2026-01-16 101648.png

공통 알림도 설정할 수 있다. 여기서는 현재 사용하는 gotify만 설정했지만 꽤 다양한 옵션이 있다.

  • 대시보드 디자인이 개인 취향에 맞는다.
  • 터미널에서 일일히 docker compose, config 파일 등을 편집하는 것은 싫고 웹에서 설정하는 게 취향이다.
  • 각 서버마다 prometheus exporter 등을 설치해서 관리하는 것, 복잡한 grafana 대시보드 등의 설정이 크게 필요하지 않다.

이정도라면 uptime kuma는 기본적인 홈랩 모니터링 소프트웨어로 충분하다.