Открытая регистрация · Бесплатно

DUCKSTAT

Знай когда упало — раньше чем узнают пользователи

Три шага до спокойного сна

Без сложных настроек, без DevOps-экспертизы. Работает с первой минуты.

1

Зарегистрируйся

Открытая регистрация по email. Никакой кредитной карты, никаких демо-звонков — просто создай аккаунт и начни.

2

Добавь монитор

Укажи URL сайта или установи агент на сервер. HTTP/HTTPS, TCP, Ping — настраивается за 30 секунд.

3

Получай уведомления

Когда что-то падает — ты узнаёшь первым. Инцидент открывается автоматически, закрывается при восстановлении.

Всё что нужно — и ничего лишнего

Без избыточного энтерпрайза. Простой инструмент, который делает одно — работает.

🌐

Мониторинг сайтов

Следит за доступностью сайтов и API. Поддерживает поиск ключевых слов в ответе, проверку SSL и кодов статуса.

HTTP/HTTPS TCP Ping Keyword
🖥️

Серверные агенты

Лёгкий Python-агент собирает CPU, RAM, диск, load average и список процессов. Данные в реальном времени.

CPU RAM Disk LA
🚨

Инциденты

Инцидент создаётся автоматически при падении и закрывается при восстановлении. История всех событий сохраняется.

Авто-создание Авто-закрытие
📈

Аптайм-история

Графики доступности и процент аптайма за 24 часа, 7 дней и 30 дней. Смотри тренды и находи проблемные периоды.

24ч 30д
📄

Публичная страница статуса

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

Публичная Без логина
📁

Проекты

Группируй мониторы по проектам. Drag & drop, цвета, иконки — организуй рабочее пространство под себя.

Drag & Drop Цвета Иконки

Чисто. Без воды.

Тёмный интерфейс, который не раздражает в 3 ночи, когда что-то упало.

Дашборд
DuckStat
+ Монитор
12
Работают
1
Упало
99.2%
Аптайм
my-app.example.com
100%
api.legacy.internal
81.3%
prod-server-01
99.9%
staging.myproject.io
100%
Серверный агент
prod-server-01
Online
CPU
24%
RAM
62%
Disk
78%
Load avg
0.42
Инциденты
api.legacy.internal
ОТКРЫТ
Начался 14 мин назад
Длительность: 00:14:23
staging.myproject.io
ЗАКРЫТ
Вчера, 03:21
Длился: 00:08:15
my-app.example.com
ЗАКРЫТ
5 дней назад
Длился: 00:02:44
Публичная страница статуса
Все системы работают
Сайт
Работает · 100%
API
Работает · 99.3%
База данных
Работает · 100%
60с
Минимальный интервал проверки
4
Типа мониторинга
30д
История аптайма
0₽
Для старта

Готов следить за своим проектом?

Регистрация открыта. Верификация по email. Без кредитных карт.

Начать бесплатно →

Как работать с DuckStat

Инструкции, FAQ и решения частых проблем.

🚀 Быстрый старт
1
Зарегистрируйся

Перейди на страницу регистрации. Введи email и пароль. После регистрации придёт письмо с подтверждением.

2
Подтверди email

Проверь почту (в том числе папку «Спам»). Кликни на ссылку в письме — и ты автоматически войдёшь в систему.

3
Создай проект

Проект — это папка для мониторов. Нажми «+ Проект» на дашборде. Можно добавить цвет и иконку для удобства.

4
Добавь первый монитор

Нажми «+ Монитор», выбери тип HTTP, введи URL своего сайта. Минимальный интервал — 30 секунд. Сохрани.

5
Настрой уведомления (Telegram)

В настройках монитора включи Telegram-уведомления. Введи Chat ID своего Telegram-аккаунта. Узнать Chat ID можно через @userinfobot.

💡 Уже через минуту первый чек выполнится и ты увидишь статус UP или DOWN на дашборде.
🌐 Мониторы

Типы мониторов

Тип
Что проверяет
Параметры
HTTP / HTTPS
Доступность сайта, HTTP-статус
URL, ожидаемый код (200, 301...)
TCP
Открытость порта
Хост, порт
Ping
ICMP ping до хоста
Хост / IP
Keyword
Наличие текста в теле ответа
URL, ключевое слово
API
Значение поля в JSON-ответе
URL, JSONPath, ожидаемое значение
Agent
Доступность серверного агента
Выбирается установленный агент

Настройки

  • Интервал — как часто выполняется проверка. Минимум 30 секунд, по умолчанию 60.
  • Таймаут — сколько ждать ответа. По умолчанию 30 секунд.
  • Повторы — сколько раз повторить проверку перед тем как открыть инцидент. По умолчанию 3.
  • Метод — GET или POST (для HTTP-мониторов).
