Summary

Uptime Kuma의 모니터링 설정 및 사용법에 대해서 정리했습니다. ** Quick Links**

Add Monitor

Uptime Kuma에서 모니터링할 대상을 설정하여 추가한다.

General Options

  • Monitor Type : 모니터링 방법
  • Friendly Name : 별칭
  • Heartbeat Interval : 상태 확인 주기
  • Retries : DOWN시 재시도 횟수
  • Request Timeout : 상태 확인 요청 타임아웃
  • Resend Notification if Down X times consecutively : 서비스가 X 번 다운될 시 알림

주의

Monitor Type 별로 설정 가능 옵션이 변경될 수 있습니다. 위의 옵션은 HTTP(s) 요청 기준으로 작성하였습니다.

Monitor Type

General Monitor Type
Monitor TypeDescription
HTTP(s)특정 URL로 HTTP 요청을 보내고 HTTP 상태 코드가 정상 범주인지 확인한다.
HTTP(s) - Keyword특정 URL로 HTTP 요청을 보내고 상태 코드를 받고 특정 Keyword가 HTML 상으로 나타나는지 확인한다.
TCP Port특정 IP나 도메인의 포트가 열려있고 통신 가능한지 확인한다.
Ping대상 서버로 ICMP 패킷을 보내 서버가 살아서 응답하는지, 지연 시간은 얼마나 걸리는지 확인한다.
DNS특정 도메인 이름이 올바른 IP 주소로 매핑되는지 확인한다.
Docker Container서버의 Docker 소켓과 연결하여 특정 컨테이너가 Running 상태인지 확인한다.
HTTP(s) - Browser Engine (Chrome/Chromium) (Beta)HTTP 요청으로 코드를 받아오는 것을 넘어서 실제 브라우저에 자바스크립트를 모두 실행하고 렌더링을 마치는지 확인한다. (리소스가 많이 든다.)
Special
Monitor TypeDescription
GroupUptime Kuma의 모니터링 중인 설정들을 한 그룹으로 묶어서 상태를 확인할 수 있는 Group을 생성한다.
Passive Monitor Type
Monitor TypeDescription
Push대상 서비스가 Uptime Kuma로 신호를 보내는 방식으로 대상의 상태를 확인한다.
ManualUptime Kuma가 자동으로 상태를 확인하지 않고 관리자가 수동으로 UP/DOWN 상태를 변경한다.
Specific Monitor Type
Monitor TypeDescription
Globalping - Access global monitoring probesGlobalping을 활용하여 특정 국가에서 내 서버에 접속이 가능한지 확인한다.
gRPC(s) - KeywordgRPC 프레임워크 기반의 마이크로서비스 API에 데이터를 요청하고 응답을 확인한다.
HTTP(s) - Json QueryAPI 응답으로 오는 JSON 데이터 구조를 파싱하여 특정 필드 값이 조건에 맞는지 확인한다.
Kafka ProducerKafka Producer와 정상적으로 통신이 가능한지 확인한다.
MQTTMQTT와 정상적으로 통신이 가능한지 확인한다.
RabbitMQRabbitMQ정상적으로 통신이 가능한지 확인한다.
SMTP이메일 발송 서버가 포트를 열어두고 정상적으로 응답하는지 확인한다.
SNMP라우터, 스위치, NAS 등의 하드웨어 상태를 수집하는 SNMP 프로토콜 응답을 확인한다.
Websocket Upgrade웹소켓 서버의 핸드셰이크가 정상적으로 맺어지는지 확인한다.
Database Monitor Type
Monitor TypeDescription
Microsoft SQL ServerMicrosoft SQL Server에 접속하여 정상적으로 동작하고 있는지 확인한다.
MongoDBMongoDB에 접속하여 정상적으로 동작하고 있는지 확인한다.
MariaDB/MySQLMariaDB/MySQL에 접속하여 정상적으로 동작하고 있는지 확인한다.
PostgreSQLPostgreSQL에 접속하여 정상적으로 동작하고 있는지 확인한다.
RedisRedis에 접속하여 정상적으로 동작하고 있는지 확인한다.
RadiusRadius에 접속하여 정상적으로 동작하고 있는지 확인한다.
Game Server
Monitor TypeDescription
GameDigGameDig를 통해 생성된 게임 서버가 정상적으로 동작하는지 확인한다.
Steam Game ServerSteam Game Server가 정상적으로 작동하는지 확인한다.

Advanced Options

OptionDescription
Certificate Expiry NotificationTSL/SSL의 인증서 만료일이 다가오면 알림을 보냅니다.
Domain Name Expiry Notification도메인 만료인이 다가오면 알림을 보냅니다.
Ignore TSL/SSL errors for HTTPS websites대상 웹사이트의 HTTPS 인증서 오류를 무시하고 정상으로 간주합니다.
Add the uptime_kuma_cachebuster parameterURL 끝에 무작위 파라미터를 붙여 캐시를 우회합니다.
Upside Down Mode상태 판단을 반대로 합니다.
Max. Redirects모니터링 시 리다이렉트 횟수를 제한합니다.
Save HTTP Error Response for NotificationsHTTP 오류 시, 응답을 저장하여 알림 템플릿으로 씁니다.
Save HTTP Success Response for NotificationHTTP 성공 시, 응답을 저장하여 알림 템플릿으로 씁니다.
Response Max Length (bytes)저장할 HTTP 응답의 크기를 제한합니다.
Accepted Status Code정상으로 간주할 상태 코드를 지정합니다.
IP FamilyIP 체계를 지정합니다.
Monitor Group해당 모니터를 특정 그룹으로 지정합니다.
Description해당 모니터의 메모를 작성합니다. (Markdown 지원)

Monitor Group

한 서비스가 실행되려면 여러 서비스가 정상적으로 동작해야할 때 사용한다.

Group Example

Mealie라는 서비스는 앱과 PostgreSQL이 정상적으로 구동되어야 되므로 앱과 DB를 Group으로 지정하면 두 서비스가 모두 정상일 때 Mealie라는 Group도 정상으로 표시된다.

Tags

Tags

Tags를 지정해서 검색 시 같은 Tag만 모아보거나 서비스별 타입을 표시해 가시성을 확보할 수 있다.

Notification

서비스의 상태가 변화할 때 원하는 방식으로 알림을 보내준다.

Notificaiton

Discord, Slack, SMS, Email 등 다양한 방법으로 알림을 받을 수 있어 협업과 즉각 조치에 용이하다. 자세한 설정 : Uptime Kuma Notification

Monitoring

주기적으로 서비스의 상태를 확인하여 대시보드에 보여준다.