Dagu コンソール · ベータ

すべての Dagu サーバーを一か所で監視

セルフホストの Dagu サーバーを Dagu コンソールに接続します。各サーバーのヘルス、実行状況、傾向が同じページ群にまとめて表示され、ワークフローが失敗したときやサーバーからのレポートが途絶えたときにメールが届きます。ワークフローは引き続き自社サーバー上でのみ実行されます。

サーバー 1 台は無料。Team と Pro はライセンスのあるすべてのサーバーが対象です。Dagu v2.19.1 以降が必要で、無料モニタリングには v2.19.2 以降が必要です。

自社サーバー

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

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

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

ワークフローの失敗時やサーバーのレポート停止時、およびその復旧時にメール

サーバーの数だけ、確認する場所がある

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

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

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

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

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

問題の発覚が遅れる

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

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

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

Dagu コンソールで見られるもの

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

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

レポート中のサーバー、今日(UTC)の失敗、未解決のアラート、直近7日間(UTC 基準)の成功率を表示します。「要対応」には、各問題が影響を受けるサーバーとともに一覧表示されます。

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

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

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

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

サーバー別:ヘルスと14日間の履歴

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

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

全サーバーの実行

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

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

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

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

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

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

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

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

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

失敗した実行ごとのメールではなく、ワークフローごとに1件のアラート

アラートは、1台のサーバー上の1つのワークフローに対応します。実行の失敗で発生し、その後の失敗を数え、ワークフローが再び成功すると解決されます。

  • 実行が失敗するとアラートが発生し、ワークスペースのアラート受信者にメールが送られます。
  • その後の失敗はアラートの失敗回数に加算されます。追加のメールは送られません。
  • その後の実行が成功または部分的に成功するとアラートは解決され、メールがもう1通送られます。
  • 同時に発生または解決したアラートは1通のメールにまとめられ、メールには「アラート」ページへのリンクが含まれます。
  • 10分間レポートを送信しないサーバーはレポート停止のアラートを発生させ、次のレポートでそのアラートは解決されます。中断された実行と拒否された実行は失敗として数えられますが、アラートを発生させることも解決することもありません。
  • メールの送信先はオーナーが選びます。オーナーと管理者、メンバー、確認済みの外部アドレスを指定できます。すべてのメールにワンクリックの配信停止リンクがあり、アラートが多すぎるワークフローはミュートできます。

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

Dagu コンソールの未解決のアラート。レポートが停止したサーバー、ミュート中のワークフローの失敗、失敗中のワークフローを、それぞれの発生時刻とメール送信時刻とともに表示

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

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

外向きの HTTPS のみ

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

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

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

オンにするまでオフ

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

2つのレベル

「ヘルスのみ」は、サーバーで何が稼働しているかを送信します。「ヘルスと実行状況」はそれに加えて実行のステータスを送信し、ワークフローのアラートにはこのレベルが必要です。

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

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

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

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

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

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

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

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

すべてのレポートには、ライセンスのチェックインと同様に、サーバーのライセンス ID、サーバー ID、ハートビートシークレットも含まれます。DAG 名とステップ名は実行状況を送る場合にのみ送信されます。これらを機密と考える場合は「ヘルスのみ」を選んでください。

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 コンソールの「モニタリング」に表示されます。

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

ベータ版の詳細

モニタリングはベータ版です。保持期間と制限はベータ期間中に変更される可能性があります。

プラン

ワークスペースごとにサーバー 1 台まで無料です。制限は低めで、レポートは 5 分ごと、保存される実行は 1 日 100 件、実行履歴は 7 日間、アラートはオーナーと管理者に届きます。Team と Pro はライセンスのあるすべてのサーバーが対象です。

プランを比較

保持期間

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

30日間レポートを送信していないサーバーは、その日次集計とアラートとともにモニタリングから削除されます。

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

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

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

すべての Dagu サーバーを一か所で確認

セットアップガイドを読むか、Dagu コンソールを開いて最初のサーバーを接続してください。