💡 Монитор можно поставить на паузу — чеки прекратятся, но история сохранится. Drag & Drop меняет порядок.
🖥️ Агенты

Агент — лёгкий Python-скрипт, который устанавливается на сервер и отправляет метрики каждые 30 секунд.

Что собирает агент

  • CPU — загрузка в процентах
  • RAM — использованная / всего
  • Disk — занятое / всего место
  • Load Average — 1/5/15 минут
  • Network — входящий / исходящий трафик
  • Процессы — количество и топ по CPU
  • Docker-контейнеры (если Docker установлен)

Установка (Linux, Ubuntu/Debian)

1. Перейди в DuckStat → Агенты → «+ Агент». Введи имя сервера, скопируй токен.

2. На сервере выполни команду:

curl -fsSL https://duckstat.mshkdev.ru/agent/install.sh | \
  DUCKSTAT_URL=https://duckstat.mshkdev.ru \
  DUCKSTAT_TOKEN=твой_токен \
  bash

Установщик автоматически создаст systemd-сервис, который будет запускаться при старте системы.

Управление

systemctl status duckstat-agent   # статус
journalctl -u duckstat-agent -f   # логи
systemctl restart duckstat-agent  # перезапуск
systemctl stop duckstat-agent     # остановка
💡 Агент считается онлайн, если последний сигнал пришёл меньше 90 секунд назад.
🚨 Инциденты

Инцидент — это зафиксированный период недоступности монитора. Создаётся и закрывается автоматически.

Как создаётся инцидент

1
Монитор получил статус DOWN
2
Система делает N повторных проверок (значение параметра «Повторы»)
3
Если все повторы провалились → инцидент открывается, уходит Telegram-уведомление 🔴

Как закрывается инцидент

Монитор снова получает статус UPинцидент закрывается, фиксируется длительность, уходит уведомление 🟢

Уведомления Telegram

  • «Monitor DOWN» — при открытии инцидента
  • «Monitor is back UP» — при восстановлении
  • «Daily Report» — ежедневный отчёт с процентом аптайма (настраивается в уведомлениях)
💡 Перейди в монитор → вкладка «Инциденты» чтобы увидеть всю историю с длительностью каждого инцидента.
FAQ
Сколько мониторов можно добавить?
Ограничений нет. Добавляй столько, сколько нужно.
Какой минимальный интервал проверки?
30 секунд. По умолчанию стоит 60 секунд — этого достаточно для большинства случаев.
Можно мониторить локальный сервер без публичного IP?
Для HTTP-мониторов — нет, нужен публичный доступ. Но агент работает наоборот: он сам отправляет данные наружу, поэтому его можно поставить на любой сервер с исходящим интернетом.
Как настроить Telegram-уведомления?
Зайди в монитор → «Настройки уведомлений». Введи свой Telegram Chat ID (можно узнать через @userinfobot). Включи «При падении» и/или «При восстановлении».
Как работает публичная страница статуса?
Перейди на /status — это публичная страница без авторизации. Там видны все активные мониторы и их текущий статус. Ссылку можно отправить клиентам или добавить в футер сайта.
Данные за какой период хранятся?
История чеков — 30 дней. История инцидентов — без ограничений.
🔧 Возможные проблемы
Письмо с подтверждением не приходит
Проверь папку «Спам» — письмо может туда попасть из-за нового домена. Если там нет — на экране входа нажми «Отправить повторно» и подожди 1-2 минуты. Gmail-адреса получают письма быстрее всего.
Монитор всегда показывает DOWN
Возможные причины:
• Сайт не открывается публично (localhost, VPN, firewall)
• Неправильный ожидаемый статус (например, сайт возвращает 301, а ожидается 200)
• Слишком маленький таймаут — попробуй увеличить до 30-60 секунд
• Для HTTPS: истёкший SSL-сертификат
Агент не появляется в системе
Проверь:
systemctl status duckstat-agent — должен быть active (running)
journalctl -u duckstat-agent -f — смотри ошибки
• Токен скопирован правильно? (без пробелов в начале и конце)
• Есть ли доступ до duckstat.mshkdev.ru с этого сервера? curl https://duckstat.mshkdev.ru/health
Telegram-уведомления не приходят
• Убедись, что Chat ID введён правильно (число, не username)
• Chat ID можно получить через @userinfobot
• Проверь что галочки «При падении» / «При восстановлении» включены
• Убедись, что монитор активный (не на паузе)
Drag & Drop не работает
Перетаскивание работает за иконку (появляется при наведении слева от карточки). На мобильных устройствах нужно удерживать палец ~300мс перед началом перетаскивания.