AdSight Academyонбординг
Доступноv1.7 · по ADMIN_BM_INFRA_ONBOARDING, сверено с master.js Источник: docs/runbooks/ADMIN_BM_INFRA_ONBOARDING.md · PR #715

Новый сет: BM, прокси и кабинет

Полный путь в Master от пустого реестра до кабинета, который отдаёт данные: Business Manager, прокси с выделенным IP, привязка, включение прокси, кабинет, read-токен и запуск сбора.

18 минут 10 шагов

После урока вы

  • Понимать, из чего состоит сет — BM, прокси, кабинет, токены — и зачем нужен каждый слой
  • Уметь пройти рецепты R-A и R-B в Master без подсказок и без терминала
  • Знать стоп-экраны и «что не жать», чтобы не сломать уже живой контур
1

Шаг 1 из 10

Соберите вводные и откройте Master

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

~3 мин

Сет в AdSight — это не форма трекера, а связка из четырёх слоёв: Business Manager в Meta, прокси с выделенным IP, рекламный кабинет и его read-токен. Всё это заводится в админке через Master — пошаговый квиз, который сам пишет реестр и включает прокси. Одиночные формы Accounts / Contours / Secrets — ручной пульт для отладки; с нуля по ним сет не собирают, если квиз жив.

Master открывается по адресу админки в Tailscale-сети: протокол http, путь /admin/master. Владелец — порт :8790, менеджер — :8793 (те же экраны Master · HITL · Secrets · Accounts, отдельный пароль). Порт 80 закрыт. После деплоя делайте hard-refresh, иначе останется старый JS. Первый сет — два рецепта подряд: «1 · Новый BM и прокси», затем «2 · Новый кабинет и сбор». Карточка «Продолжить с того же места» — это bag текущей вкладки, не новый сет. Ротация логина — отдельный блок внизу каталога, не шаг между рецептами.

Пароль step-up, который спрашивают все мутации, — это пароль входа в админку. Не root и не SSH.

tailnet:8790|:8793/admin/master

Master

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

Частые рецепты

1 · Новый BM и прокси

Если BM ещё нет. Запишем BM, купленный прокси, привяжем и включим. Логин и пароль — внутри, не отдельной карточкой.

S01 → S03 → S05 → S07

Начать

2 · Новый кабинет и сбор

Когда BM и прокси уже включены. Кабинет, read-токен, запуск сбора.

S11 → S15 → S32

Начать

По одной сущности

Только если рецепт оборвался. С нуля — два рецепта выше.

S01 · Новый Business Manager

Запишем BM. Прокси и кабинет — следующие шаги рецепта, не эта карточка.

Открыть

S03 · Новый прокси (имя и IP)

Имя и IP купленного прокси. Пока только в список — включим в рецепте дальше.

Открыть

S05 · Привязать прокси к BM

Связь BM ↔ прокси. Без неё логин и пароль прокси админка не примет.

Открыть

S07 · Создать и включить прокси

Создадим прокси на сервере, впишем Login/Pass/IP/Port и включим.

Открыть

S11 · Новый кабинет

Рекламный кабинет на уже живом BM. Токен — следующий шаг рецепта.

Открыть

S15 · Ввод или правка Read API токена

Сначала ячейка, потом токен. Сам токен — на последнем экране.

Открыть

S32 · Включить сбор

Кнопка: проверка Graph и таймер сбора кабинета. Терминал не нужен.

Открыть

Ротация (уже залито)

Логин и пароль прокси уже были. Это не шаг первого сета.

S08 · Данные прокси: Login, Pass, IP, Port

Смена логина и пароля уже залитого прокси. Не первый сет.

Открыть

Поля формы

