Перейти к содержимому

Справка

Частые вопросы

Как работает StatusEye, как добавить и настроить монитор, откуда приходят алерты и что входит в тарифы Free, Lite и Pro.

Управление мониторами — в личном кабинете на сайте. Telegram-бот нужен для входа и получения алертов.

Ниже собраны ответы по фактическому поведению сервиса. Если нужного ответа нет — напишите в поддержку: @StatusEyeSupport_bot.

1. Что такое StatusEye

StatusEye — сервис мониторинга доступности сайтов и API. Вы добавляете адрес, сервис периодически проверяет его и фиксирует:

  • статус — доступен или недоступен;
  • HTTP-код ответа;
  • латентность (время ответа в миллисекундах);
  • время последней и следующей проверки.

Результаты проверок сохраняются в историю, периоды недоступности собираются в список инцидентов, а при смене состояния сервис присылает алерт в Telegram.

Интерфейс сервиса — сайт и личный кабинет. Telegram-бот используется только для входа и доставки алертов; добавлять и изменять мониторы через бота нельзя.

2. Как начать

  1. Нажмите «Войти» в шапке сайта и выберите Telegram или почту.
  2. Telegram: перейдите по одноразовой ссылке в бота и нажмите Start — вход подтвердится автоматически, пароль не нужен. Почта: зарегистрируйтесь с паролем и подтвердите адрес по ссылке из письма.
  3. После входа откройте личный кабинет («Мои мониторинги» в меню профиля).
  4. Нажмите «Добавить мониторинг» и укажите адрес первого сайта.

Учётная запись создаётся автоматически при первом входе. Всё управление мониторами — только в личном кабинете на сайте: в боте таких действий нет. Уведомления о сбоях приходят только в Telegram: если вы вошли по почте, привяжите Telegram или подключите своего бота на платном тарифе.

3. Мониторы

Как добавить монитор

  1. В меню профиля выберите «Мои мониторинги».
  2. Нажмите «Добавить мониторинг».
  3. Укажите адрес сайта или API и название (если имя не задано, будет использован домен).
  4. Выберите режим проверки — headers или body, если тариф его разрешает.
  5. Нажмите «Добавить».

Количество мониторов ограничено тарифом: Free — 2 монитора, Lite — 5 мониторов, Pro — 10 мониторов. Когда лимит исчерпан, кнопка добавления блокируется и появляется ссылка на страницу подписки.

Что можно делать с монитором

  • Проверить — ручная немедленная проверка. Она не расходует суточную квоту и не записывается в историю; обновляются только текущий статус и время проверки. Между ручными проверками одного монитора действует короткая пауза (15 секунд на Free, 10 секунд на Lite, 5 секунд на Pro).
  • Изменить — правка названия, режима проверки и текста контроля; при смене режима время следующей проверки пересчитывается.
  • Удалить — удаление монитора с подтверждением прямо в карточке.
  • История — таблица проверок: время, статус, причина, HTTP-код, латентность, режим.
  • Инциденты — периоды недоступности: начало, длительность и причина.

В карточке монитора видны текущий статус, адрес, режим, латентность и обратный отсчёт до следующей проверки. Если проверок ещё не было, статус отображается как ожидание.

Как часто идут проверки

Интервал задаётся тарифом и режимом, менять его вручную нельзя: Free — headers каждые 120 секунд; Lite — headers и body каждые 60 секунд; Pro — headers каждые 30 секунд, body каждые 60 секунд. Таймаут одной проверки — 10 секунд.

4. Режимы проверки

Режим определяет, что именно проверяется и как считается латентность.

  • headers — быстрая проверка доступности: запрашиваются только заголовки ответа, тело страницы не читается. Латентность фиксируется до получения заголовков. Статус определяется по HTTP-коду ответа. Доступен на всех тарифах.
  • body — проверка содержимого страницы: тело ответа читается (до 256 КБ) и при необходимости сверяется с заданным текстом. Режим расходует суточную квоту body-проверок и доступен на Lite и Pro.

Если монитор работает в режиме body, а тариф его больше не даёт или суточная квота body-проверок исчерпана, проверка автоматически выполняется в режиме headers, а в истории и карточке указывается причина — «квота body исчерпана» или «режим недоступен на тарифе». Монитор при этом продолжает проверяться.

5. Алерты

Алерты приходят сообщением в Telegram от бота сервиса — тому аккаунту, через который выполнен вход.

  • Сообщение отправляется только при смене состояния: работал → упал или упал → восстановился.
  • Если состояние не изменилось, повторных сообщений нет.
  • В алерте указаны монитор, адрес, причина, время и длительность предыдущего состояния.
  • Сбой на стороне инфраструктуры проверки не меняет статус монитора и не создаёт алерт.
  • Каждый отправленный алерт учитывается в суточной квоте алертов тарифа.

