Dagu Cloud

Dagu サーバーを束ねるコントロールプレーン

セルフホストのすべての Dagu サーバーを Dagu Cloud に接続します。ヘルスと実行状況を 1 つのコンソールで確認し、チームが普段見ている場所にアラートを届け、サーバーごとにサインインすることなく実行をリトライ、停止、承認できます。ChatGPT や Claude から 1 つの MCP エンドポイントでサーバーを操作することもできます。ワークフローは引き続き自社サーバー上でのみ実行され、接続はサーバーから外向きに張られるため、受信ポートは一切開きません。

サーバー 1 台は無料。Team と Pro はライセンスのあるすべてのサーバーが対象で、実行への操作、MCP、チームでの利用が加わります。モニタリングには Dagu v2.19.1 以降(無料プランでは v2.19.2 以降)、実行への操作と MCP には v2.22 以降が必要です。

自社サーバー

  • prod-eu-1dagu 2.19.0
  • prod-us-2dagu 2.19.0
  • batch-01dagu 2.19.0

ワークフローはここで実行

HTTPS、外向きのみ、60秒ごと
console.dagu.shワークフローは実行しない
概要サーバー実行アラート通知

問題が起きたときと復旧したときに、メール、チャット、PagerDuty、Webhook でアラート

サーバーは多いのに、まとめて運用する場所がない

Dagu サーバーはそれぞれ単体で完結しており、独自のスケジューラー、実行履歴、Web UI を持ちます。サーバーが複数あれば、確認する場所も、実行に手当てが必要なときにサインインする場所も、その数だけ増えます。

サーバーごとに別々の Web UI

各サーバーに表示されるのは、そのサーバー自身の実行だけです。5台のサーバーで昨夜の失敗を確認するには、5つの Web UI を開くことになります。

すべての失敗をまとめた一覧がない

全サーバーの失敗を一か所に集めるものがないため、誰も全体像を把握できません。

問題の発覚が遅れる

スケジューラーが停止しても、サーバーからの応答が途絶えても、エラーにはなりません。スケジュールされたワークフローは、誰かが気づくまでただ実行されなくなります。

アラート設定はサーバーごと

失敗通知メールには、すべてのサーバーでのメール設定と通知設定が必要で、それらを手作業で揃えておく必要があります。

対処のたびにサインインが必要

失敗した実行をリトライしたり、待機中のステップを承認したりするには、該当するサーバーを探し、その Web UI を開いてサインインしなければなりません。

AI を安全に迎え入れる手段がない

ファイアウォールの内側にあるサーバーを ChatGPT や Claude に操作させるには、ポートを開けるか API キーを渡すしかありません。

すべてのサーバーを 1 つのコンソールで

Dagu コンソールの「モニタリング」セクションには、「概要」「サーバー」「実行」「アラート」「通知」「インサイト」の各ページと、サーバーごと・ワークフローごと・アラートごとのページがあります。ワークスペースのメンバーは全員これらを閲覧できます。

概要:今、対応が必要なもの

レポート中のサーバー、今日(UTC)の失敗、進行中の実行、直近7日間(UTC 基準)の成功率を表示します。「要対応」には、人の対応を待っているもの、未解決のアラート、今日の失敗が並び、各行からそのまま対処できます。

  • レポート停止
  • チェックインなし
  • オフライン
  • スケジューラー停止中
  • 失敗中のワークフロー
  • イベント欠落
  • モニタリングオフ
Dagu コンソールの「概要」ページ。レポート中のサーバー、今日の失敗、未解決のアラート、7日間の成功率と、影響を受けるサーバーを示す「要対応」リスト

サーバー:全サーバーとそのステータス

接続された各サーバーについて、ステータス、Dagu バージョン、最終レポート、今日(UTC)の失敗、7日間(UTC 基準)の成功率、未解決のアラートを表示します。

レポート中
直近5分以内にレポートを受信しました。
レポート停止
以前はレポートがありましたが、直近5分間はありません。
チェックインなし
ライセンスのチェックインが26時間を超えてありません。
オフライン
ライセンスのチェックインが72時間を超えてありません。
モニタリングオフ
サーバーでモニタリングがオフにされたか、Dagu コンソールにこのサーバーからのレポートがありません。
スケジューラー停止中
最新のレポートで稼働中のスケジューラーがないため、スケジュールされたワークフローは開始されません。
イベント欠落
サーバーの切断期間がイベントストアのイベント保持期間を超えたため、一部の完了した実行を送信できませんでした。
Dagu コンソールの接続済みサーバー一覧。「レポート中」と「レポート停止」のサーバーを、Dagu バージョン、最終レポート、今日の失敗、成功率、未解決のアラートとともに表示