* обязательно

  • bm_id*

    Цифровой ID Business Manager из Meta, 3–20 цифр

    1234567890 → свой
  • Как назовём*

    Человекочитаемое имя BM

    Alpha · DE
  • Короткое имя прокси*

    a–z, 0–9, «_» и «-», до 32 символов. Это имя прокси, не кабинета

    bm-2
  • IP прокси*

    Строгий IPv4 купленного прокси — не hostname и не «IP, который видит Meta»

    203.0.113.17
  • Login / Pass*

    Только латиница, цифры, . _ ~ -; IP в данных прокси = IP прокси из S03

  • act_id*

    Кабинет Meta в формате act_<цифры>

    act_1723847072136360
  • read-токен*

    System User или user token; не write-токен

  • write-токен

    Только если нужен money-write — отдельная форма Accounts, не Master

Совет

Что делать для новых сущностей: новый BM с прокси — рецепт 1 «Новый BM и прокси»; кабинет на живом BM — рецепт 2; ротация логина — блок «Ротация (уже залито)» или Accounts.

Частая ошибка

Серые подсказки в полях (1234567890, act_1112223334) — плейсхолдеры, не значения: пустое обязательное поле квиз отклонит красной подписью у поля, мусор в реестр не уйдёт. Предзаполнено только короткое имя прокси на первом экране S03 (bm-N по счёту) — проверьте его осознанно. listen_port, geo и httpsProxy формы не спрашивают: порт выдаёт сервер (ряд 18081…), страну не вводим, прокси для токена берётся у BM кабинета.

2

Шаг 2 из 10

S01 · Новый Business Manager

Первый шаг рецепта R-A: BM появляется в дереве реестра.

~1 мин

Нажмите «Начать» на рецепте 1 «Новый BM и прокси». Степпер проведёт BM → прокси → привязка → создать и включить. Идите по порядку: следующий шаг опирается на записи предыдущего. Обрыв квиза не откатывает уже записанное — можно вернуться и продолжить.

В S01 заполните bm_id и label. Страну (geo) квиз не спрашивает. Статус шага показывает рельс рядом с кнопкой — «нужно / ждём / готово / ошибка». Пока сеть не ответила, кнопка неактивна: второй клик не уходит в API.

tailnet:8790|:8793/admin/master/r-a?scene=s01&step=1

Новый BM и прокси

  1. S01
  2. S03
  3. S05
  4. S07
Пропустить этот шаг (не отмечать записанным)
  1. 1Номер BM
  2. 2Проверьте

Номер BM

нужнонажмите кнопку справа
Далее

Поля формы

* обязательно

  • bm_id*

    ^[0-9]{3,20}$ — только цифры Meta

  • Как назовём*

    Как BM будет называться в дереве Accounts

Частая ошибка

Если BM уже есть в дереве Accounts — это не S01. Правка существующего BM делается на Accounts; повторный commit той же сущности квиз всё равно не запишет (alreadyRecorded).

3

Шаг 3 из 10

S03 · Новый прокси (имя и IP)

Короткое имя и IP купленного прокси. Порт loopback подставляется сам.

~2 мин

Прокси — это будущий managed-инстанс adsight-proxy@<alias>, через который кабинет ходит в Graph API с выделенным IP. На S03 вы только описываете его в реестре: короткое имя и IP. geo и listen_port форма не спрашивает — сервер выдаёт первый свободный порт из ряда 18081, 18082… (один BM — один порт; leftover :3129 в ряд не входит). Юнита на диске после этого шага ещё нет — так и должно быть, его создаст S07.

Короткое имя — имя прокси, не кабинета: bm-2, не act_…; админка предлагает следующий свободный bm-N, его можно принять. IP — четыре октета без ведущих нулей; RFC1918 и link-local адреса отсекаются так же, как это делает helper на сервере.

tailnet:8790|:8793/admin/master/r-a?scene=s03&step=2

Новый BM и прокси

  1. S01
  2. S03
  3. S05
  4. S07
Пропустить этот шаг (не отмечать записанным)
  1. 1Короткое имя прокси
  2. 2IP прокси
  3. 3Проверьте

IP прокси

Строгий IPv4 купленного прокси (четыре числа через точку). Не hostname и не IP, который видит Meta.

