Dagu Cloud

Плоскость управления для ваших серверов Dagu

Подключите все self-hosted серверы Dagu к Dagu Cloud. Следите за их состоянием и запусками в одной консоли, оповещайте команду там, где она работает, перезапускайте, останавливайте и одобряйте запуски, не входя на каждый сервер, и позвольте ChatGPT или Claude управлять ими через один MCP-эндпоинт. Рабочие процессы по-прежнему выполняются только на ваших серверах, которые сами устанавливают исходящее соединение; входящие порты не открываются.

Бесплатно для одного сервера. Team и Pro охватывают каждый лицензированный сервер и добавляют действия с запусками, MCP и доступ для вашей команды. Для мониторинга нужен Dagu v2.19.1 или новее (v2.19.2 на бесплатном плане); для действий с запусками и MCP нужен v2.22 или новее.

Ваши серверы

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

Рабочие процессы выполняются здесь

Только исходящий HTTPS, каждые 60 секунд
console.dagu.shНикогда не выполняет рабочие процессы
OverviewServersRunsAlertsNotifications

Оповещения по почте, в чат, PagerDuty или webhook, когда что-то сломалось, и снова, когда всё восстановилось

Много серверов, а управлять ими неоткуда

Каждый сервер Dagu самодостаточен: у него свой планировщик, своя история запусков и свой Web UI. Когда серверов несколько, проверять приходится тоже несколько мест, и входить тоже в несколько мест, когда запуск требует вмешательства.

Отдельный Web UI на каждом сервере

Каждый сервер показывает только свои запуски. Чтобы проверить сбои за прошлую ночь на пяти серверах, нужно открыть пять Web UI.

Нет списка всех сбоев

Ничто не собирает сбои всех серверов в одном месте, поэтому полной картины не видит никто.

Проблемы обнаруживаются поздно

Остановленный планировщик или замолчавший сервер не вызывают ошибок. Запланированные рабочие процессы просто перестают запускаться, пока кто-нибудь этого не заметит.

Оповещения настраиваются на каждом сервере отдельно

Для писем о сбоях нужны настройки почты и уведомлений на каждом сервере, и синхронизировать их приходится вручную.

Каждое исправление требует нового входа

Чтобы перезапустить сбойный запуск или одобрить ожидающий шаг, нужно найти нужный сервер, открыть его Web UI и войти там.

Нет безопасного доступа для ИИ

Чтобы ChatGPT или Claude могли работать с сервером за файрволом, приходится открывать порт или раздавать API-ключ.

Одна консоль для всех серверов

В разделе Monitoring консоли Dagu есть страницы Overview, Servers, Runs, Alerts, Notifications и Insights, а также страница для каждого сервера, рабочего процесса и оповещения. Их может просматривать любой участник рабочего пространства.

Overview: что требует внимания сейчас

Серверы, отправляющие отчёты, сбои за сегодня (UTC), выполняющиеся запуски и доля успешных запусков за последние 7 дней по UTC. Список Needs attention показывает, что ждёт человека, открытые оповещения и сегодняшние сбои, и у каждой строки есть своё действие.

  • Not reporting
  • Not checking in
  • Offline
  • Scheduler stopped
  • Failing workflows
  • Events lost
  • Monitoring off
Страница Overview в консоли Dagu: серверы, отправляющие отчёты, сбои за сегодня, открытые оповещения, доля успешных запусков за 7 дней и список Needs attention с затронутыми серверами

Servers: все серверы и их статус

Каждый подключённый сервер со статусом, версией Dagu, последним отчётом, сбоями за сегодня (UTC), долей успешных запусков за 7 дней по UTC и открытыми оповещениями.

Reporting
Отчёт пришёл за последние 5 минут.
Not reporting
Сервер отправлял отчёты раньше, но не за последние 5 минут.
Not checking in
Проверки лицензии не было более 26 часов.
Offline
Проверки лицензии не было более 72 часов.
Monitoring off
На сервере выключили мониторинг, или в консоли Dagu нет ни одного отчёта от этого сервера.
Scheduler stopped
В последнем отчёте число работающих планировщиков равно нулю, поэтому запланированные рабочие процессы не запускаются.
Events lost
Сервер был без связи дольше, чем его хранилище событий хранит события, поэтому часть завершённых запусков не удалось отправить.
Таблица подключённых серверов в консоли Dagu с серверами в статусах Reporting и Not reporting, их версией Dagu, последним отчётом, сбоями за сегодня, долей успешных запусков и открытыми оповещениями