На платном тарифе алерты можно получать от собственного бота — в личный чат, группу или канал: см. «Свой бот для алертов».

6. Свой бот для алертов

Алерты о падении и восстановлении сайтов могут приходить не от бота StatusEye, а от вашего собственного Telegram-бота — со своим именем и аватаром, в личный чат, группу или канал команды. Функция доступна на платных тарифах; на Free и в пробном периоде её нет.

Как подключить

  1. Создайте бота у @BotFather командой /newbot и скопируйте токен, который он пришлёт.
  2. На сайте откройте «Настройки» в меню профиля, найдите блок «Свой бот для алертов», вставьте токен и нажмите «Подключить».
  3. Выберите, куда присылать алерты:
    • личный чат — откройте бота по ссылке и нажмите «Start»;
    • группа — добавьте бота в группу по ссылке, код привязки отправится сам;
    • канал — сделайте бота администратором канала и опубликуйте пост с кодом привязки, который показан в настройках.
  4. Нажмите «Проверить». Бот пришлёт тестовое сообщение, статус сменится на «Работает» — с этого момента алерты идут через него.

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

Что приходит от своего бота

  • Через своего бота приходят только алерты мониторов.
  • Сообщения о тарифе, оплате и напоминания по-прежнему присылает бот StatusEye — в чат, через который выполнен вход.
  • Если свой бот перестал работать (его удалили, отозвали токен или убрали из чата), алерт придёт от бота StatusEye с пометкой о проблеме, а статус в настройках станет «Не работает». Чтобы вернуть своего бота, исправьте причину и снова нажмите «Проверить».
  • При переходе на Free настройки сохраняются, но алерты присылает бот StatusEye.

Управление и частые проблемы

  • Привязать другой чат — сменить, куда приходят алерты.
  • Заменить токен — если вы перевыпустили токен в @BotFather.
  • Отключить — алерты снова будет присылать бот StatusEye.
  • «Бота уже читает другая программа» — бот подключён к другому сервису или у него настроен вебхук. Для StatusEye нужен отдельный бот, который больше нигде не используется.
  • «Этот бот уже подключён к другому аккаунту» — один бот можно привязать только к одному аккаунту StatusEye.
  • Токен хранится на сервере и после подключения нигде не показывается — даже вам.

7. Вебхуки

Алерты о падении и восстановлении сайтов можно отправлять не только в Telegram, но и на адрес вашего сервиса — вебхук. Подойдут Slack, Discord, Mattermost, n8n, Make, Zapier, системы дежурств и ваш собственный сервер. Вебхуки доступны на тарифах Lite (один) и Pro (до пяти); на Free и в пробном периоде их нет.

Как подключить

  1. Откройте «Настройки» → «Оповещения» → «Вебхуки», вставьте адрес (только https) и нажмите «Добавить». Формат подставится по адресу: Slack, Discord или JSON.
  2. Нажмите «Проверить» — на адрес уйдёт тестовое сообщение, а на странице появится результат.
  3. Чтобы получать алерты только на вебхуки, выключите переключатель «Алерты в Telegram». Если все вебхуки перестанут работать или тариф закончится, Telegram включится сам — алерты не пропадут.

Что приходит

Формат json — полное событие (запрос POST, тело application/json):

{
  "version": 1,
  "event_id": "…uuid…",
  "type": "monitor.down",
  "occurred_at": "2026-10-31T12:00:00Z",
  "monitor": {"id": 42, "name": "My site", "url": "https://example.com"},
  "status": "down",
  "reason": {"code": "http_5xx", "text": "…"},
  "http_status": 502,
  "latency_ms": 1200,
  "duration_sec": 3600,
  "links": {"dashboard": "https://statuseye.ru/profile"}
}

type: monitor.down, monitor.up, test. duration_sec — сколько сайт был доступен (для down) или недоступен (для up), либо null. Поля только добавляются; несовместимые изменения выйдут как version: 2. Повторы доставки приходят с тем же event_id — по нему можно отсеивать дубли.

Форматы slack и discord — готовое сообщение: у Slack, Mattermost и Rocket.Chat это поле text, у Discord — карточка с цветом (упоминания @everyone отключены).

Как проверить подпись (формат json)