サーバー別:ヘルスと直近の履歴

サーバーごとのページです。「概要」には、ヘルス(Dagu バージョン、OS とアーキテクチャ、プロセス開始時刻、最終レポート、最終チェックイン)、最新レポートに含まれるサービス、未解決のアラート、最近の失敗が表示されます。「実行」には、そのサーバーの実行が一覧表示されます。「ワークフロー」には、各ワークフローの完了した実行が14日間にわたり UTC 日ごとに表示され、実行数、失敗数、成功率、平均所要時間と最長所要時間も確認できます。

Dagu コンソールのサーバーページの「ワークフロー」タブ。直近14日間の日別実行バーと、ワークフローごとの実行数、失敗数、成功率、所要時間

全サーバーの実行

進行中の実行が先頭に、その後に完了した実行が新しい順に並びます。各実行には、その試行へのパーマリンクがあります。

サーバー、ワークフロー、ステータス(失敗、成功、実行中、待機中、キュー待ち)、期間(直近1時間、24時間、7日間、14日間、Team と Pro では 30 日間)で絞り込めます。

Dagu コンソールの「実行」ページ。複数サーバーの完了した実行を新しい順に一覧表示。サーバー、ワークフロー、ステータス、期間のフィルター付き

インサイト:7日間、30日間、90日間の傾向

実行数、失敗数、成功率を前の期間と比較して表示し、日別の実行数と、各ワークフローの p95 所要時間およびその変化も確認できます。今日の実行は、完了するたびに集計に加わります。

Dagu コンソールの「インサイト」(直近30日間)。変化付きの実行数・失敗数・成功率のカード、日別の実行数、成功率、p95 所要時間とその変化を示すワークフローの表

ワークフロー別:失敗していないか、遅くなっていないか

ワークフローごとのページです。未解決のアラート、日別の実行数、成功率、p50 と p95 の所要時間を7日間、30日間、90日間で表示し、最近の実行と失敗したステップも確認できます。オーナーはここからワークフローをミュートできます。

Dagu コンソールの失敗中のワークフローのページ。アラート、詳細、変化付きのカードと、日別の実行数、成功率、30日間で上昇していく p50・p95 所要時間のグラフ

コンソールからでも、AI からでも操作できる

Dagu Cloud は、各サーバー自身が開いた接続を通じてサーバーに届きます。そのため、メンバーも MCP クライアントも、受信ポート、VPN、API キーなしで実行を操作できます。

コンソールで実行を操作

失敗したステップのログを読み、実行をリトライまたは停止し、人の対応を待つステップを承認または拒否できます。「概要」、実行のページ、そのアラートからそのまま操作できます。

すべてのサーバーに 1 つの MCP エンドポイント

ChatGPT、Claude などの MCP クライアントを一度接続するだけで、ワークスペース内のサーバーをまたいで、実行とログの読み取り、ワークフローの開始とリトライ、DAG の編集ができます。操作できる範囲は各メンバーのロールに従います。

範囲を決めるのは各サーバー

リモートアクセスをオンにし、許可する最上位のロールを設定するのは各サーバーの管理者です。すべての呼び出しはそのリクエスト限りの署名付きで、Dagu Cloud とサーバー自身の監査ログの両方に記録されます。

Team と Pro、またはトライアルで利用できます。Dagu v2.22 以降が必要です。

リモートアクセスの仕組み

失敗した実行ごとのメールではなく、問題ごとに1件のアラート

アラートは 1 つのワークフローか 1 台のサーバーに対応します。一度だけ発生し、その後の状況を数え、問題が終わると自動で解決します。

ワークフローが失敗した

実行が失敗するとワークフローのアラートが発生します。その後の失敗は新たなメッセージを送らずに件数に加わり、次の実行が成功すると解決します。

サーバーのレポートが止まった

10 分間(無料モニタリングでは 25 分間)レポートがないとサーバーのアラートが発生するため、ダウンしたホストや停止したプロセスを見逃しません。次のレポートで解決します。

実行が長すぎる