Каждый сервер: состояние и недавняя история

Отдельная страница для каждого сервера. Вкладка Overview показывает его состояние (версию Dagu, ОС и архитектуру, время запуска процесса, последний отчёт, последнюю проверку лицензии), сервисы из последнего отчёта, открытые оповещения и последние сбои. Вкладка Runs перечисляет его запуски. Вкладка Workflows показывает завершённые запуски каждого рабочего процесса по дням UTC за 14 дней: число запусков, сбои, долю успешных запусков, среднюю и максимальную длительность.

Вкладка Workflows сервера в консоли Dagu с дневными столбцами запусков за последние 14 дней и числом запусков, сбоями, долей успешных запусков и длительностью по каждому рабочему процессу

Запуски на всех серверах

Сначала идут выполняющиеся запуски, затем завершённые, от новых к старым. У каждого запуска есть постоянная ссылка на его попытки.

Фильтры по серверу, рабочему процессу, статусу (failed, succeeded, running, waiting или queued) и периоду: последний час, 24 часа, 7 дней, 14 дней или, в Team и Pro, 30 дней.

Страница Runs в консоли Dagu: завершённые запуски с нескольких серверов, от новых к старым; фильтры по серверу, рабочему процессу, статусу и периоду

Insights: тренды за 7, 30 или 90 дней

Запуски, сбои и доля успешных запусков в сравнении с предыдущим периодом, запуски по дням и каждый рабочий процесс с его длительностью p95 и её изменением. Сегодняшние запуски учитываются по мере завершения.

Insights в консоли Dagu за последние 30 дней: карточки запусков, сбоев и доли успешных запусков с изменениями, запуски по дням, доля успешных запусков и таблица рабочих процессов с длительностью p95 и её изменением

Каждый рабочий процесс: не падает ли он и не стал ли медленнее?

Отдельная страница для каждого рабочего процесса: его открытое оповещение, запуски по дням, доля успешных запусков и длительность p50 и p95 за 7, 30 или 90 дней, а также последние запуски и шаги, на которых он упал. Здесь же владельцы могут отключить для него уведомления.

Страница сбойного рабочего процесса в консоли Dagu: оповещение, сведения, карточки с изменениями и графики запусков по дням, доли успешных запусков и длительности p50 и p95, растущей на протяжении 30 дней

Действуйте из консоли или через ИИ

Dagu Cloud связывается с каждым сервером через соединение, которое открывает сам сервер, поэтому участники и MCP-клиенты могут работать с запусками без входящего порта, VPN или API-ключа.

Действия с запусками в консоли

Читайте лог упавшего шага, перезапускайте или останавливайте запуск, одобряйте или отклоняйте шаг, ожидающий человека, прямо из Overview, со страницы запуска или из его оповещения.

Один MCP-эндпоинт для всех серверов

Подключите ChatGPT, Claude или другой MCP-клиент один раз. Он читает запуски и логи, запускает и перезапускает рабочие процессы и редактирует DAG на серверах рабочего пространства в пределах роли каждого участника.

В границах каждого сервера

Администратор каждого сервера включает удалённый доступ и задаёт максимальную роль, которую сервер допускает. Каждый вызов подписывается только для этого запроса и записывается в Dagu Cloud и в собственный аудит-лог сервера.

В Team и Pro или в пробный период. Требуется Dagu v2.22 или новее.

Как работает удалённый доступ

Одно оповещение на проблему, а не письмо на каждый сбойный запуск

Оповещение относится к одному рабочему процессу или одному серверу. Оно открывается один раз, считает то, что происходит дальше, и закрывается само, когда проблема уходит.

Рабочий процесс завершается с ошибкой

Сбойный запуск открывает оповещение рабочего процесса. Последующие сбои увеличивают его счётчик без новых сообщений, а следующий успешный запуск закрывает его.

Сервер перестаёт отправлять отчёты

10 минут без отчёта, или 25 при бесплатном мониторинге, открывают оповещение сервера, так что упавший хост или остановленный процесс не останется незамеченным. Следующий отчёт закрывает его.

