self-host型の監視ツール、”Uptime Kuma” を使用してみた

AIX、UNIX、LinuxContainerSoftwareUbuntu

リソース監視まではまだしも、Webサービスなどの死活監視だけはしておきたい、等のときに既存のサービスとしてUptimeRobotなどがあります。

ただ、最近GitHubをぶらついているとUptimeRobotによく似たUptime KumaというOSSを見つけました。

類似サービス

Uptime Kuma

コメント

Dockerで環境構築する場合は以下のようにdocker-compose.yml を用意するだけです。

確認環境

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="20.04.2 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Armbian 21.05.6 Focal"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

$ docker version
Client: Docker Engine - Community
 Cloud integration: 1.0.17
 Version:           20.10.8
 API version:       1.41
 Go version:        go1.16.6
 Git commit:        3967b7d
 Built:             Fri Jul 30 19:55:05 2021
 OS/Arch:           linux/arm64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.8
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.6
  Git commit:       75249d8
  Built:            Fri Jul 30 19:53:13 2021
  OS/Arch:          linux/arm64
  Experimental:     true
 containerd:
  Version:          1.4.9
  GitCommit:        e25210fe30a0a703442421b0f60afac609f950a3
 runc:
  Version:          1.0.1
  GitCommit:        v1.0.1-0-g4144b63
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
Uptime Kuma - Version: 1.0.10

docker-compose.yml

version: '3.3'

services:
  uptime-kuma:
    image: louislam/uptime-kuma
    container_name: uptime-kuma
    volumes:
      - ./uptime-kuma:/app/data
    ports:
      - 3001:3001

起動したことを確認したら http://<起動端末のIPアドレス>:3001 にアクセスすることでユーザー作成が促されます。

事象のログ一覧と設定したホストを選択するとレスポンスやuptimeの割合、https接続の場合のSSL証明書の期限なども表示してくれます。

SSL証明書の期限をクリックすると、詳細な日時およびどこの証明書を使用しているかなども確認することも出来ます。

なおこの手のサービス、ツールでおなじみのイベントの通知手段については、この記事時点(2021/08/05)では以下のものが用意されているようです。

主なところのSlackやDiscord、Emailはもちろん、汎用的なWebhookも用意されているのでMicrosoft Teamsなどにも通知することが出来るので十分かと。ちなみにSlackに通知されると右の画像のように出力されます。

気になるところ

  • ユーザーは一つしか作成できない[1]
  • ログイン不要のダッシュボードは作成できない[2]
  • Slackに通知されるときは日時に設定したタイムゾーンが適用されない[3]

まぁ一応はEnhancementsということでタスクになっているので開発待ちというところでしょうか。

2021/08/11 追記

「気になるところ」に書いたログイン不要のダッシュボードについてですが、設定に認証不要にすることが出来る設定がありました。こちらを活用することでダッシュボードを作成出来るようです。ただしこのままだと誰でも設定変更できるような気もするので、本当にpublicにするのは難しいとは思いますが・・・

あと、8月9日に1.1.0がリリースされているのですが、ダークモードが使用できるようになったこと、HTTPチェックについてはステータスコードでも判定できるようになったようです。

Release 1.1.0 · louislam/uptime-kuma
Dark mode Accepted Status Codes for HTTP Monitor (Thanks @chakflying) Follow 3XX Redirects (Thanks @chakflying) Reset Password via CLI Pushy notification (Thank...

2021/08/21 追記

既に1.3.0が公開されていますが、1.2.0でpingのグラフが表示できるようになりました。

グラフ化出来る時間範囲などは変更できないようですが、視覚化されるだけでも便利になったかと思います。

また1.3.0では通知先としてLINEも設定できるようになったようです。

  1. https://github.com/louislam/uptime-kuma/issues/128[]
  2. https://github.com/louislam/uptime-kuma/issues/21[]
  3. https://github.com/louislam/uptime-kuma/issues/40[]
この記事を書いた人

kometchtech

うつ病を患いながら、IT業界の末席にいるおっさんエンジニア。科学計算をしたことがないのに、HPC分野にお邪魔している。興味のある分野で学習したことをblogにまとめつつ、うつ病の経過症状のメモも置いておく日々。じつはRouterboard User Group JPの中の人でもある。 Amazon欲しいものリスト / Arm板を恵んでくれる人募集中

AD / 広告
いつか、そのとき、あの場所で。rev.2

コメント

  1. Louis より:

    Thank you for introducing Uptime Kuma to Japanese!

    Yes, the “Disable Auth” function is not for public. It is for someone who have 3rd-party auth. Public Dashboard is still work in progress.

    • kometchtechkometchtech より:

      I’m glad to hear that the developers are reading this.

      I find uptime kuma very easy to use and I was very happy when I found this OSS.

      I don’t have the skills to develop it, but I support it as a user.

タイトルとURLをコピーしました