Exit Nodes

В меню Settings раздел называется Exit Nodes. То же самое в продукте — краевые ноды трекинга (Edge Tracking Nodes): отдельные серверы рядом с аудиторией. Админка остаётся только на материнском трекере: на ноде нет SPA и нет /admin. Клики EDGE-кампании принимает нода; кампании, офферы, лендинги и Track Paths приходят с материнского трекера релизами (снимками конфигурации).

Задача. Установить ноду по SSH, привязать tracking-домен (DNS на IP ноды), включить у кампании режим EDGE, назначить пару «нода + домен», собрать flow и убедиться, что назначение ready, прежде чем отдавать URL в рекламу.

Список Exit Nodes
Settings → Tracker → Exit Nodes. На снимке нода в статусе Degraded — для залива целевой ориентир Online и свежий heartbeat; Degraded обычно значит, что конфиг или связь ещё не в порядке.

Как это стыкуется с обычным трекингом

Exit Node — VM, которую вы ставите из Settings → Tracker → Exit Nodes. Domain с Ingress target = Exit Node должен резолвиться на IP этой ноды, а не на CNAME/IP материнского трекера (иначе Check DNS не пройдёт). Подробнее про DNS/SSL — в статье Domains.

Campaign переводится в режим EDGE (Exit Node): задаёте политику отказа и назначения (assignment) «нода → домен». Offers и Landings создаются как обычно и ставятся в Flows — отдельной «edge-копии» сущностей нет; на ноду уходит снимок тех же объектов. Обычные правки уходят автоматически; если снимок застрял — Выпустить релиз в списке нод принудительно отправляет актуальный конфиг.

Когда нужен EDGE (и когда нет)

EDGE имеет смысл, когда нужен трекинг ближе к гео аудитории (свой IP/сервер в регионе) или tracking-домен обязан смотреть на IP ноды, а не на материнский трекер. При этом на EDGE нельзя опираться на cloaking action curl и на browser / t.js fingerprint; redirect fingerprint считается на ноде. Frequency cap и уникальность на EDGE сначала учитываются на ноде, а окончательно сходятся на материнском трекере после приёма кликов — не ждите «глобальной» картины только по одной ноде.

Если хватает одного сервера трекера — оставляйте DIRECT (материнский трекер) и Ingress = Материнский трекер / Main tracker. EDGE не обязателен для обычных кампаний.

Предварительные условия

Нужны права admin (или доступ к Settings, Domains и Campaigns), чистая VM с публичным IP и SSH (логин/пароль только на время install-задачи; пароль в БД и логах не хранится), домен/поддомен под вашим DNS, плюс оффер/источник (и лендинг при необходимости) по обычной схеме запуска — см. Campaigns, Offers, Landing Pages.

Как открыть

  1. Боковое меню → Settings → группа TrackerExit Nodes (/settings?tab=exit-nodes).
  2. Домены: Domains (/domains) → форма домена → Ingress target.
  3. Кампании: Campaigns → карточка → вкладка Settings → блок Edge tracking.

Установка Exit Node — по шагам

Добавление Exit Node
Модалка Add Exit Node: имя, IP, SSH-порт/логин/пароль, согласие на обновление пакетов ОС.
  1. Нажмите Добавить Exit Node / Add Exit Node.
  2. Заполните Имя (метка в списке), IP сервера, SSH-порт (обычно 22), SSH-логин и при необходимости SSH-пароль.
  3. Включите Разрешить обновление ОС только если согласны, что install обновит пакеты на VM. Без согласия ОС не трогают.
  4. Нажмите Установить и дождитесь завершения прогресса в модалке (connecting → preflight → host_key_confirmation → server_updating → installing_dependencies → deploying_edge_runtime → bootstrapping_edge → registering_node → health_check → completed).
  5. Если установка остановилась на подтверждении host key — сверьте fingerprint с тем, что ожидаете от сервера, и подтвердите в UI.
  6. При ошибке откройте лог установки в модалке, проверьте SSH/сеть/firewall и повторите.

После успеха нода появляется в таблице со статусом и номером поколения релиза. Смотрите heartbeat: жива ли связь, свеж ли конфиг, нет ли очереди событий. Баннер припаркованных конверсий значит, что postback пришёл раньше клика с Edge — проверьте, что реклама бьёт именно в EDGE-домен.

Список нод: статусы и действия без «перебора кнопок»

Online / Онлайн — рабочее состояние для трафика. Provisioning / Установка и Confirming host / Проверка хоста — установка ещё идёт. Degraded / Деградация — нода отвечает, но что-то не в порядке (часто устаревший снимок или проблема свежести); не заливайте рекламу, пока не разберётесь. Draining / Drain — новые назначения не принимают, текущие клики дорабатывают. Offline / Офлайн и Failed / Ошибка — трафик на эту ноду не готов.

Выпустить релиз — если правили кампанию/оффер/flow, а readiness или heartbeat всё ещё показывают устаревший конфиг. Drain — плановый вывод из ротации. Отозвать — сразу рвёт credentials: heartbeat и клики с ноды прекращаются, диск не чистится. Wipe — разрушающая очистка VM и удаление записи ноды; в UI будет своё подтверждение. Не запускайте revoke/wipe, пока DNS и назначения кампаний ещё смотрят на IP этой ноды.