нужнонажмите кнопку справа
НазадДалее

Поля формы

* обязательно

  • Короткое имя прокси*

    ^[a-z0-9][a-z0-9_-]{0,31}$

    bm-2
  • IP прокси*

    IPv4 купленного прокси

    203.0.113.17

Частая ошибка

Порт 3129 — leftover flat adsight-proxy.service. Его нельзя ввести: поля listen_port больше нет. Ничего с :3129 не делать: ни disable, ни restart, ни миграция. Если Стоп STOP_PORT_3129 всплывёт на S15, прокси в реестре слушает leftover — это не поле ввода.

4

Шаг 4 из 10

S05 · Привязать прокси к BM

У BM появляется привязка к выбранному прокси — единственная связь BM ↔ прокси.

~1 мин

Связь BM и прокси — поле у BM, равное короткому имени прокси (в реестре это egress-alias). Отдельной таблицы связей нет: смотреть, куда ходит BM, нужно в форме BM, а не в шапке дерева. Правило ADR-003: один BM — один прокси.

S05 записывает BM с label выбранной строки. Без этой привязки следующий шаг не примет данные прокси: helper проверяет, что выбранный прокси уже привязан к BM, и не угадывает BM по первой строке.

tailnet:8790|:8793/admin/master/r-a?scene=s05&step=2

Новый BM и прокси

  1. S01
  2. S03
  3. S05
  4. S07
Пропустить этот шаг (не отмечать записанным)
  1. 1Какой BM
  2. 2Какой прокси
  3. 3Проверьте

Какой прокси

нужнонажмите кнопку справа
НазадДалее

Поля формы

* обязательно

  • BM*

    Строка из S01

  • Какой прокси*

    Короткое имя прокси из S03 — становится привязкой у BM

    bm-2

Совет

Кнопка «Пропустить этот шаг (не отмечать записанным)» в шапке рецепта не отмечает сценарий записанным: его код в рельсе рецепта остаётся серым, зелёными становятся только реально записанные шаги. Пропустили S05 — S07 остановится на кредах.

5

Шаг 5 из 10

S07 · Данные прокси: Login, Pass, IP, Port

Четвёрка доступа к купленному прокси. IP обязан совпасть с IP прокси из S03.

~2 мин

Четвёртый экран S07 — форма «Данные прокси: Login, Pass, IP, Port». Те же поля на Master S08 и в Accounts у владельца (:8790) и у менеджера (:8793). Login и Pass — только латиница, цифры, . _ ~ -. IP — тот же IPv4, что на S03. Port — порт SOCKS у провайдера, не порт сервера 18081….

После «Записать креды» пароль обратно не показывается — только fingerprint. Следующий экран — кнопка «Включить прокси». Ротация уже залитой четвёрки — этот же экран (S08), не заново R-A.

tailnet:8790|:8793/admin/master/r-a?scene=s07&step=4

Новый BM и прокси

  1. S01
  2. S03
  3. S05
  4. S07
Пропустить этот шаг (не отмечать записанным)
  1. 1Проверка сервера
  2. 2Какой прокси
  3. 3Что будет создано
  4. 4Данные прокси: Login, Pass, IP, Port
  5. 5Включить прокси

Данные прокси: Login, Pass, IP, Port

IP должен совпасть с IP прокси 203.0.113.17

нужночетвёрка провайдера + пароль админки
НазадЗаписать креды

Поля формы

* обязательно

  • Login*

    Латиница, цифры, . _ ~ -

  • Pass*

    Тот же allowlist символов; обратно не показывается

  • IP*

    должен совпасть с IP прокси из S03

    203.0.113.17
  • Port*

    Порт провайдера, не порт сервера 18081…

    1080
  • пароль админки (step-up)*

    Пароль входа в админку

Частая ошибка

IP в этой форме — адрес купленного прокси, не loopback 127.0.0.1. Расхождение с IP прокси из S03 — стоп-экран: сначала смените IP прокси в реестре.

