Profile picture

[Docker] 모니터링 툴 - Uptime Kuma

JaehyoJJAng2023년 05월 19일

Uptime Kuma

image


도커를 사용하여 매우 간단하게 설치가 가능하고, 웹 서비스 모니터링 툴로 직관적인 UI가 매력적이다.

HTTP, HTTPS, TCP 포트 모니터링이 가능하고, 여러 개의 알림 서비스로 연동도 가능하다.


도커로 설치

  • 구축 환경: Ubuntu 22.04
  • 도커 설치 필요
    • docker
    • docker compose

docker run

Docker run 커맨드로 설치

docker run -d -it --restart=always -p 3001:3001 \
-v uptime-kuma:/app/data \
--name uptime-kuma \
louislam/uptime-kuma:1

Docker Compose


Docker Compose로 설치
{% include codeHeader.html name="~/uptime-kuma/docker-compose.yaml" %}

version: "3.9"

services:
  app:
    image: louislam/uptime-kuma:1
    restart: always
    container_name: app
    volumes:
      - type: volume
        source: "uptime-kuma"
        target: "/app/data"
    ports:
      - target: 3001
        published: 3001
        protocol: tcp
        mode: host
    networks:
      - "kuma-net"

volumes:
  uptime-kuma: {}

networks:
  kuma-net:
    driver: bridge
    external: false

컨테이너 실행

docker-compose up -d --build

컨테이너 상태 체크

docker-compose ps

NAME                COMMAND                  SERVICE             STATUS              PORTS
app                 "/usr/bin/dumb-init …"   app                 running (healthy)   0.0.0.0:3001->3001/tcp, :::3001->3001/tcp

세부 설정

컨테이너가 정상적으로 배포되었다면 다음 주소를 브라우저에 입력하여 서비스에 진입해보도록 하자.
👉 http://<IP주소>:3001
image
처음 접속하게 되면 관리자 계정을 생성하라는 문구가 뜬다.


계정을 생성하여 로그인을 하게되면 메인 페이지로 리다이렉션되고, 추가 버튼을 통해 모니터링을 추가할 수 있다.
image


현재 나는 인디 게임 서버를 도커로 배포하여 운영 중이다.

도커로 운영 중인 서버를 모니터링 하기 위해 RCON 프로토콜의 포트인 25575:TCP를 모니터링 시키도록 해보겠다.

도커 컨테이너가 죽게되면 해당 컨테이너 안에서 동작 중인 RCON 프로토콜 또한 같이 죽어버리기 때문에

만약 RCON이 모니터링 되지 않는다면 컨테이너가 죽은 것이 된다.
image


상태페이지 생성

uptime kuma에서는 직관적으로 서버 상태를 확인할 수 있도록 "상태 페이지"를 따로 제공하고 있다.
image


생성하는 방법은 간단하다.

상태 페이지 타이틀을 만들고 주소를 적절하게 명시해준 후
image


생성해놓은 모니터링을 연동해주면 된다.
image
그 외에도 상태 페이지를 자세하게 설명해줄 수 있는 항목도 존재하니 알아서 커스텀 해보면 될 것 같다.


Loading script...