プロダクト

Dagu サーバー 1 台を無料でモニタリング

Dagu コンソール で、ワークスペースごとに Dagu サーバー 1 台を無料でモニタリングできるようになりました。ヘルスと実行を一か所で確認でき、失敗や停止をメールで知らせます。Dagu v2.19.2 が必要です。

Yota Hamada
Share

TL;DR Dagu コンソール で、ワークスペースごとに Dagu サーバー 1 台を無料でモニタリングできるようになりました。サーバーのヘルスと実行を一か所で確認でき、ワークフローが失敗したときやサーバーからのレポートが止まったときにメールが届きます。Dagu v2.19.2 に更新し、プランと機能 で 無料で接続 を選んでください。

Dagu サーバーはそれ単体で完結しています。自分のスケジューラーを動かし、自分の実行履歴を持ち、自分の Web UI を提供します。運用しやすい大きな理由ですが、同時に、見なくなりやすい理由でもあります。

ワークフローエンジンの Web UI を一日中開いている人はいません。火曜日に失敗し始めたジョブは、たいてい木曜日に、その出力を必要とした誰かによって見つかります。止まったスケジューラーはエラーすら出しません。予定された実行が、ただ起きなくなるだけです。

Dagu コンソール のモニタリングは、そのためのものです。サーバーがヘルスと実行を Dagu コンソール にレポートし、問題があれば Dagu コンソール がメールで知らせます。これまでは Team か Pro のプラン、または 14 日間のトライアルが必要でした。そのため、ライセンスなしの Community で動く大半の Dagu サーバーでは使えませんでした。今日からは、ワークスペースの最初の 1 台を無料でモニタリングできます。

できること

  • サーバーの状態がひと目でわかる: レポートが届いているか、Dagu のバージョン、スケジューラー、実行中の実行、今日失敗したもの。
  • ワークフローが失敗したらメール: 後の実行が成功したときにもう一度届きます。失敗し続けるワークフローは、実行ごとにメールを送るのではなく、アラートを 1 件開いたままにします。
  • サーバーが静かになったらメール: レポートが 25 分間届かなかったときと、再びレポートしたときに届きます。
  • 実行履歴と傾向: 直近 7 日間の実行と、7 日間または 30 日間のワークフローごとの実行数、成功率、所要時間。
無料プランの Dagu コンソール のサーバーページ。1 台中 1 台を使用中で、無料モニタリングの制限と、今日 3 件失敗しアラートが 1 件開いている etl-prod-1 がレポート中と表示されている

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

モニタリングは、サーバーの管理者がオンにするまでオフです。オンにすると、外向きの HTTPS でメタデータだけを送ります。

  • ヘルス: Dagu のバージョン、OS とアーキテクチャ、プロセスの起動時刻、動作中のスケジューラーとコーディネーターの数。
  • 実行状況(選んだ場合): 完了した実行ごとの DAG 名、実行 ID、ステータス、トリガー、時刻、失敗したステップの名前、そして実行中の実行。

ログ、出力、パラメーター、環境変数、ステップのコマンド、DAG の YAML、シークレットの値、エラーメッセージは送られません。サーバーへ外から接続することはなく、プランと機能 で最後のレポートの JSON をそのまま確認できます。

ワークフローは、Dagu コンソール に接続できるかどうかに関係なく、サーバー上で動き続けます。Dagu コンソール がワークフローを実行することはありません。

設定する

Dagu v2.19.2 以降の Community サーバーでは、プランと機能 に案内が表示されます。

Community サーバーの Dagu の Plan & features ページ。Monitor this server for free のカードと Connect for free ボタン
  1. サーバーを Dagu v2.19.2 以降に更新します。
  2. 管理者として プランと機能 を開き、無料で接続 を選びます。シェルからは dagu license activate でも同じことができます。
  3. ブラウザで Dagu コンソール が開きます。サインインするか、無料のアカウントを作成します。コードが Dagu に表示されたものと一致することを確認し、無料モニタリングで接続 を選びます。
  4. Dagu に戻り、ヘルスと実行状況 を選びます。
Acme Operations ワークスペースで etl-prod-1 を接続する Dagu コンソール のページ。Free プランで 1 台中 0 台を使用中、Connect for free monitoring ボタンがある

5 分以内に、Dagu コンソール の サーバー ページでサーバーが レポート中 と表示されます。以降、ワークスペースのオーナーと管理者にアラートメールが届きます。

コンテナで動かすサーバーには、Dagu コンソール の サーバー ページでサーバーキーを作成し、DAGU_LICENSE_KEY に設定して Dagu を起動します。Dagu のデータディレクトリは永続ストレージに置いてください。そうしないと、新しいコンテナが起動するたびに別のサーバーとして数えられます。

無料と有料

無料枠は、同じモニタリングを低めの制限で提供します。

無料トライアル、Team、Pro
サーバーワークスペースごとに 1 台トライアルは 1 台、Team は 3 台、Pro は 15 台
レポート5 分ごと60 秒ごと
サーバーが静かになったときのアラート25 分後10 分後
1 日に保存する完了した実行100 件500 件
実行履歴7 日間14 日間
インサイト7 日間または 30 日間7 日間、30 日間、90 日間
アラートメールオーナーと管理者追加したメンバーとアドレスにも

無料のサーバーは Community のままです。シングルサインオン、ロールベースのアクセス制御、監査ログ、インシデントルーティング、3 つ目以降の API キーは使えません。無料モニタリングに v2.19.2 が必要なのもこのためです。それより前のリリースは Dagu コンソール のライセンスをすべて有料として扱うため、Dagu コンソール は古いサーバーに、無料で接続する前に更新するよう求めます。

トライアルやプランを始めると、サーバーはすぐにそちらへ移ります。Dagu は 1 時間ごとの次のチェックインで、または プランと機能 の 今すぐ確認 ですぐに、新しいライセンスを読み込みます。トライアルやプランが終わると、ほかのサーバーが無料枠を使っていなければ、サーバーは無料モニタリングに戻ります。モニタリングはベータ版のため、これらの制限は変わる可能性があります。

試してみる

サーバーを 1 台更新して接続し、1 週間そのままにしてみてください。設定の詳細はモニタリングのドキュメントにあり、サーバーは Dagu コンソール に表示されます。困ったことがあれば Discord で教えてください。

ジョブが止まったことは、誰かがその出力を必要とする前に知るのがいちばんです。

· · ·

Written by

Yota Hamada

Daguプロジェクトのコントリビューター。

More from Yota Hamada