IONotify — единый шлюз уведомлений, алертов и бизнес-событий

Сайт, мониторинг, CRM или скрипт отправляет событие в IONotify. Система сама решает, кому и куда его доставить, повторяет попытки при ошибках и показывает всю историю доставки.

  • Один API для алертов, писем, сервисных уведомлений и бизнес-событий.
  • Telegram, Email, Webhook, Slack, Mattermost и Operator UI под одним управлением.
  • Worker-ы отправляют сообщения отдельно: сайт не ждёт SMTP, Telegram или Webhook.
  • Повторы, Dead-letter и диагностика помогают не терять важные сообщения.
  • Настройка через веб-панель, без YAML и ручного JSON.

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

Один сервис сам отправляет email. Другой пишет в Telegram. Мониторинг живёт отдельно. Cron-скрипт молча падает ночью. А когда пользователь не получил письмо или alert не дошёл до администратора, приходится искать проблему в логах, SMTP, ботах, webhook-ах и коде приложения.

Так появляются самописные notification-сервисы, которые сложно поддерживать: у каждого свои правила, свои повторы, свои ошибки и своя история.

  • Email из кода сайтаЕсли SMTP недоступен, пользователь может не получить письмо. Часто команда узнаёт об этом слишком поздно.
  • Алерты отдельноМониторинг отправляет свои alert-ы, но бизнес-события и письма идут другим путём.
  • Telegram-боты размножаютсяКаждый сервис добавляет своего бота, свои retry и свои настройки.
  • Нет единой историиНепонятно, что произошло: событие пришло, обработалось, отправилось или потерялось.
  • Ошибки доставки не видны людям«Мы отправили» ещё не значит «сообщение дошло».

IONotify собирает все события в одну управляемую шину

Любая система отправляет событие в IONotify через API, SDK, Webhook или Agent. IONotify приводит событие к единому виду, применяет правила, выбирает шаблон и канал доставки, а worker-ы отправляют сообщение отдельно от вашего сайта или сервиса.

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

IONotify превращает разрозненные уведомления в понятный управляемый поток.

От события до сообщения человеку

Сначала сайт, мониторинг или скрипт создаёт событие. IONotify принимает его, приводит к единому формату и проверяет правила маршрутизации. Потом система создаёт задачу доставки, а worker отправляет сообщение в нужный канал.

  • API

    Для приложений и backend-сервисов.

  • SDK

    Готовые библиотеки, чтобы не собирать HTTP-запросы руками.

  • Webhook

    Для Alertmanager, Grafana, Jenkins и других внешних систем.

  • Agent

    Маленький бинарник для серверов, cron-задач и скриптов.

  • Normalization

    Приводит разные внешние события к одному понятному виду.

  • Routes

    Решают, кому и куда отправить сообщение.

Один API для разных важных сообщений

IONotify подходит не только для мониторинга. Через одну систему можно отправлять алерты, письма с сайта, бизнес-события, сервисные сообщения и уведомления для операторов.

Алерты мониторинга

CPU, диск, uptime, ошибки сервисов, недоступность внешних систем.

Письма с сайта

Сброс пароля, подтверждение email, billing, важные письма пользователям.

Бизнес-события

Новый заказ, оплата, отмена, заявка, действие клиента.

Сервисные сообщения

Backup failed, cron failed, deploy failed, queue stuck.

CI/CD события

Build failed, deploy started, deploy finished, rollback.

Operator events

События, которые должен увидеть и обработать человек.

Каналы под одним управлением

IONotify может доставлять сообщения в разные каналы, но правила, история, повторы и диагностика остаются в одном месте.

  • Telegram

    готово

    Алерты, групповые чаты, темы, разные боты и targets.

  • Email

    готово

    Письма пользователям, сервисные уведомления, шаблоны, диагностика SMTP/API ошибок.

  • Webhook

    готово

    Интеграции с внешними системами и fallback-цепочки.

  • Slack и Mattermost

    через Webhookroadmap

    Командные уведомления в рабочие чаты. Native-коннекторы — в roadmap; уже сейчас можно через Webhook.

  • Operator UI

    готово

    Панель для людей: активные alert-ы, статусы, заметки, история и runbooks.

Расширяемость

