自分のサーバーで動かせる、Webサイトやサービスの稼働状況を監視して異常時に通知してくれるモニタリングツールです。
・企業:自社のWebサイトやシステムの稼働状況を常時監視でき、障害発生時にはSlackやメールなど90種類以上の通知手段で即座にチームへ知らせることができます。 ・スタートアップ:サービスの稼働率をステータスページとして顧客に公開でき、信頼性のアピールとダウンタイムの迅速な対応を両立できます。 ・個人事業主・フリーランス:管理しているクライアントのWebサイトが落ちた際にすぐ気づけるため、対応の遅れによる信頼低下を防げます。
Uptime RobotやPingdomなどは監視対象の数や監視間隔に応じて月額費用がかかりますが、Uptime Kumaは自分のサーバーで無料で運用でき、監視対象数に制限がありません。
Uptime Kuma
Uptime Kumaは、使いやすいセルフホスト型の監視ツールです。
ライブデモ
お試しください!
デモサーバー(所在地: フランクフルト - ドイツ): https://demo.kuma.pet/start-demo
一時的なライブデモで、すべてのデータは10分後に削除されます。Uptime Kumaスポンサーの提供です。
機能
- HTTP(s) / TCP / HTTP(s)キーワード / HTTP(s) JSONクエリ / WebSocket / Ping / DNSレコード / Push / Steamゲームサーバー / Dockerコンテナの稼働監視
- 洗練されたリアクティブで高速なUI/UX
- Telegram、Discord、Gotify、Slack、Pushover、メール(SMTP)、その他90以上の通知サービスによる通知
- 20秒間隔の監視
- 多言語対応
- 複数のステータスページ
- ステータスページを特定のドメインにマッピング
- Pingチャート
- SSL証明書情報
- プロキシサポート
- 2要素認証(2FA)サポート
インストール方法
Docker Compose
mkdir uptime-kuma
cd uptime-kuma
curl -o compose.yaml https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml
docker compose up -d
Uptime Kumaがすべてのネットワークインターフェースで実行されます(例: http://localhost:3001 または http://your-ip:3001)。
注意: NFS(ネットワークファイルシステム)などのファイルシステムはサポートされていません。ローカルディレクトリまたはボリュームにマッピングしてください。
Dockerコマンド
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:2
Uptime Kumaがすべてのネットワークインターフェースで実行されます(例: http://localhost:3001 または http://your-ip:3001)。
localhostのみに公開を制限する場合:
docker run ... -p 127.0.0.1:3001:3001 ...
Docker不要の方法
必要要件:
- プラットフォーム
- Debian、Ubuntu、Fedora、ArchLinuxなどの主要なLinuxディストリビューション
- Windows 10 (x64)、Windows Server 2012 R2 (x64)以上
- FreeBSD / OpenBSD / NetBSD は非対応
- Replit / Heroku は非対応
- Node.js >= 20.4
- Git
- pm2 - Uptime Kumaをバックグラウンドで実行するため
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup
# オプション1. 試してみる
node server/server.js
# (推奨)オプション2. PM2を使ってバックグラウンドで実行
# PM2がインストールされていない場合:
npm install pm2 -g && pm2 install pm2-logrotate
# サーバー起動
pm2 start server/server.js --name uptime-kuma
Uptime Kumaがすべてのネットワークインターフェースで実行されます(例: http://localhost:3001 または http://your-ip:3001)。
便利なPM2コマンド
# 現在のコンソール出力を確認したい場合
pm2 monit
# 起動時に自動実行させたい場合
pm2 startup && pm2 save
高度なインストール
リバースプロキシ経由でアクセスしたい場合やその他のオプションが必要な場合は、以下をお読みください:
https://github.com/louislam/uptime-kuma/wiki/%F0%9F%94%A7-How-to-Install
アップデート方法
以下をお読みください:
https://github.com/louislam/uptime-kuma/wiki/%F0%9F%86%99-How-to-Update
今後の予定
リクエストやIssueは次のマイルストーンに割り当てます。
https://github.com/louislam/uptime-kuma/milestones
開発の動機
- "Uptime Robot"のようなセルフホスト型の監視ツールを探していましたが、適切なものを見つけるのが困難でした。最も近いものの一つがstatpingでしたが、残念ながら安定しておらず、メンテナンスも終了していました。
- 洗練されたUIを作りたかった。
- Vue 3とvite.jsを学びたかった。
- Bootstrap 5の実力を示したかった。
- REST APIの代わりにSPAでWebSocketを試したかった。
- 初めてのDockerイメージをDocker Hubにデプロイしたかった。
ディスカッション / ヘルプ
一般的な質問や技術的な質問は、メールでは対応できませんのでご了承ください。
回答を見つけるには、Google、GitHub Issues、またはUptime Kumaのサブレディットの利用をお勧めします。情報が見つからない場合は、お気軽にお尋ねください:
コントリビューション
プルリクエストの作成
プルリクエストは大歓迎です。レビューを迅速かつ効果的に行うために、プルリクエストガイドラインをお読みください。
プルリクエストのテスト
現在多くのプルリクエストがありますが、すべてをテストする時間がありません。お手伝いいただける方は、以下をご確認ください: https://github.com/louislam/uptime-kuma/wiki/Test-Pull-Requests
ベータ版のテスト
最新のベータリリースはこちらで確認できます: https://github.com/louislam/uptime-kuma/releases
バグ報告 / 機能リクエスト
バグの報告や新機能のリクエストをしたい場合は、お気軽に新しいIssueを作成してください。
翻訳
Uptime Kumaを他の言語に翻訳したい場合は、Weblate Readmeをご覧ください。