Skip to content

非機能要求グレード対応表 ​

IPA「非機能要求グレード」の 6 つの大項目に沿って、Dagu が対応する範囲と、利用者が用意・決定する範囲を整理しました。要件定義の下書きとして使えます。IPA が内容を確認した資料ではありません。

バージョン

二重化に関する記述は、2.26.0 より後のリリースが対象です。

可用性 ​

項目Dagu の対応利用者が用意・決定すること
スケジューラの継続性アクティブ/スタンバイ構成に対応します。アクティブが停止すると、既定の設定で 40 秒以内 (起動処理の時間を除く) にスタンバイが引き継ぎます。スタンバイ用のホスト、再起動の仕組み (systemd の Restart=always など)
スケジュールの重複定期スケジュールの各スロットの実行は、フェイルオーバーの前後を含めて最大 1 回です。要件に示された前提条件を満たす環境
引き継ぎ中のスケジュール引き継ぎの間に過ぎたスロットを、既定で 2 分前まで再実行します (ベストエフォート、キューが有効な場合)。scheduler.failover_recovery_window の値、各 DAG の overlap_policy
実行中のジョブ稼働中のホストの実行は継続します。障害が起きたホストの実行は失敗扱いとなり、再開はしません。DAG 単位の retry_policy、ジョブの冪等性、手動再実行の判断基準
共有ストレージ提供しません。NFS または ReadWriteMany ボリュームの冗長化
Web UI・APIdagu server は複数のホストで同時に動かせます。ロードバランサー
ワーカー複数のワーカーを起動し、ラベルで実行先を選べます。ワーカーの台数と配置
災害対策拠点間のフェイルオーバーは提供しません。別拠点へのバックアップ転送、復旧手順、許容する RPO・RTO
バックアップ・復旧状態はすべてファイルのため、ファイルのコピーでバックアップできます。手順はバックアップと復旧にあります。取得頻度、保管先、暗号鍵の管理

性能・拡張性 ​

項目Dagu の対応利用者が用意・決定すること
処理量の見積もり実行 1 件につき 1 プロセスです。実測値を公開しています。自社の負荷での測定
同時実行数の制御名前付きキューの max_concurrency と、実行内の max_active_steps で制御します。業務ごとの上限値
スケジュールの粒度cron 形式で、最小単位は 1 分です。業務の開始時刻の設計
性能目標値Dagu としての目標値は定めていません。オンライン応答、バッチ時間の目標と測定
拡張方式ワーカーの追加で実行能力を増やせます。ワーカーはライセンス数に影響しません。ワーカーのリソース
データ量実行 1 件あたりのファイル数と容量を公開しています。hist_retention_days の値、ディスクと inode の容量

運用・保守性 ​

項目Dagu の対応利用者が用意・決定すること
監視スケジューラの /health、Prometheus メトリクス、OpenTelemetry を提供します。監視基盤、しきい値、通報先
実行状況の確認Web UI、CLI、API で確認できます。運用担当者の権限
ジョブの再実行・停止dagu retry、dagu restart、dagu stop、Web UI で行います。ステップ単位の再実行にも対応します。再実行の手順と判断基準
業務カレンダー業務カレンダーで休日と営業日を扱います。休日ファイルの管理
承認フロー人の承認を待つステップを定義できます。承認者と手順
ログ実行ごとのログをファイルに保存します。保持期間、転送先
障害通知handler_on.failure、メールなどで通知します。Dagu Console では失敗、期限超過、サーバー停止の通知も利用できます。閉域網向けには、Enterprise 契約でご依頼に応じて Control Plane を社内に構築します。通知先
アップグレード手順を公開しています。アクティブ/スタンバイ構成では順番に更新できます。実施時期、検証環境
保守期間修正は最新の安定版のみに提供します。LTS はありません。定期的なバージョンアップの計画
サポート体制Community、Team、Pro はベストエフォートです。Enterprise 契約では、平日 9:00 から 18:00 (日本時間、日本の祝日を除く) を営業時間とする初回応答目標があります。深刻度 1 と 2 は 1 営業日以内、深刻度 3 は 2 営業日以内です。詳細は SLA を参照してください。一次受けの体制

移行性 ​

項目Dagu の対応利用者が用意・決定すること
定義の移行自動変換ツールはありません。定義は YAML のため、スクリプトで生成できます。dagu validate で検証できます。変換スクリプト、移行順序
対応表JP1/AJS3 と Rundeck の対応表と手順を公開しています。個別の機能差の調査
並行稼働既存製品と同時に動かせます。比較の方法、切り替え基準
実行履歴の移行既存製品の実行履歴を取り込む機能はありません。旧履歴の保管方法

セキュリティ ​

項目Dagu の対応利用者が用意・決定すること
認証ビルトイン認証、OIDC、プロキシ認証、Basic 認証に対応します。SSO (OIDC、プロキシ認証) にはライセンスが必要です。ID 基盤、多要素認証 (ID 基盤側で実施)
権限管理admin、manager、developer、operator、viewer の 5 ロールを、サーバー全体またはワークスペース単位で割り当てます。ジョブ単位の制御はありません。ロールの設計
監査ログ認証、ユーザー管理、API キー、Webhook、シークレット、ターミナル操作を記録します。ライセンスが必要です。既定の保持期間は 7 日です。audit.retention_days の値、SIEM への転送
通信の暗号化Web UI・API の HTTPS、ワーカー通信の mTLS に対応します。証明書の発行と更新
保存データの暗号化シークレットは AES-GCM で暗号化して保存します。実行ログと成果物は平文のファイルです。ディスク暗号化、バックアップの暗号化
アクセス制限ip_access.allowed_ips で接続元 IP を制限できます。許可する範囲、ファイアウォール
コマンドの実行権限ジョブのコマンドは Dagu の OS ユーザーの権限で動きます。専用 OS ユーザーの作成、DAG 編集権限の制限
外部通信スケジュールとジョブの実行に外部通信は不要です。任意の機能が使う接続先は一覧にあります。通信の許可範囲
脆弱性対応報告窓口と手順をセキュリティポリシーに定めています。修正は最新の安定版のみです。適用の計画
供給網の検証チェックサムと署名の検証手順を公開しています。コンテナイメージの署名と SBOM はありません。検証の実施、必要な場合の SBOM 生成
マルウェア対策提供しません。EDR などの導入

システム環境・エコロジー ​

項目Dagu の対応利用者が用意・決定すること
OSLinux、Windows、macOS 向けのバイナリを提供します。変更のたびの自動試験は Linux x86-64 と Windows x86-64 で行います。採用する OS
前提ソフトウェアデータベースや言語ランタイムは不要です。ジョブが必要とするソフトウェア
コンテナlinux/amd64、linux/arm64、linux/arm/v7 のイメージと、Kubernetes 1.19 以降向けの Helm チャートを提供します。コンテナ基盤
時刻同期二重化の場合、ホスト間で 1 秒以内の同期が必要です。NTP または chrony
適合規格公開している第三者認証はありません。自社の基準での評価

Dagu is open source under the GNU General Public License v3.0.