Новые каналы можно добавлять отдельными providers, worker-ами или через Webhook. Это не должно ломать старые routes, templates, targets и историю доставки.

Если проблему должен разобрать человек, alert может стать задачей

Иногда уведомления мало. Если проблема требует работы команды, IONotify может передать событие во внешнюю систему задач.

Если ночью упал важный сервис, IONotify может не только отправить сообщение в чат, но и создать задачу. У команды останется понятный след: что произошло, кто взял в работу, какие были попытки доставки и где лежит внешняя задача.

Jira

roadmapчерез Webhook

Создать issue из alert-а, приложить severity, project, labels, runbook и ссылку на событие.

Redmine

roadmapчерез Webhook

Создать issue из operator event, указать project, tracker и priority.

Generic Ticket Webhook

готово

Передать payload во внутреннюю систему или любой внешний инструмент, который умеет принимать HTTP webhook.

Jira и Redmine — roadmap/native connectors. Уже сейчас похожий сценарий можно закрывать через Generic Ticket Webhook.

Подключайте как удобно: SDK, Webhook или Agent

Готовые SDK помогают отправлять события из приложения без ручной сборки HTTP-запросов. Один клиент подходит для алертов, писем, сервисных уведомлений и бизнес-событий.

  • Python, Go, PHP, JavaScript/TypeScript
  • Единый API v2
  • Понятные ошибки
  • Idempotency для безопасных повторов
  • API Token хранится на стороне сервера, не в браузере

Внешние системы могут отправлять свои payload-ы в IONotify. Система нормализует их в единый формат и дальше обрабатывает как обычные события.

  • Alertmanager, Grafana, Jenkins
  • generic webhook
  • внутренние системы

Agent — маленький бинарник, который можно поставить рядом с приложением, cron-скриптом или на сервер. Он превращает сервер или скрипт в источник управляемых уведомлений.

  • cron-задача сообщает о падении
  • backup-скрипт отправляет результат
  • CI job сообщает о неудачном deploy
  • сервер отправляет важное событие без своего HTTP-клиента

Важные сообщения отправляют worker-ы, а не ваш сайт

Ваш сайт создаёт событие и продолжает работать. IONotify кладёт доставку в очередь, а worker отдельно отправляет письмо, Telegram-сообщение, Webhook или сообщение в другой канал.

Сайт отвечает пользователю быстро, а IONotify спокойно доводит сообщение до нужного канала.

  • Сайт не ждёт SMTP и Telegram API.
  • Временные ошибки не теряют сообщение — есть повторы.
  • Видно, какой worker что делал; можно разделять worker pools по каналам.

Видно не только «отправили», но и «доставилось ли»

IONotify показывает весь путь сообщения: событие принято, обработано, поставлено в очередь, отправлено, повторено или переведено в Dead-letter после ошибок.

Если доставка не удалась, это не исчезает в логах. Ошибка видна в UI, попадает в историю и может стать отдельным уведомлением для администратора.

  1. Event accepted Событие принято в систему.
  2. Normalized Приведено к единому формату.
  3. Route matched Найдено правило: кому и куда отправить.
  4. Delivery queued Задача доставки в очереди.
  5. Worker attempt Worker пытается отправить.
  6. Provider error / Retry Ошибка канала, запланирован повтор.
  7. Delivered или Dead-letter Доставлено или сохранено для разбора.
История и аудитDelivery attempts, понятные ошибки provider-а, audit, история в OpenSearch.
PrometheusМетрики для мониторинга: сколько доставок, ошибок, сообщений в Dead-letter.

Пример: письмо для смены пароля не ушло

Пользователь нажал «Сбросить пароль». Сайт отправил событие в IONotify. IONotify поставил email в очередь, worker попытался отправить письмо, но SMTP вернул ошибку или провайдер оказался недоступен.

Уровень 1. Внутри IONotify

  • Доставка помечается как failed/retry.
  • Worker делает повторные попытки.
  • После лимита задача уходит в Dead-letter.
  • Создаётся operator event.
  • Администратор получает уведомление: «Не отправляются письма сброса пароля».

Уровень 2. Через мониторинг

  • IONotify отдаёт метрики в Prometheus.
  • Растёт число ошибок доставки email.
  • Prometheus или vmalert поднимает alert.
  • Этот alert снова приходит в IONotify как инфраструктурное событие.

