Dagu 控制台 · Beta

在一处监控所有 Dagu 服务器

将自托管的 Dagu 服务器连接到 Dagu 控制台。它们的健康状态、运行情况和趋势显示在同一组页面上;工作流失败或服务器停止报告时,你会收到邮件。工作流仍然只在你的服务器上运行。

单台服务器免费。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 版本、操作系统与架构、进程启动时间、最近一次报告、最近一次签到)、最近一次报告中的服务、未解决的告警,以及最近 14 天的失败。“运行”列出其运行。“工作流”按 UTC 日显示每个工作流 14 天内已完成的运行,以及运行数、失败数、成功率、平均时长和最长时长。

Dagu 控制台中某台服务器的“工作流”标签页,显示最近 14 天的每日运行柱状图,以及每个工作流的运行数、失败数、成功率和时长

所有服务器上的运行

进行中的运行排在最前,其后是已完成的运行,按从新到旧排列。每次运行都有指向其各次尝试的永久链接。

可按服务器、工作流、状态(失败、成功、运行中、等待中或排队中)和时间范围(最近 1 小时、24 小时、7 天或 14 天)筛选。

Dagu 控制台“运行”页面,按从新到旧列出来自多台服务器的已完成运行,并提供服务器、工作流、状态和时间范围筛选器

洞察:7 天、30 天或 90 天的趋势

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

Dagu 控制台中最近 30 天的“洞察”:带变化幅度的运行数、失败数和成功率卡片,每日运行数、成功率,以及列出各工作流 p95 时长及其变化的表格

单个工作流:是在失败,还是在变慢?

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

Dagu 控制台中一个失败工作流的页面,显示其告警、详细信息、带变化幅度的卡片,以及每日运行数、成功率和 30 天内不断上升的 p50 与 p95 时长图表

每个工作流一条告警,而不是每次失败运行一封邮件

一条告警对应一台服务器上的一个工作流。运行失败时触发告警,之后的失败会计入其次数,工作流再次成功时告警解决。

  • 运行失败会触发一条告警,并向工作区的告警接收人发送邮件。
  • 后续失败会累加到该告警的计数中,不再发送邮件。
  • 之后的运行成功或部分成功时,告警即解决,并再发送一封邮件。
  • 同时触发或解决的告警会合并到一封邮件中,邮件附有指向“告警”页面的链接。
  • 服务器连续 10 分钟未发送报告时,会触发一条“停止报告”告警,下一次报告即可将其解决。已中止和被拒绝的运行计为失败,但既不会触发也不会解决告警。
  • 由所有者选择邮件发送对象:所有者和管理员、成员,以及通过验证后的外部地址。每封邮件都支持一键退订,告警过于频繁的工作流可以静音。

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

Dagu 控制台中未解决的告警:一台停止报告的服务器、一个已静音工作流的失败,以及一个失败中的工作流,并显示每条告警的触发时间和邮件发送时间

执行和数据都留在你的服务器上

由你的服务器向 Dagu 控制台发送报告。Dagu 控制台从不连接到你的服务器,也从不运行工作流。

仅出站 HTTPS

报告是从服务器发往 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。

  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 控制台的“监控”下。

阅读完整的设置指南

Beta 详情

监控功能处于 Beta 阶段。保留期限和限制在 Beta 期间可能会变化。

方案

每个工作区可免费监控一台服务器,限制较低:每 5 分钟报告一次,每天存储 100 次运行,保留 7 天运行历史,告警发送给所有者和管理员。Team 和 Pro 覆盖每台已授权的服务器。

比较方案

保留期限

已完成的运行
14 天
每个工作流的每日汇总
13 个月
已解决的告警
解决后 90 天
未解决的告警
直到解决

30 天未发送任何报告的服务器会被移出监控,其每日汇总和告警也会一并移除。

每日运行数上限

每个工作区每个 UTC 日最多存储 500 次已完成的运行(免费监控为 100 次)。超出上限的运行仍计入每日汇总,也仍会触发和解决告警,但不会添加到运行列表中。存储在 00:00 UTC 恢复。

需要更多?联系我们

在一处查看所有 Dagu 服务器

阅读设置指南,或打开 Dagu 控制台并连接你的第一台服务器。