Upptime: GitHub Actionsで監視履歴と公開ステータスを管理する
@AnandChowdhary による GitHub Actions 稼働時間モニターとステータス ページ。 Upptime** (は、Anand Chowdhary によって作成された、GitHub Actions、Issues、および Pages によって全面的に提供される、オープンソースの稼働時間モニターおよびステータス ページです。
ひと目でわかる
- これは何?
- GitHub Actions、Issues、Pagesだけでエンドポイント監視を組み立てるUpptimeの記録方式と運用上の境界を確認する。
- 誰に向いている?
- このプロジェクトは、READMEが示すGitHub Actions uptime monitor & status page by @AnandChowdhary. Upptime** ( is the open-source uptime monitor and status page, powered entirely by GitHub Actions, Issues, and Pages, made with by Anand Chowdhary.という対象と、記載された環境・権限・入力条件が一致するチームに向きます。
- 商用利用できる?
- できます。MIT は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
- 今もメンテナンスされている?
- されています。最後のコミットは 1 日前です。
- 何の言語で書かれている?
- 主に Markdown です(GitHub の言語統計による)。
回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。
オープンソース詳細解説
Upptimeで見る対象と設計上の焦点
Upptime はオープンソースの可用性監視とステータスページのプロジェクトで、完全に GitHub のインフラストラクチャ上で動作します。GitHub Actions で定期チェック、GitHub Issues でインシデント報告、GitHub Pages で公開ステータスサイトを担当します。作成者は Anand Chowdhary で、公式サイトは upptime.js.org です。README には Upptime は GitHub とは提携しておらず、推薦も受けていないと明記されています。設計目標は、すでに GitHub を使っているユーザーにとって完全に無料で、外部サーバーや購読が不要なことです。設定はすべて単一のファイルに保存され、リポジトリを削除すると監視データも失われます。このプロジェクトの考え方は、独立した監視サービスを運用するのではなく、GitHub が提供するツールを再利用することです。監視データは git コミットとして保存されるため、各チェックと応答時間の記録に追跡可能性があります。
Upptimeは外部サーバーや購読サービスを置かず、GitHub Actionsでエンドポイントを定期確認します。設定はリポジトリ内の単一ファイルに集約され、応答時間や履歴はgitのコミットとして残ります。GitHubを既に使う小規模チームには構成を追いやすい一方、リポジトリ削除時には監視データも失われます。 upptimeでは第1節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、upptime固有の判断材料になります。
Upptimeで見る導入条件と依存関係
監視ワークフローは GitHub Actions 上で実行されます。ワークフローは設定された各エンドポイントを5分ごとに訪問し、オンラインであることを確認します。応答時間は6時間ごとに測定され、リポジトリの git 履歴にコミットされるため、各エンドポイントは history ディレクトリ配下にファイルを持ちます。毎日、そのデータから応答時間のグラフが生成され、GitHub API がステータスページに履歴データを提供します。これはすべての監視データがリポジトリ自体に存在することを意味し、リポジトリを削除するとデータも削除されます。この設計により、監視履歴がリポジトリの一部となり、アクセス権を持つ誰でも git のコミット履歴を通じて変更やイベントを確認でき、ネイティブな監査証跡が得られます。応答時間データは個別のファイルに記録され、後の分析や可視化に役立ちます。
ダウンを検知するとGitHub Issueを開き、メンバーへの割り当て、コメントによる状況記録、復旧時の自動クローズを行います。Slack通知やIssueのロックもREADMEに記載されています。監視そのもの、インシデントの会話、公開ページがGitHubの権限モデルに依存する構造です。 upptimeでは第2節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、upptime固有の判断材料になります。
Upptimeで見る処理経路と設定項目
エンドポイントがダウンすると、ワークフローは自動的に GitHub issue を開きます。この issue はリポジトリのメンバーに割り当てられ、関係者が確実に確認できるようにします。チームメンバーはコメントでインシデント報告を追加でき、サイトが復旧すると issue は自動的に閉じられます。issue はロックされ、リポジトリ外の人はコメントできず、更新時には Slack 通知が送信されます。README はサンプル issue を示し、完全なライフサイクルを説明しています。このメカニズムにより、インシデント報告とチームコラボレーションが GitHub のインターフェース上で直接行われ、別途チケットシステムを必要としません。インシデントの状態変化は issue のタイムラインに反映され、追跡が容易です。
ステータスページはSvelteとSapperで生成され、GitHub Pagesから稼働率、応答時間グラフ、インシデント履歴を表示します。Actionsの実行頻度、API制限、Pagesの公開範囲は素材だけでは評価できないため、対象URLを少数にした検証リポジトリでhistory配下のファイル、Issueの状態、生成ページを突き合わせます。 upptimeでは第3節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、upptime固有の判断材料になります。
Upptimeで見る出力と運用記録
ステータスページはリポジトリから生成されるプログレッシブ Web アプリです。Svelte と Sapper で構築され、GitHub API 経由でリポジトリからデータを取得します。ページには稼働率のパーセンテージ、応答時間グラフ、インシデント履歴が表示されます。README はこれをシンプルで美しくアクセシブルと表現し、GitHub Pages でホストされています。ライブデモは demo.upptime.js.org にあります。データがリポジトリの API から来るため、ステータスページの内容はリポジトリ内の記録と一致し続けます。PWA の特性により、ユーザーはステータスページをホーム画面に追加し、オフラインでキャッシュ済みデータを表示できます。このページの設計目標は、訪問者がサービス状態をすぐに把握できることです。
Upptimeは外部サーバーや購読サービスを置かず、GitHub Actionsでエンドポイントを定期確認します。設定はリポジトリ内の単一ファイルに集約され、応答時間や履歴はgitのコミットとして残ります。GitHubを既に使う小規模チームには構成を追いやすい一方、リポジトリ削除時には監視データも失われます。 upptimeでは第4節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、upptime固有の判断材料になります。
Upptimeで見る対応範囲の読み方
README には、Upptime が 3,000 以上の個人とチームに使われており、その中には Canonical と Wakatime が含まれると報告されています。また、リポジトリは 16,000 以上のスターを獲得しています。CSS-Tricks の記事を引用し、Upptime を GitHub Actions の非常に賢い使い方と評しています。このプロジェクトは GitHub ユーザーにとって無料であるように設計されており、外部サーバーや購読は不要で、すべての設定が単一のファイルにあります。新しいホスティングコストを追加せず、監視ロジックを GitHub の既存ワークフローに組み込む点が魅力です。ユーザーは設定ファイルを1つ維持するだけで、監視、インシデント追跡、ステータスページを利用できます。
ダウンを検知するとGitHub Issueを開き、メンバーへの割り当て、コメントによる状況記録、復旧時の自動クローズを行います。Slack通知やIssueのロックもREADMEに記載されています。監視そのもの、インシデントの会話、公開ページがGitHubの権限モデルに依存する構造です。 upptimeでは第5節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、upptime固有の判断材料になります。
Upptimeで見る制約を切り分ける確認
リポジトリのコードは MIT ライセンスで、history ディレクトリ内のデータは Open Database License(ODbL)で提供されると README に記載されています。MIT ライセンスは、ソフトウェアの複製、変更、結合、公開、配布、サブライセンス、販売を許可し、ソフトウェアが「現状のまま」提供され、いかなる保証もないという標準的な免責事項を含みます。ライセンス文は履歴データを対象としておらず、履歴データは ODbL が別途管理します。つまり、コードは自由に使用・変更できますが、監視データの利用条件は異なる場合があります。データに貢献する場合や利用する場合には、それぞれのライセンス要件に注意する必要があります。
ステータスページはSvelteとSapperで生成され、GitHub Pagesから稼働率、応答時間グラフ、インシデント履歴を表示します。Actionsの実行頻度、API制限、Pagesの公開範囲は素材だけでは評価できないため、対象URLを少数にした検証リポジトリでhistory配下のファイル、Issueの状態、生成ページを突き合わせます。 upptimeでは第6節の確認対象を独立させ、入力、結果、失敗時の記録を同じ単位で残します。READMEに明記された値と、手元で観測した値を分けて記録することで、upptime固有の判断材料になります。
編集部の結論
このプロジェクトは、READMEが示すGitHub Actions uptime monitor & status page by @AnandChowdhary. Upptime** ( is the open-source uptime monitor and status page, powered entirely by GitHub Actions, Issues, and Pages, made with by Anand Chowdhary.という対象と、記載された環境・権限・入力条件が一致するチームに向きます。採用前にはステータスページはSvelteとSapperで生成され、GitHub Pagesから稼働率、応答時間グラフ、インシデント履歴を表示します。Actionsの実行頻度、API制限、Pagesの公開範囲は素材だけでは評価できないため、対象URLを少数にした検証リポジトリでhistory配下のファイル、Issueの状態、生成ページを突き合わせます。を実際の小さな構成で確認し、READMEにない性能や互換性を前提にしないでください。
コミュニティノート