IONotify не только отправляет важные письма, но и сообщает, если они перестали отправляться.

Мы не просто «отправили email». Мы контролируем весь путь: очередь, попытки, ошибки, повторы, fallback и уведомление администратора.

Для кого

SaaS и сайты

Сброс пароля, billing, уведомления пользователям и админам.

DevOps / SRE

Алерты, on-call, диагностика доставки, метрики Prometheus.

Backend-команды

Один API вместо множества notification-костылей; SDK, webhooks, agent.

Бизнес

Меньше потерянных сообщений, понятная история, меньше ручного разбора «почему клиент не получил письмо».

Заменяет самописные notification-сервисы и разрозненные alert-рассылки

IONotify можно использовать вместо набора самописных email/webhook-рассылок, Telegram-ботов и отдельных alert-правил.

Он может заменить Alertmanager во многих практических сценариях: когда нужны не только alert-ы, но и email, бизнес-события, история доставки, operator workflow, повторы и понятная диагностика в одной системе.

Alertmanager отвечает за alert routing. IONotify идёт шире: он управляет уведомлениями, событиями, доставкой, ошибками и работой оператора.

Возможности

Event Gateway

  • API v2, Webhook, SDK, Agent
  • Event Normalization, API Sources, HMAC

Routing

  • Projects, Routes, Templates, Targets
  • Escalation, Maintenance, Timezone

Delivery

  • delivery_outbox, workers, worker pools
  • Retry, Dead-letter, idempotency

Channels

  • Telegram, Email, Webhook
  • Slack/Mattermost (roadmap/Webhook)
  • Operator UI, расширяемые providers

Operations

  • Event Explorer, Route Debug, On-call
  • Runbooks, Synthetic Checks, Retention

Security & Observability

  • API Tokens, RBAC, LDAP, Vault, audit
  • Health, Metrics, Prometheus, OpenSearch

Коротко о главных понятиях

Простые объяснения без длинных инструкций для разработчиков.

Событие — это сообщение о том, что что-то произошло. Например: «сервер упал», «пользователь запросил сброс пароля», «backup не выполнился».
Route отвечает на вопрос: если пришло такое событие, кому и куда его отправить?
Target — конкретное место доставки: Telegram chat, email address или webhook URL.
Template — как сообщение будет выглядеть для человека.
Worker — отдельный процесс, который отправляет сообщения. Благодаря этому сайт не ждёт SMTP, Telegram или другой внешний сервис.
Dead-letter — место для сообщений, которые не удалось доставить после нескольких попыток. Они не теряются, их можно увидеть и разобрать.
Внешние системы присылают разные JSON. IONotify приводит их к единому виду, чтобы дальше все события обрабатывались одинаково.
Agent — маленькая программа для сервера или скрипта. Она отправляет события в IONotify без написания своего HTTP-клиента.

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

Нет. Email — только один из каналов. IONotify управляет событиями, правилами, очередями, повторами, worker-ами, историей и диагностикой.
Бот просто отправляет сообщение. IONotify решает, кому отправить, повторяет при ошибках, ведёт историю и показывает диагностику.
Да. Например, для сброса пароля, подтверждения email, billing и важных административных уведомлений.
Да. IONotify принимает alerts через Webhook/API Gateway и может заменить Alertmanager в сценариях, где нужна единая доставка, история и operator workflow.
Чтобы сайт или сервис не ждал SMTP, Telegram или Webhook. Worker отправляет сообщение отдельно и повторяет попытки при ошибках.
IONotify сохраняет ошибку, делает повторные попытки, может отправить сообщение в Dead-letter и уведомить администратора.
Да. В системе есть история, delivery attempts, ошибки provider-а, audit и метрики.
YAML нужен только для минимального старта сервера. Основные настройки делаются через веб-панель.
Да. Через Agent binary или простой HTTP/API вызов.
Да. Каналы можно расширять через delivery providers, worker-ы или Webhook. Старые правила, шаблоны и история при этом не должны ломаться.

Все уведомления, алерты и события — в одном месте

IONotify — единый центр управления важными сообщениями для продукта и инфраструктуры. Надёжная доставка без самописных костылей.