6

Шаг 6 из 10

S07 · Включить прокси

Пятый экран S07: кнопка «Включить прокси» после записанных кредов.

~2 мин

Перед этой кнопкой квиз уже прошёл «Проверка сервера» (сверка wrapper с git), «Какой прокси», «Что будет создано» и форму Login/Pass/IP/Port. Кнопка «Включить прокси» (S09) делает enable и restart adsight-proxy@<alias>. Никаких systemctl в терминале: если кажется, что «руками быстрее», — это сигнал остановиться.

R-A готов, когда рельс показывает ГОТОВО «enable ок · restart ок · adsight-proxy@<alias>.service», кнопка «Включить прокси» гаснет, а рядом появляется «Дальше». На Accounts в карточке «Токены и прокси» во второй таблице появилась строка Proxy / GEO / Port / Bridge unit / Provider. Login/Pass в таблице не отображаются — только fingerprint сразу после формы.

tailnet:8790|:8793/admin/master/r-a?scene=s07&step=5

Новый BM и прокси

  1. S01
  2. S03
  3. S05
  4. S07
Пропустить этот шаг (не отмечать записанным)
  1. 1Проверка сервера
  2. 2Какой прокси
  3. 3Что будет создано
  4. 4Данные прокси: Login, Pass, IP, Port
  5. 5Включить прокси

Включить прокси

fingerprint: 7f3a…c912

Юнит adsight-proxy@bm-2.service. Админка сделает enable + restart. Терминал не нужен.

готовоenable ок · restart ок · adsight-proxy@bm-2.service
НазадВключить проксиДальше

enable ок · restart ок · adsight-proxy@bm-2.service

Поля формы

* обязательно

  • пароль админки (step-up)*

    Пароль входа в админку

Частая ошибка

Стоп-экран «wrapper sha» означает, что wrapper на сервере не совпадает с git. Единственное действие — шаг «wrapper» из PROXY_BRIDGE_INSTALL.md. Не ставить adsight-proxy.service, не трогать :3129, не продолжать квиз до сверки.

7

Шаг 7 из 10

S11 · Новый кабинет

Рецепт R-B: тот же BM, новый (или первый) рекламный кабинет.

~1 мин

После рецепта 1 каталог сам предложит рецепт 2. Либо вернитесь и нажмите «Начать» на «2 · Новый кабинет и сбор». Рецепт доводит кабинет до состояния «отдаёт Graph»: запись в реестр, read-токен, запуск сбора.

В S11 четыре экрана: act_<id> и label, owning BM, валюта и часовой пояс, проверка. Место под токен здесь не спрашивают — оно появится на следующем шаге. Кабинет сразу виден в дереве Accounts под своим BM.

tailnet:8790|:8793/admin/master/r-b?scene=s11&step=1

Новый кабинет и сбор

  1. S11
  2. S15
  3. S32
Пропустить этот шаг (не отмечать записанным)
  1. 1Кабинет
  2. 2Чей BM
  3. 3Валюта и пояс
  4. 4Проверьте

Кабинет

нужнонажмите кнопку справа
Далее

Поля формы

* обязательно

  • act_id*

    act_<цифры> из Meta Ads Manager

    act_1723847072136360
  • Как назовём*

    Имя кабинета в дереве

  • owning BM*

    BM из R-A, к которому относится кабинет; потом не меняется

  • currency*

    Валюта кабинета, как в Meta

    USD
  • timezone*

    Часовой пояс кабинета, как в Meta

    Europe/Berlin
8

Шаг 8 из 10

S15 · Ввод или правка Read API токена

Место под токен и привязку админка подставляет сама; вы вводите только read-токен и step-up.

~3 мин

