Skip to content

IONotifyУмные уведомления для инфраструктуры

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

Логотип IONotify

Зачем нужен IONotify

Инфраструктурные команды отправляют события из backup-систем, мониторинга, cron-задач и внутренних сервисов. Обычно маршрутизация таких уведомлений быстро превращается в набор скриптов, исключений и ручных правил.

IONotify централизует этот путь: приём → очередь → маршрутизация → политики → рендеринг → доставка → журналирование. Конфигурация хранится в YAML, поведение предсказуемо, секреты не попадают в логи.

Маршрутизация событий

Сопоставление по room, type и KV. Multi-route fan-out, расписания и окна обслуживания.

Шаблоны

Jinja2 на канал с 4-уровневым fallback: маршрут → room → default → встроенный.

Политики

Deduplication и rate limits на NATS KV с опцией fail-open.

Доставка

Telegram и SMTP email с изоляцией ошибок по каналам.

Наблюдаемость

Структурированные документы OpenSearch: приём, маршрутизация, шаблон, доставка.

Lite Panel

Read-only UI оператора: события, сбои, unrouted, снимок конфигурации.

Pipeline в общих чертах

Agent / SDKHTTP APINATS JetStream
Worker pipeline
МаршрутизацияРасписанияDedupRate-limitШаблоныДоставка
Telegram/Email
OpenSearch+Lite Panel

Поддерживаемые каналы

Telegram

Доставка через бота с шаблонами на маршрут и экранированием HTML/Markdown.

Email

SMTP с шаблонами темы и тела, изоляция провайдеров.

NATS JetStream

Устойчивая очередь между API и worker — приём с учётом backpressure.

OpenSearch

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

Пример события

json
{
  "room": "backup.failed",
  "type": "critical",
  "message": "Backup job nightly-db failed on db01",
  "kv": { "host": "db01", "job": "nightly-db" },
  "source": { "host": "db01", "app": "backup-agent" },
  "correlation_id": "job-20260517-001"
}
bash
curl -sS -X POST http://localhost:8080/api/v1/events \
  -H "Content-Type: application/json" \
  -H "X-IONotify-Token: dev-token" \
  -d '{"room":"backup.failed","type":"critical","message":"Backup failed","kv":{"host":"db01"}}'

Для закрытых инфраструктур: надёжность, наблюдаемость, расширяемость.