Dagu Console · Beta

Monitor every Dagu server from one place

Connect your self-hosted Dagu servers to Dagu Console. Their health, runs, and trends show up on one set of pages, and you get an email when a workflow fails or a server stops reporting. Workflows keep running only on your servers.

Free for one server. Team and Pro cover every licensed server. Requires Dagu v2.19.1 or later; v2.19.2 or later for free monitoring.

Your servers

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

Workflows run here

HTTPS, outbound only, every 60 seconds
console.dagu.shNever runs workflows
OverviewServersRunsAlerts

Email when a workflow fails or a server stops reporting, and when it recovers

Many servers, many places to look

Each Dagu server is complete on its own, with its own scheduler, run history, and web UI. With several servers, that also means several places to check.

One web UI per server

Each server shows only its own runs. Checking last night's failures on five servers means opening five web UIs.

No list of every failure

Nothing collects the failures of all servers in one place, so nobody sees the whole picture.

Problems surface late

A stopped scheduler or a server that went quiet raises no error. Scheduled workflows just stop running until someone notices.

Alerting set up server by server

Failure emails need mail and notification settings on every server, kept in step by hand.

What Dagu Console shows

The Monitoring section of Dagu Console has an Overview, Servers, Runs, Alerts, and Insights page, plus a page for each server and each workflow. Every member of the workspace can view them.

Overview: what needs attention now

Servers reporting, failures today (UTC), open alerts, and the success rate over the last 7 UTC days. Needs attention lists each problem with the servers it affects.

  • Not reporting
  • Not checking in
  • Offline
  • Scheduler stopped
  • Failing workflows
  • Events lost
  • Monitoring off
Dagu Console Overview page with servers reporting, failures today, open alerts, the 7-day success rate, and a Needs attention list naming the affected servers

Servers: every server and its status

Each connected server with its status, Dagu version, last report, failures today (UTC), success rate over 7 UTC days, and open alerts.

Reporting
A report arrived in the last 5 minutes.
Not reporting
The server reported before, but not in the last 5 minutes.
Not checking in
No license check-in for more than 26 hours.
Offline
No license check-in for more than 72 hours.
Monitoring off
Monitoring was turned off on the server, or Dagu Console holds no report from it.
Scheduler stopped
The last report counts no running scheduler, so scheduled workflows do not start.
Events lost
The server was cut off longer than its event store keeps events, so some finished runs could not be sent.
Connected servers table in Dagu Console showing Reporting and Not reporting servers with Dagu version, last report, failures today, success rate, and open alerts

Each server: health and 14 days of history

A page per server. Overview shows its health (Dagu version, OS and architecture, process start, last report, last check-in), the services from the last report, open alerts, and failures in the last 14 days. Runs lists its runs. Workflows shows each workflow's finished runs per UTC day over 14 days, with runs, failures, success rate, and average and longest duration.

Workflows tab of a server in Dagu Console with daily run bars for the last 14 days and runs, failures, success rate, and durations per workflow

Runs across all servers

Runs in progress come first, then finished runs, newest first. Each run has a permalink to its attempts.

Filter by server, workflow, status (failed, succeeded, running, waiting, or queued), and range: the last hour, 24 hours, 7 days, or 14 days.

Runs page in Dagu Console listing finished runs from several servers, newest first, with server, workflow, status, and range filters

Insights: trends over 7, 30, or 90 days

Runs, failures, and success rate against the previous period, runs per day, and every workflow with its p95 duration and how it changed. Today's runs count as they finish.

Insights in Dagu Console over the last 30 days: run, failure, and success-rate cards with changes, runs per day, success rate, and a table of workflows with p95 duration and its change

Each workflow: is it failing, or getting slower?

A page per workflow with its open alert, runs per day, success rate, and p50 and p95 duration over 7, 30, or 90 days, plus its recent runs and the steps it failed at. Owners can mute it here.

A failing workflow's page in Dagu Console with its alert, details, cards with changes, and charts of runs per day, success rate, and p50 and p95 duration rising over 30 days

One alert per workflow, not one email per failed run