Каждый запрос подписан ключом, который показывается один раз при создании вебхука. В заголовке X-StatusEye-Signature лежит t=<unix-время>,v1=<hex>; подпись — HMAC-SHA256 от строки <t>.<тело запроса> (тело берите как есть, до разбора JSON). Проверяйте и время — старые запросы отклоняйте. Другие заголовки: X-StatusEye-Event, X-StatusEye-Event-Id, User-Agent: StatusEye-Webhook/1.

Python

import hashlib, hmac, time

def verify(secret: str, body: bytes, header: str, tolerance: int = 300) -> bool:
    parts = dict(p.split("=", 1) for p in header.split(","))
    ts, sig = int(parts["t"]), parts["v1"]
    if abs(time.time() - ts) > tolerance:
        return False  # stale request
    msg = str(ts).encode() + b"." + body
    expected = hmac.new(secret.encode(), msg, hashlib.sha256).hexdigest()
    return hmac.compare_digest(expected, sig)

Node.js

const crypto = require('crypto');

function verify(secret, rawBody, header, tolerance = 300) {
  const parts = Object.fromEntries(header.split(',').map((p) => p.split('=')));
  const ts = Number(parts.t);
  if (Math.abs(Date.now() / 1000 - ts) > tolerance) return false; // stale request
  const expected = crypto.createHmac('sha256', secret)
    .update(ts + '.').update(rawBody).digest('hex');
  const a = Buffer.from(expected), b = Buffer.from(parts.v1 || '');
  return a.length === b.length && crypto.timingSafeEqual(a, b);
}

Как работает доставка

  • Ответ 2xx — доставлено. Приёмник должен ответить в течение 10 секунд; тело ответа мы не читаем и не показываем.
  • Ошибка сети, таймаут, ответы 5xx и 429 — повторы через 30 секунд, 2 минуты, 10 минут, 30 минут, затем раз в час, до 24 часов.
  • Ответы 400, 401, 403, 404, 410, перенаправления (3xx) и запрещённый адрес считаются постоянной ошибкой. После пяти таких ошибок подряд, а также после суток без единой доставки вебхук отключается, вам приходит сообщение в Telegram, а алерты снова идут в Telegram. Исправьте адрес или нажмите «Проверить» — вебхук вернётся в работу.
  • Внутри одного вебхука события приходят по порядку: «восстановлен» не обгонит «упал».
  • Разрешены только адреса https с публичным IP: внутренние сети, localhost и служебные порты запрещены. Перенаправления не выполняются — указывайте конечный адрес.

8. Тарифы и квоты

  • Free — 0 ₽. До 2 мониторов, проверки в режиме headers каждые 120 секунд, до 100 алертов в сутки, история за 7 дней. Режим body недоступен: суточная квота body-проверок — 0.
  • Lite — 149 ₽ в месяц. До 5 мониторов, headers и body каждые 60 секунд, до 2000 body-проверок и до 300 алертов в сутки, история за 30 дней, контроль текста на странице, свой бот для алертов, один вебхук.
  • Pro — 299 ₽ в месяц. До 10 мониторов, headers каждые 30 секунд и body каждые 60 секунд, до 5000 body-проверок и до 500 алертов в сутки, история за 90 дней, контроль текста на странице, свой бот для алертов, до пяти вебхуков.

Если пробный период доступен, на странице подписки появляется кнопка «Попробовать 3 дня бесплатно».

Где смотреть расход квот

В разделе «Подписка» есть блок «Квоты за сутки»: мониторы, body-проверки и алерты — использовано и осталось. Квоты считаются за сутки по UTC и обнуляются в 00:00 UTC, то есть в 03:00 по московскому времени.

Как подключить или сменить тариф

Откройте «Подписку» в меню профиля и нажмите «Подключить тариф» — откроется окно оплаты с выбором тарифа и полем для e-mail. После оплаты подписка активируется, а статус и срок окончания отображаются на той же странице. С Lite можно перейти на Pro кнопкой «Перейти на Pro»: неиспользованные дни Lite не пропадают — они пересчитываются по цене и добавляются к сроку Pro (например, 20 дней Lite дают ещё 9 дней Pro). Перейти с Pro на Lite можно после окончания Pro. Условия оплаты и возврата описаны в пользовательском соглашении, обработка данных — в политике конфиденциальности.

9. Аккаунт и данные

Вход выполняется через Telegram по одноразовой ссылке — пароль не используется. Одна учётная запись соответствует одному Telegram-аккаунту.

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

Выйти из личного кабинета можно пунктом «Выйти» в меню профиля. После выхода страницы личного кабинета требуют повторного входа.

10. Поддержка

Вопросы по работе сервиса, тарифам и оплате — в Telegram: @StatusEyeSupport_bot.

Юридические документы: пользовательское соглашение, политика конфиденциальности.