Team と Pro

ワークフローの通常の所要時間の 2 倍、かつ 10 分以上を超えても実行が続くと、レポートの遅れに誰かが気づく前にアラートが発生します。実行が終わると解決します。

Dagu コンソールの未解決のアラート:レポートが止まったサーバー、実行が長すぎる実行、対応中の失敗、ミュート中のワークフロー。それぞれにメールの送信時刻と投稿先が表示されています
  • アラートごとにページがあり、何がどのサーバーで失敗したかと、発生時刻、すべてのメールと投稿、誰が対応したかのタイムラインを確認できます。
  • ワークスペースのメンバーは誰でもアラートのページから対応でき、受信者はサインインせずにメールから直接対応できます。PagerDuty のインシデントも同時に対応済みになります。
  • Team と Pro では、誰も対応していないアラートを 1 時間、4 時間、または 1 日ごとに最大 6 回まで再投稿します。リマインダーは 1 時間、1 日、またはワークスペースのタイムゾーンで 9:00 まで一時停止できます。
  • 同時に発生・解決したアラートは 1 通のメールにまとめて届きます。チャンネルへの投稿は一度に最大 20 件で、残りは要約されます。
  • 中止された実行と拒否された実行は集計では失敗として数えますが、アラートの発生や解決にはつながりません。
  • メールや投稿の時刻はワークスペースのタイムゾーンで表示されます。通知が多すぎるワークフローはミュートでき、アラートは記録されますが誰にも通知されません。

ワークフローのアラートには「ヘルスと実行状況」レベルが必要です。メールは no-reply@dagu.sh から送信されます。

Dagu コンソールで対応中のアラート。サーバー、ワークフロー、失敗したステップと、メール、Slack・Teams・PagerDuty への投稿、PagerDuty に伝えた対応のタイムラインが表示されています

チームが普段見ている場所にアラートを

アラートメールはオーナーと管理者、そして追加したメンバーと確認済みの外部アドレスに届き、どのメールからもワンクリックで配信停止できます。Team と Pro では、Slack、Microsoft Teams、Google Chat、Discord、PagerDuty、署名付き Webhook の最大 10 件の通知先にもアラートを送れます。

  • メール
  • Slack
  • Microsoft Teams
  • Google Chat
  • Discord
  • PagerDuty
  • Webhook

通知先を追加するとテストが送られ、各通知先はすべての投稿とその応答を記録します。失敗した投稿は最大 1 日、間隔を空けながら再試行され、3 回続けてアラートを拒否した通知先は停止してその旨を表示します。

Dagu コンソールの通知ページ。アラートメールと Slack、Microsoft Teams、PagerDuty、Webhook の通知先がすべて稼働中で、リマインダーは 4 時間ごと。追加できる通知先も表示されています

オーナー向けの週次サマリー

Team と Pro

毎週月曜日、ワークスペースのタイムゾーンで 8:00 に、各オーナーへ前週をまとめたメールが届きます。リンク 1 つで停止できます。

  • 完了した実行と成功率(前週との比較)
  • 発生・解決したアラートと、対応・解決までの速さ
  • 失敗が多かったワークフローと、遅くなったワークフロー
  • レポートが止まったサーバーと、アラートの受信を停止した通知先

実行とデータは自社サーバーにとどまる

レポートは自社サーバーから Dagu コンソールへ送信されます。Dagu コンソールがサーバーに接続することはなく、ワークフローを実行することもありません。

外向きの HTTPS のみ

レポートは、サーバーから console.dagu.sh への HTTPS リクエストです。受信ポートは開かれず、外部からサーバーへ接続されることもありません。

ワークフローがコンソールを待つことはない

Dagu コンソールに到達できなくても、ワークフローは通常どおり実行されます。サーバーは再試行し、コンソールが復旧すると送れなかった実行を送信します。

オンにするまでオフ

モニタリングはデフォルトでオフで、サーバーごとにその管理者が選択します。サーバーを接続またはアップグレードしても、ライセンスのチェックイン以外は何も送信されません。

3つのレベル

「ヘルスのみ」は、サーバーで何が稼働しているかを送信します。「ヘルスと実行状況」はそれに加えて実行のステータスを送信し、ワークフローのアラートにはこのレベルが必要です。3つ目のレベルでは失敗したステップのエラーメッセージも送信され、アラートで失敗の理由がわかります。