Запуск длится слишком долго

Team и Pro

Запуск, который всё ещё идёт после двойного обычного времени своего рабочего процесса и ещё как минимум 10 минут, открывает оповещение раньше, чем кто-то удивится запоздавшему отчёту. Оно закрывается, когда запуск завершается.

Открытые оповещения в консоли Dagu: сервер, переставший отправлять отчёты, слишком долгий запуск, подтверждённый сбой и заглушённый рабочий процесс, у каждого — время письма и каналы, куда ушло сообщение
  • У каждого оповещения есть страница: что упало, на каком сервере, и хронология — когда оно открылось, каждое письмо и сообщение и кто взял его в работу.
  • Любой участник рабочего пространства подтверждает оповещение на его странице, а получатель — прямо из письма, без входа в систему. Инцидент в PagerDuty подтверждается вместе с ним.
  • В Team и Pro оповещения, которые никто не подтвердил, публикуются снова каждый час, каждые 4 часа или раз в день, до 6 раз. Отложите напоминания на час, на день или до 9:00 в вашем часовом поясе.
  • Оповещения, которые открываются или закрываются вместе, приходят одним письмом. Канал получает не больше 20 сообщений за раз и сводку по остальным.
  • Прерванные и отклонённые запуски считаются сбоями в итогах, но не открывают и не закрывают оповещения.
  • Время в письмах и сообщениях указано в часовом поясе вашего рабочего пространства. Шумный рабочий процесс можно заглушить: его оповещения по-прежнему записываются, но никого не уведомляют.

Для оповещений о рабочих процессах нужен уровень Health and run status. Письма приходят с адреса no-reply@dagu.sh.

Подтверждённое оповещение в консоли Dagu с сервером, рабочим процессом и сбойным шагом и хронологией: письмо, сообщения в Slack, Teams и PagerDuty и подтверждение, переданное в PagerDuty

Оповещения там, куда команда и так смотрит

Письма с оповещениями получают владельцы и администраторы, а также добавленные вами участники и подтверждённые внешние адреса, у каждого — отписка в один клик. В Team и Pro оповещения также уходят в до 10 каналов: Slack, Microsoft Teams, Google Chat, Discord, PagerDuty и подписанные webhooks.

  • Почта
  • Slack
  • Microsoft Teams
  • Google Chat
  • Discord
  • PagerDuty
  • Webhook

При добавлении канала отправляется тест, и каждый канал хранит журнал всех сообщений и ответов на них. Неудачное сообщение повторяется с нарастающей паузой до суток, а канал, трижды подряд отклонивший оповещения, останавливается и сообщает об этом.

Страница Notifications в консоли Dagu с письмами с оповещениями и каналами Slack, Microsoft Teams, PagerDuty и webhook, все работают, напоминания каждые 4 часа и каналы, которые можно добавить

Еженедельная сводка для владельцев

Team и Pro

Каждый понедельник в 8:00 по часовому поясу рабочего пространства каждый владелец получает письмо со сводкой за прошлую неделю. Одна ссылка отключает его.

  • Завершённые запуски и доля успешных в сравнении с предыдущей неделей
  • Открытые и закрытые оповещения и то, как быстро их подтверждали и устраняли
  • Рабочие процессы с наибольшим числом сбоев и те, что стали медленнее
  • Серверы, которые замолчали, и каналы, переставшие принимать оповещения

Выполнение и данные остаются на ваших серверах

Ваши серверы отправляют отчёты в консоль Dagu. Консоль Dagu никогда не подключается к ним и никогда не выполняет рабочие процессы.

Только исходящий HTTPS

Отчёты отправляются HTTPS-запросами с сервера на console.dagu.sh. Входящие порты не открываются, и к серверу ничего не подключается.

Рабочие процессы никогда не ждут консоль

Если консоль Dagu недоступна, рабочие процессы выполняются как обычно. Сервер повторяет попытки и отправляет пропущенные запуски, как только консоль снова станет доступна.

Выключено, пока вы не включите

Мониторинг по умолчанию выключен, и для каждого сервера решение принимает его администратор. Подключение или обновление сервера не отправляет ничего, кроме его проверки лицензии.

Три уровня