Домен: Ingress на Exit Node

Список доменов
Domains: список tracking-доменов. Баннер Server IPv4 вверху — IP материнского трекера; для Ingress = Exit Node в DNS нужен IP ноды, не этот адрес.
Привязка домена к Exit Node
Форма домена: Ingress target = Exit Node, выбор ноды; подсказка UI про A/CNAME на IP ноды.
  1. Domains → New Domain / Edit — имя домена, статус active.
  2. Ingress target / Точка входаExit Node (не Main tracker / Материнский трекер).
  3. В поле Exit Node выберите ноду. A/CNAME у регистратора должен указывать на IP этой ноды; CNAME на системный tracker CNAME материнского трекера проверку DNS провалит.
  4. SSL (Let's Encrypt / Cloudflare / Manual) — как в статье Domains; дождитесь DNS Verified и SSL active.
  5. Сохраните и откройте https://your-edge-domain/ без предупреждения браузера.

Один домен — один ingress: либо Main tracker, либо Exit Node. Переключение ingress меняет, куда должен смотреть DNS; уже залитые объявления нужно обновлять осознанно.

Кампания: режим EDGE и назначения

Edge-трекинг в кампании
Campaigns → Settings → блок Edge tracking: режим EDGE, предупреждения ограничений, политика отказа.
  1. Создайте или откройте кампанию и выберите tracking-домен, уже привязанный к Exit Node (или сделайте привязку параллельно).
  2. В блоке Edge tracking поставьте Режим трекинга = EDGE (Exit Node) и прочитайте предупреждения UI: browser / t.js fingerprint на EDGE выключите; cloaking curl на EDGE недоступен.
  3. Выберите Политику отказа: Fail closed — при проблеме ноды трафик не уходит на материнский трекер; Fallback URL — свой запасной адрес в поле Адрес fallback; Direct fallback (раскрытый URL main) — укажите URL материнского трекера в Адрес fallback и отметьте согласие («Понимаю, что трафик может пойти на URL материнского трекера»); без согласия редирект не сработает.
  4. Сохраните кампанию (новую — сначала Save), затем назначьте Exit Node + Домен и нажмите Сохранить назначения. Системный tracker CNAME материнского трекера в качестве домена назначения не подходит.
  5. Дождитесь readiness: DNS+SSL+релиз готовы. Пока Не готово (нет DNS, SSL или артефактов) — в рекламу не отдавайте. Если назначения сохранились, а релиз не дошёл — Выпустить релиз у ноды в Settings → Exit Nodes.

Offers, Landings и Flows на EDGE

Flows кампании на EDGE
Вкладка Flows EDGE-кампании: те же лендинги и офферы; правки уходят на ноду релизом.

Схема как у DIRECT: оффер (и опционально лендинг) → flow кампании. Разница — где обрабатывается клик (нода) и что снимок должен успеть доехать. Создайте оффер с {clickid} и сеть/postback по статье Offers; лендинг — по Landing Pages; в кампании на вкладке Flows соберите path. Скопируйте URL с вкладки URL & Postback (хост edge-домена), откройте в приватном окне, затем проверьте клик и тестовую конверсию в Logs. После смены URL оффера или шага flow дождитесь успешного релиза и свежего heartbeat — иначе нода ещё отдаёт старый маршрут.

Типичные сценарии

Первый EDGE-запуск. Нода Online → Domain с Ingress = Exit Node, DNS на IP ноды, Verified + SSL → кампания EDGE с ready-назначением → flow с оффером → тестовый клик → реклама.

Смена оффера на уже залитой EDGE-кампании. Правите Offers / Flows → ждёте автоматический релиз (или Issue release) → контроль heartbeat / readiness → тестовый клик → только потом массовая замена ссылок в кабинете, если менялся публичный URL.

Вывод ноды из ротации. Drain → догорание кликов → при необходимости Revoke. DNS и назначения снимите с IP ноды до разрушающих действий.

Откат на DIRECT. Режим кампании → DIRECT, Ingress домена → Main tracker (и DNS на материнский трекер), сохранение, проверка URL. Объявления со старым edge-доменом обновляйте отдельно.

Проверка перед заливом

  1. Нода не Offline/Failed; heartbeat не застрял на долго устаревшем конфиге.
  2. Domain: Ingress = Exit Node, DNS Verified, SSL active, A/CNAME → IP ноды (не IP материнского трекера).
  3. Кампания: режим EDGE, assignment Ready.
  4. Flow с нужным оффером/лендингом; тестовый клик по HTTPS edge-домена отрабатывает маршрут.
  5. В Logs есть клик; тестовая конверсия матчится.

Частые ошибки

  • DNS смотрит на CNAME/IP материнского трекера при Ingress = Exit Node — Check DNS падает.
  • Режим EDGE без назначения или с Не готово (нет DNS, SSL или артефактов) — трафик к заливу не готов.
  • Оставлен browser / t.js fingerprint или расчёт на cloaking curl на EDGE — UI предупреждает; схема не заработает как на DIRECT.
  • Ждут клики на URL материнского трекера, а кампания на EDGE — смотрят не тот хост.
  • Revoke/Wipe, пока назначения и DNS ещё на IP ноды — обрыв трекинга.
  • Игнорируют Degraded и устаревший конфиг в heartbeat — нода отдаёт старый flow/оффер.