每台服务器各有一个 Web UI
每台服务器只显示自己的运行。要检查 5 台服务器昨晚的失败,就得打开 5 个 Web UI。
Dagu Cloud
将每台自托管 Dagu 服务器连接到 Dagu Cloud。在一个控制台中查看它们的健康状态和运行情况,把告警发到团队常用的地方,无需逐台登录服务器即可重试、停止和审批运行,还能让 ChatGPT 或 Claude 通过一个 MCP 端点操作它们。工作流仍然只在你的服务器上运行,连接由服务器向外发起,不开放任何入站端口。
单台服务器免费。Team 和 Pro 覆盖每台已授权的服务器,并增加运行操作、MCP 和团队协作。监控需要 Dagu v2.19.1 或更高版本(免费方案需要 v2.19.2);运行操作和 MCP 需要 v2.22 或更高版本。
你的服务器
工作流在此运行
出现问题时通过邮件、聊天、PagerDuty 或 Webhook 告警,恢复时再通知一次
每台 Dagu 服务器都能独立运作,拥有自己的调度器、运行历史和 Web UI。服务器有好几台,也就意味着要查看好几个地方;运行需要人工处理时,还得分别登录好几个地方。
每台服务器只显示自己的运行。要检查 5 台服务器昨晚的失败,就得打开 5 个 Web UI。
没有任何东西把所有服务器的失败汇集到一处,所以没有人能看到全貌。
调度器停止或服务器悄无声息,都不会产生任何错误。定时工作流就这样停止运行,直到有人发现。
要发送失败邮件,每台服务器都需要配置邮件和通知设置,并手动保持一致。
要重试失败的运行或审批等待中的步骤,就得先找到对应的服务器,打开它的 Web UI,再在那里登录。
要让 ChatGPT 或 Claude 操作防火墙后的服务器,就得开放端口或交出 API 密钥。
Dagu 控制台的“监控”部分包含“概览”“服务器”“运行”“告警”“通知”和“洞察”页面,以及每台服务器、每个工作流和每条告警各自的页面。工作区的所有成员都可以查看。
报告中的服务器、今日(UTC)失败数、进行中的运行,以及最近 7 个 UTC 日的成功率。“需要处理”列出等待人工处理的事项、未解决的告警和今日的失败,每一行都可直接执行相应操作。

每台已连接的服务器及其状态、Dagu 版本、最近一次报告、今日(UTC)失败数、7 个 UTC 日的成功率和未解决的告警。

每台服务器有一个页面。“概览”显示其健康状态(Dagu 版本、操作系统与架构、进程启动时间、最近一次报告、最近一次签到)、最近一次报告中的服务、未解决的告警,以及最近的失败。“运行”列出其运行。“工作流”按 UTC 日显示每个工作流 14 天内已完成的运行,以及运行数、失败数、成功率、平均时长和最长时长。

进行中的运行排在最前,其后是已完成的运行,按从新到旧排列。每次运行都有指向其各次尝试的永久链接。
可按服务器、工作流、状态(失败、成功、运行中、等待中或排队中)和时间范围(最近 1 小时、24 小时、7 天、14 天,Team 和 Pro 还可选 30 天)筛选。

运行数、失败数和成功率与上一周期的对比、每日运行数,以及每个工作流的 p95 时长及其变化。今日的运行在完成后即计入。

每个工作流有一个页面,显示其未解决的告警、每日运行数、成功率,以及 7 天、30 天或 90 天的 p50 和 p95 时长,还有最近的运行和失败所在的步骤。所有者可以在此将其静音。

Dagu Cloud 通过服务器主动建立的连接访问每台服务器,因此成员和 MCP 客户端无需入站端口、VPN 或 API 密钥即可操作运行。
直接在“概览”、运行页面或相应告警中查看失败步骤的日志,重试或停止运行,并批准或拒绝等待人工处理的步骤。
只需连接一次 ChatGPT、Claude 或其他 MCP 客户端,即可跨工作区的各台服务器读取运行和日志、启动和重试工作流、编辑 DAG,可执行的操作以每位成员的角色为准。
每台服务器的管理员负责开启远程访问,并设定允许的最高角色。每次调用都只为该请求单独签名,并同时记录在 Dagu Cloud 和服务器自己的审计日志中。
适用于 Team 和 Pro,或试用期间。需要 Dagu v2.22 或更高版本。
远程访问的工作原理一条告警对应一个工作流或一台服务器。它只触发一次,统计之后发生的情况,并在问题结束时自动解决。
一次失败的运行会触发该工作流的告警。之后的失败只累加次数,不再发送消息;下一次成功运行即可将其解决。
10 分钟(免费监控为 25 分钟)没有报告就会触发该服务器的告警,宕机的主机或停止的进程不会被忽视。下一次报告即可将其解决。
运行时间超过所属工作流平常耗时的两倍且多出至少 10 分钟时,会在有人发现报表迟迟未出之前触发告警。运行结束时告警自动解决。