Health only отправляет сведения о том, что работает на сервере. Health and run status добавляет статус его запусков и нужен для оповещений о рабочих процессах. Третий уровень также отправляет сообщения об ошибках упавших шагов, чтобы оповещения показывали, почему запуск завершился с ошибкой.

Что покидает ваш сервер

  • Версия Dagu, ОС и архитектура, время запуска процесса сервера

    Health only
    Отправляется
    Health and run status
    Отправляется
  • Число работающих планировщиков и зарегистрированных координаторов

    Health only
    Отправляется
    Health and run status
    Отправляется
  • Каждый завершённый запуск верхнего уровня: имя DAG, ID запуска, ID попытки, статус, триггер, а также время постановки в очередь, начала и завершения

    Health only
    Не отправляется
    Health and run status
    Отправляется
  • Имена упавших шагов запуска, до 50

    Health only
    Не отправляется
    Health and run status
    Отправляется
  • Запуски в очереди, выполняющиеся или ожидающие, до 200 на отчёт

    Health only
    Не отправляется
    Health and run status
    Отправляется
  • Логи, выходные данные, параметры, окружение, команды шагов, DAG YAML и значения секретов

    Health only
    Никогда не отправляется
    Health and run status
    Никогда не отправляется

Каждый отчёт также содержит ID лицензии сервера, ID сервера и heartbeat-секрет, как и его проверка лицензии. Имена DAG и шагов отправляются только со статусом запусков; выберите Health only, если считаете их конфиденциальными. Сообщения об ошибках упавших шагов отправляются только на третьем уровне, Health, run status, and error messages: конец каждой ошибки, с замаскированными объявленными секретами.

Настройка в три шага

Требуется Dagu v2.19.1 или новее (для бесплатного мониторинга — v2.19.2 или новее), и сервер должен иметь доступ к https://console.dagu.sh по HTTPS.

  1. 01

    Подключите сервер к консоли Dagu

    В Dagu откройте Plan & features и выберите Connect to Dagu Console, выполните dagu license activate или запустите сервер с ключом сервера. Серверы с офлайн-лицензиями не отправляют отчёты.

  2. 02

    Выберите, что отправлять

    Нажмите Turn on в разделе Monitoring на странице Plan & features, затем выберите Health and run status или Health only. Выбор применяется сразу, без перезапуска.

    Для серверов, управляемых как код, задайте уровень в файле конфигурации или установите DAGU_CLOUD_REPORT=runs:

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

    Смотрите данные в консоли Dagu

    Сервер отправляет отчёт каждые 60 секунд, а также примерно в течение 5 секунд, когда запуск завершается с ошибкой или меняется набор выполняющихся запусков. Сервер появляется в разделе Monitoring консоли Dagu.

Читать полное руководство по настройке

Планы, хранение и лимиты

Что входит в каждый план, как долго Dagu Cloud хранит отчёты серверов и сколько запусков сохраняет за сутки.

Планы

Бесплатно для одного сервера в рабочем пространстве, с более низкими лимитами: отчёт каждые 5 минут, 100 сохранённых запусков в сутки, история запусков за 7 дней и письма с оповещениями владельцам и администраторам. Team и Pro охватывают каждый лицензированный сервер: 30 дней истории, каналы в чатах, PagerDuty и webhooks, напоминания, оповещения о слишком долгих запусках и еженедельная сводка.

Сравнить планы

Хранение

Завершённые запуски
30 дней
Дневные итоги по каждому рабочему процессу
13 месяцев
Закрытые оповещения
90 дней после закрытия
Открытые оповещения
До закрытия

Бесплатный мониторинг показывает завершённые запуски за последние 7 дней, а пробный период — за последние 14. Сервер, который 30 дней не отправляет отчётов, удаляется из мониторинга вместе с ежедневными итогами и оповещениями.

Дневной лимит запусков

Каждое рабочее пространство хранит до 500 завершённых запусков за сутки по UTC, или 100 при бесплатном мониторинге. Запуски сверх лимита всё равно учитываются в дневных итогах и по-прежнему открывают и закрывают оповещения, но не добавляются в список запусков. Сохранение возобновляется в 00:00 UTC.

Нужно больше? Свяжитесь с нами

Управляйте всеми серверами Dagu из одного места

Прочитайте руководство по настройке или откройте консоль Dagu и подключите первый сервер. Бесплатно для одного сервера; для Team или Pro начните пробный период.