S15 — четыре экрана, но руками заполняются только первый и последний. «Кабинет»: выбрать act_<id> (подпись «alias = он же» — имя места под токен админка подставит сама). «Завести место под токен (без самого токена)»: превью уже собрано — alias = act_<id>, kind = read, env_file = канон /etc/adsight/meta_read.d/<act_id>.env; вы только подтверждаете паролем step-up. «Привязать к кабинету»: то же превью для read_cred_alias кабинета, тот же пароль. «Read-токен»: сам токен и пароль админки. httpsProxy форма не спрашивает — loopback прокси BM уходит в запрос сам. Боевой сбор (ALLOW_LIVE) ставится сам — галочки нет.

Токен после отправки обратно не читается — наружу отдаётся только fingerprint: рельс «готово · токен принят · fingerprint …», ниже строка «status uploaded», кнопка «Залить токен» гаснет, появляется «Дальше». В «Токенах и прокси» статус declared означает пустое место, uploaded — токен принят. Read-токен не равен write: write-токен BM заводится отдельно на Accounts и в Master его нет.

tailnet:8790|:8793/admin/master/r-b?scene=s15&step=4

Новый кабинет и сбор

  1. S11
  2. S15
  3. S32
Пропустить этот шаг (не отмечать записанным)
  1. 1Кабинет
  2. 2Завести место под токен (без самого токена)
  3. 3Привязать к кабинету
  4. 4Read-токен

Read-токен

Прокси берётся у BM кабинета: http://127.0.0.1:3130 (не 3129). Поле не спрашиваем. Сбор — следующий шаг (S32).

готовотокен принят · fingerprint 2c9e…41af
НазадЗалить токенДальше

fingerprint 2c9e…41af · status uploaded. Дальше — кнопка «Включить сбор» (S32).

Поля формы

* обязательно

  • act_id*

    Кабинет из S11; место под токен = act_<id>, kind = read и env_file канона meta_read.d админка подставляет сама (видно в превью «Завести место под токен»)

    act_1723847072136360
  • read-токен*

    System User / user read-токен

  • пароль админки (step-up)*

    Пароль входа в админку

Частая ошибка

Путаница ручных форм раньше: имя места под токен указано как bm-1 (это прокси, не кабинет) или httpsProxy на :3129. Теперь alias = выбранный act_<id>, прокси берётся у BM — эти поля не вводятся.

9

Шаг 9 из 10

S32 · Включить сбор

Кнопка вместо терминала: dump, canary и таймер adsight-meta-insights-reader@act_<id>.

~2 мин

Кнопка S32 «Включить сбор» делает три вещи: создаёт dump-каталог с правами 2770, прогоняет canary-запрос в Graph через прокси и включает таймер adsight-meta-insights-reader@act_<id>.timer (полное имя юнита админка печатает на экране моношрифтом). Отдельного диалога «вы уверены?» нет: подтверждение — сам пароль step-up и нажатие кнопки, confirm уходит в теле запроса. Canary идёт до ~3 минут — рельс показывает «ждём», кнопка на это время заблокирована.

Готово, когда рельс становится ГОТОВО с тремя фактами: canary success, таймер включён, dump …/act_<id>; та же строка появляется под рельсом, кнопка «Включить сбор» гаснет, рядом — «Дальше». R-B закрыт: место под read-токен в статусе uploaded с fingerprint, S32 зелёный.

Повторный S32 на том же кабинете в той же вкладке глушится по stepMark: основной путь — «Дальше», вторичная ghost-кнопка «Повторить сбор» жжёт cooldown 60 с. Другой кабинет закрытым не считается: для него R-B проходится заново.

tailnet:8790|:8793/admin/master/r-b?scene=s32&step=2

Новый кабинет и сбор

  1. S11
  2. S15
  3. S32
Пропустить этот шаг (не отмечать записанным)
  1. 1Кабинет
  2. 2Включить сбор

Включить сбор

Кабинет act_1723847072136360. Админка сама создаст дамп, прогонит canary и взвод таймера. Терминал не нужен.

adsight-meta-insights-reader@act_1723847072136360.service → adsight-meta-insights-reader@act_1723847072136360.timer