サーバーから送信されるもの

  • Dagu バージョン、OS とアーキテクチャ、サーバープロセスの開始時刻

    ヘルスのみ
    送信
    ヘルスと実行状況
    送信
  • 稼働中のスケジューラー数と登録済みのコーディネーター数

    ヘルスのみ
    送信
    ヘルスと実行状況
    送信
  • 完了した各トップレベル実行:DAG 名、実行 ID、試行 ID、ステータス、トリガー、キュー投入・開始・終了の各時刻

    ヘルスのみ
    送信しない
    ヘルスと実行状況
    送信
  • 実行内で失敗したステップの名前(最大50件)

    ヘルスのみ
    送信しない
    ヘルスと実行状況
    送信
  • キュー待ち、実行中、待機中の実行(1レポートあたり最大200件)

    ヘルスのみ
    送信しない
    ヘルスと実行状況
    送信
  • ログ、出力、パラメーター、環境変数、ステップのコマンド、DAG YAML、シークレットの値

    ヘルスのみ
    一切送信しない
    ヘルスと実行状況
    一切送信しない

すべてのレポートには、ライセンスのチェックインと同様に、サーバーのライセンス ID、サーバー ID、ハートビートシークレットも含まれます。DAG 名とステップ名は実行状況を送る場合にのみ送信されます。これらを機密と考える場合は「ヘルスのみ」を選んでください。失敗したステップのエラーメッセージは、3つ目のレベル「ヘルス、実行状況、エラーメッセージ」でのみ送信されます。送るのは各エラーの末尾で、宣言されたシークレットはマスクされます。

3ステップで設定

Dagu v2.19.1 以降(無料モニタリングは v2.19.2 以降)が必要です。また、サーバーから HTTPS で https://console.dagu.sh に到達できる必要があります。

  1. 01

    サーバーを Dagu コンソールに接続

    Dagu で「プランと機能」を開いて「Dagu Console に接続」を選択するか、dagu license activate を実行するか、サーバーキーを指定してサーバーを起動します。オフラインライセンスのサーバーはレポートを送信しません。

  2. 02

    レポート内容を選択

    「プランと機能」の「監視」セクションで「オンにする」を選択し、「ヘルスと実行状況」または「ヘルスのみ」を選びます。選択は再起動なしで即座に反映されます。

    コードで管理しているサーバーでは、設定ファイルでレベルを指定するか、DAGU_CLOUD_REPORT=runs を設定します:

    cloud:
      report: runs   # off, health, or runs
    
  3. 03

    Dagu コンソールで確認

    サーバーは60秒ごとにレポートを送信し、実行が失敗したときや進行中の実行が変化したときは約5秒以内に送信します。サーバーは Dagu コンソールの「モニタリング」に表示されます。

セットアップガイドの全文を読む

プラン、保持期間、制限

各プランの対象範囲、サーバーから届いたデータを Dagu Cloud が保持する期間、1 日に保存できる量をまとめています。

プラン

ワークスペースごとにサーバー 1 台まで無料です。制限は低めで、レポートは 5 分ごと、保存される実行は 1 日 100 件、実行履歴は 7 日間、アラートメールはオーナーと管理者に届きます。Team と Pro はライセンスのあるすべてのサーバーが対象で、30 日間の実行履歴、チャット・PagerDuty・Webhook の通知先、リマインダー、実行の長時間化アラート、週次サマリーを利用できます。

プランを比較

保持期間

完了した実行
30 日間
ワークフローごとの日次集計
13か月
解決済みのアラート
解決後90日間
未解決のアラート
解決されるまで

無料モニタリングでは直近 7 日間、トライアルでは直近 14 日間の完了した実行を表示します。30日間レポートを送信していないサーバーは、その日次集計とアラートとともにモニタリングから削除されます。

1日あたりの実行数の上限

各ワークスペースには、UTC 基準で1日あたり最大500件(無料モニタリングでは100件)の完了した実行が保存されます。上限を超えた実行も日次集計には数えられ、アラートの発生と解決にも反映されますが、実行一覧には追加されません。保存は 00:00 UTC に再開されます。

さらに必要な場合はお問い合わせください

すべての Dagu サーバーを一か所で運用

セットアップガイドを読むか、Dagu コンソールを開いて最初のサーバーを接続してください。サーバー 1 台は無料です。Team と Pro はトライアルで試せます。