An alert belongs to one workflow on one server. It opens when a run fails, counts later failures, and resolves when the workflow succeeds again.

  • A failed run opens an alert and emails the workspace's alert recipients.
  • Further failures add to the alert's count. They send no more email.
  • A later run that succeeds or partially succeeds resolves the alert and sends one more email.
  • Alerts that open or resolve together arrive in one email, which links to the Alerts page.
  • A server that sends no report for 10 minutes opens a stopped-reporting alert, and its next report resolves it. Aborted and rejected runs count as failures but neither open nor resolve an alert.
  • Owners choose who is emailed: owners and admins, members, and outside addresses once verified. Every email has a one-click unsubscribe, and a noisy workflow can be muted.

Workflow alerts need the Health and run status level. Emails come from no-reply@dagu.sh.

Open alerts in Dagu Console: a server that stopped reporting, a muted workflow's failure, and a failing workflow, with when each opened and was emailed

Execution and data stay on your servers

Your servers send reports to Dagu Console. Dagu Console never connects to them and never runs workflows.

Outbound HTTPS only

Reports are HTTPS requests from the server to console.dagu.sh. No inbound port is opened, and nothing connects into the server.

Workflows never wait on it

If Dagu Console cannot be reached, workflows run as usual. The server retries and sends the runs it missed once the console is back.

Off until you turn it on

Monitoring is off by default and chosen per server by its administrator. Connecting or upgrading a server sends nothing beyond its license check-in.

Two levels

Health only sends what the server runs. Health and run status adds the status of its runs, and is needed for workflow alerts.

What leaves your server

  • Dagu version, OS and architecture, and when the server process started

    Health only
    Sent
    Health and run status
    Sent
  • Number of running schedulers and registered coordinators

    Health only
    Sent
    Health and run status
    Sent
  • Each finished top-level run: DAG name, run ID, attempt ID, status, trigger, and when it was queued, started, and finished

    Health only
    Not sent
    Health and run status
    Sent
  • Names of a run's failed steps, up to 50

    Health only
    Not sent
    Health and run status
    Sent
  • Runs queued, running, or waiting, up to 200 per report

    Health only
    Not sent
    Health and run status
    Sent
  • Logs, outputs, parameters, environment, step commands, DAG YAML, secret values, and error messages

    Health only
    Never sent
    Health and run status
    Never sent

Every report also carries the server's license ID, server ID, and heartbeat secret, as its license check-in does. DAG and step names are sent only with run status; choose Health only if you consider them sensitive.

Set up in three steps

Requires Dagu v2.19.1 or later (v2.19.2 or later for free monitoring), and the server must reach https://console.dagu.sh over HTTPS.

  1. 01

    Connect the server to Dagu Console

    In Dagu, open Plan & features and select Connect to Dagu Console, run dagu license activate, or start the server with a server key. Servers with offline licenses do not report.

  2. 02

    Choose what to report

    Select Turn on in the Monitoring section of Plan & features, then choose Health and run status or Health only. The choice applies at once, without a restart.

    For servers managed as code, set the level in the configuration file, or set DAGU_CLOUD_REPORT=runs:

    cloud:
      report: runs   # off, health, or runs
    
  3. 03

    See it in Dagu Console

    The server reports every 60 seconds, and within about 5 seconds when a run fails or the runs in progress change. It appears under Monitoring in Dagu Console.

Read the full setup guide

Beta details

Monitoring is in beta. Retention periods and limits may change during the beta.

Plans

Free for one server per workspace, with lower limits: a report every 5 minutes, 100 stored runs a day, 7 days of run history, and alerts to owners and admins. Team and Pro cover every licensed server.

Compare plans

Retention

Finished runs
14 days
Daily totals per workflow
13 months
Resolved alerts
90 days after they resolve
Open alerts
Until they resolve

A server that sends no report for 30 days is removed from monitoring, with its daily totals and alerts.

Daily run limit

Each workspace stores up to 500 finished runs per UTC day, or 100 on free monitoring. Runs past the limit still count toward the daily totals and still open and resolve alerts, but they are not added to the run list. Storing resumes at 00:00 UTC.

Need more? Contact us

See every Dagu server in one place

Read the setup guide, or open Dagu Console and connect your first server.