готовоcanary success · таймер включён · dump …/act_1723847072136360
НазадВключить сборДальше

canary success · таймер включён · dump …/act_1723847072136360

Поля формы

* обязательно

  • act_id*

    act_<id> — единственное, что уходит из браузера

  • пароль админки (step-up)*

    Свежий пароль; диалога подтверждения нет — кнопка и есть подтверждение

Частая ошибка

Не пытайтесь «помочь» серверу: ANALYTICS_MULTI_READER_ENABLE, chmod или chgrp по SSH на dump-каталог — не для этого шага. Если canary красный, причина почти всегда в S15: место под токен не act_<id> или прокси BM слушает leftover :3129.

10

Шаг 10 из 10

Проверьте состояние и запомните, что не жать

Где смотреть каждую сущность — и список кнопок, которые ломают живой контур.

~2 мин

Состояние сета читается из четырёх мест. Идёт ли квиз — рельс рядом с кнопкой Master. Есть ли BM и кабинет — дерево /admin/accounts. Прокси и IP — таблица прокси на Accounts или Contours → proxies. BM ↔ прокси — поле в форме BM. Залит ли токен — «Токены и прокси»: declared пустое место, uploaded принят. Пароль провайдера и токен Meta не показываются нигде — это норма.

Если нужен money-write, его заводят после R-A на Accounts, не в Master: «Завести место под токен (без самого токена)» с именем вида bm_<bm_id>_write, kind = write и каноном meta_write.d, затем write-cred alias в форме BM и форма «Ввод или правка Write API токена». Legacy .env.money отвергается — LEGACY_MONEY_ENV_REFUSED, первый BM не исключение. Gateway рестартить не нужно: файл читается в рантайме.

Ротация уже залитого — тоже Accounts: Read API токен кабинета по act_<id>, Write API токен из таблицы «Токены и прокси», SOCKS — Master S08 или «Данные прокси: Login, Pass, IP, Port» полной четвёркой. После ротации SOCKS снова нужна кнопка «Включить прокси» — короткий blip egress.

tailnet:8790|:8793/admin/accounts

Токены и прокси

Это ОБЪЯВЛЕННЫЕ места под токен в реестре, а не проверка наличия файла: status=declared — место заведено, значение ещё не загружено; uploaded — токен принят helper'ом (значения нигде не показываются).

AliasKindBMenv_fileFingerprintStatus
act_1723847072136360read884201337719/etc/adsight/meta_read.d/act_1723847072136360.env2c9e…41afuploaded
bm_884201337719_writewrite884201337719/etc/adsight/meta_write.d/bm_884201337719_write.env—declared
ProxyGEOPortBridge unitProvider
bm-2DE3130adsight-proxy@bm-2.service203.0.113.17

Поля формы

* обязательно

  • Токены и прокси

    Accounts, две таблицы: места под токен (Alias / Kind / BM / env_file / Fingerprint / Status: declared или uploaded) и прокси (Proxy / GEO / Port / Bridge unit / Provider)

  • Дерево Accounts

    BM → кабинеты; привязка к прокси — в форме BM

  • Прокси и IP

    таблица прокси на Accounts (у менеджера на :8793 Contours нет — смотрите сюда). На :8790 ещё Contours → proxies

  • Рельс Master

    нужно / ждём / готово / ошибка у кнопки

Частая ошибка

Что сознательно не жать: Hunter «Применить», kill-switch и 15-минутный money-ingest; generic unit.enable на adsight-proxy в Contours; disable/restart flat adsight-proxy.service на :3129; ввод токенов в терминал вместо админки; INCLUDE_ANALYTICS_* «заодно» — это другой пакет.

Перед активацией

Финальный чеклист

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

0/9

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

ГлоссарийBM, прокси, привязка, место под токен, canary — все термины урока одним списком.Другие уроки модуляОбзор интерфейса, ротация кредов, write-токен BM — по мере готовности.