工作流告警需要“健康状态和运行状态”级别。邮件发件人为 no-reply@dagu.sh。

告警邮件发送给所有者和管理员,以及你添加的成员和已验证的外部地址,每封邮件都可一键退订。在 Team 和 Pro 中,告警还可发送到最多 10 个通知目标:Slack、Microsoft Teams、Google Chat、Discord、PagerDuty 和签名 Webhook。
添加通知目标时会发送一条测试消息,每个目标都会记录每条消息及其响应。发送失败的消息会以退避方式重试,最长一天;连续三次拒绝告警的目标会停用并给出提示。

每周一按工作区时区的 8:00,每位所有者都会收到一封汇总上周情况的邮件。点击一个链接即可停止接收。
由你的服务器向 Dagu 控制台发送报告。Dagu 控制台从不连接到你的服务器,也从不运行工作流。
报告是从服务器发往 console.dagu.sh 的 HTTPS 请求。不开放任何入站端口,也没有任何连接进入服务器。
即使无法访问 Dagu 控制台,工作流也照常运行。服务器会重试,并在控制台恢复后发送错过的运行。
监控默认关闭,由每台服务器的管理员为该服务器选择。连接或升级服务器时,除许可证签到外不会发送任何内容。
“仅健康状态”只发送服务器上运行着什么。“健康状态和运行状态”还会发送其运行的状态,工作流告警需要此级别。第三个级别还会发送失败步骤的错误消息,让告警说明运行失败的原因。
Dagu 版本、操作系统与架构,以及服务器进程的启动时间
正在运行的调度器数量和已注册的协调器数量
每次已完成的顶层运行:DAG 名称、运行 ID、尝试 ID、状态、触发方式,以及排队、开始和结束时间
运行中失败步骤的名称,最多 50 个
排队中、运行中或等待中的运行,每次报告最多 200 个
日志、输出、参数、环境变量、步骤命令、DAG YAML 和密钥值
与许可证签到一样,每次报告还会携带服务器的许可证 ID、服务器 ID 和心跳密钥。DAG 名称和步骤名称仅在发送运行状态时发送;如果你认为它们属于敏感信息,请选择“仅健康状态”。失败步骤的错误消息只在第三个级别“健康状态、运行状态和错误消息”下发送:每条错误的末尾部分,已声明的密钥会被遮盖。
需要 Dagu v2.19.1 或更高版本(免费监控需要 v2.19.2 或更高版本),并且服务器必须能通过 HTTPS 访问 https://console.dagu.sh。
在 Dagu 中打开“套餐与功能”并选择“连接到 Dagu Console”,或运行 dagu license activate,或使用服务器密钥启动服务器。使用离线许可证的服务器不会报告。
在“套餐与功能”的“监控”部分选择“开启”,然后选择“健康状态和运行状态”或“仅健康状态”。所选设置立即生效,无需重启。
对于以代码方式管理的服务器,可在配置文件中设置级别,或设置 DAGU_CLOUD_REPORT=runs:
cloud:
report: runs # off, health, or runs
服务器每 60 秒报告一次;当运行失败或进行中的运行发生变化时,会在约 5 秒内报告。服务器会出现在 Dagu 控制台的“监控”下。
每个方案涵盖的范围、Dagu Cloud 保留服务器报告数据的时长,以及每天的存储量。
每个工作区可免费监控一台服务器,限制较低:每 5 分钟报告一次,每天存储 100 次运行,保留 7 天运行历史,告警邮件发送给所有者和管理员。Team 和 Pro 覆盖每台已授权的服务器,提供 30 天运行历史、聊天、PagerDuty 和 Webhook 通知目标、提醒、运行时间过长告警以及每周摘要。
比较方案免费监控显示最近 7 天已完成的运行,试用显示最近 14 天。30 天未发送报告的服务器将从监控中移除,其每日统计和告警也会一并删除。
每个工作区每个 UTC 日最多存储 500 次已完成的运行(免费监控为 100 次)。超出上限的运行仍计入每日汇总,也仍会触发和解决告警,但不会添加到运行列表中。存储在 00:00 UTC 恢复。
需要更多?联系我们