Новый сет: BM, прокси и кабинет
Полный путь в Master от пустого реестра до кабинета, который отдаёт данные: Business Manager, прокси с выделенным IP, привязка, включение прокси, кабинет, read-токен и запуск сбора.
После урока вы
- Понимать, из чего состоит сет — BM, прокси, кабинет, токены — и зачем нужен каждый слой
- Уметь пройти рецепты R-A и R-B в Master без подсказок и без терминала
- Знать стоп-экраны и «что не жать», чтобы не сломать уже живой контур
Шаг 1 из 10
Соберите вводные и откройте Master
Квиз проходится за пять минут, если все значения уже в блокноте.
Сет в 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.
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-2IP прокси*
Строгий IPv4 купленного прокси — не hostname и не «IP, который видит Meta»
203.0.113.17Login / Pass*
Только латиница, цифры, . _ ~ -; IP в данных прокси = IP прокси из S03
act_id*
Кабинет Meta в формате act_<цифры>
act_1723847072136360read-токен*
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 из 10
S01 · Новый Business Manager
Первый шаг рецепта R-A: BM появляется в дереве реестра.
Нажмите «Начать» на рецепте 1 «Новый BM и прокси». Степпер проведёт BM → прокси → привязка → создать и включить. Идите по порядку: следующий шаг опирается на записи предыдущего. Обрыв квиза не откатывает уже записанное — можно вернуться и продолжить.
В S01 заполните bm_id и label. Страну (geo) квиз не спрашивает. Статус шага показывает рельс рядом с кнопкой — «нужно / ждём / готово / ошибка». Пока сеть не ответила, кнопка неактивна: второй клик не уходит в API.
Новый BM и прокси
- S01
- S03
- S05
- S07
- 1Номер BM
- 2Проверьте
Номер BM
Поля формы
* обязательно
bm_id*
^[0-9]{3,20}$ — только цифры Meta
Как назовём*
Как BM будет называться в дереве Accounts
Частая ошибка
Если BM уже есть в дереве Accounts — это не S01. Правка существующего BM делается на Accounts; повторный commit той же сущности квиз всё равно не запишет (alreadyRecorded).
Шаг 3 из 10
S03 · Новый прокси (имя и IP)
Короткое имя и IP купленного прокси. Порт loopback подставляется сам.
Прокси — это будущий 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 на сервере.
Новый BM и прокси
- S01
- S03
- S05
- S07
- 1Короткое имя прокси
- 2IP прокси
- 3Проверьте
IP прокси
Строгий IPv4 купленного прокси (четыре числа через точку). Не hostname и не IP, который видит Meta.
Поля формы
* обязательно
Короткое имя прокси*
^[a-z0-9][a-z0-9_-]{0,31}$
bm-2IP прокси*
IPv4 купленного прокси
203.0.113.17
Частая ошибка
Порт 3129 — leftover flat adsight-proxy.service. Его нельзя ввести: поля listen_port больше нет. Ничего с :3129 не делать: ни disable, ни restart, ни миграция. Если Стоп STOP_PORT_3129 всплывёт на S15, прокси в реестре слушает leftover — это не поле ввода.
Шаг 4 из 10
S05 · Привязать прокси к BM
У BM появляется привязка к выбранному прокси — единственная связь BM ↔ прокси.
Связь BM и прокси — поле у BM, равное короткому имени прокси (в реестре это egress-alias). Отдельной таблицы связей нет: смотреть, куда ходит BM, нужно в форме BM, а не в шапке дерева. Правило ADR-003: один BM — один прокси.
S05 записывает BM с label выбранной строки. Без этой привязки следующий шаг не примет данные прокси: helper проверяет, что выбранный прокси уже привязан к BM, и не угадывает BM по первой строке.
Новый BM и прокси
- S01
- S03
- S05
- S07
- 1Какой BM
- 2Какой прокси
- 3Проверьте
Какой прокси
Поля формы
* обязательно
BM*
Строка из S01
Какой прокси*
Короткое имя прокси из S03 — становится привязкой у BM
bm-2
Совет
Кнопка «Пропустить этот шаг (не отмечать записанным)» в шапке рецепта не отмечает сценарий записанным: его код в рельсе рецепта остаётся серым, зелёными становятся только реально записанные шаги. Пропустили S05 — S07 остановится на кредах.
Шаг 5 из 10
S07 · Данные прокси: Login, Pass, IP, Port
Четвёрка доступа к купленному прокси. IP обязан совпасть с IP прокси из S03.
Четвёртый экран S07 — форма «Данные прокси: Login, Pass, IP, Port». Те же поля на Master S08 и в Accounts у владельца (:8790) и у менеджера (:8793). Login и Pass — только латиница, цифры, . _ ~ -. IP — тот же IPv4, что на S03. Port — порт SOCKS у провайдера, не порт сервера 18081….
После «Записать креды» пароль обратно не показывается — только fingerprint. Следующий экран — кнопка «Включить прокси». Ротация уже залитой четвёрки — этот же экран (S08), не заново R-A.
Новый BM и прокси
- S01
- S03
- S05
- S07
- 1Проверка сервера
- 2Какой прокси
- 3Что будет создано
- 4Данные прокси: Login, Pass, IP, Port
- 5Включить прокси
Данные прокси: Login, Pass, IP, Port
IP должен совпасть с IP прокси 203.0.113.17
Поля формы
* обязательно
Login*
Латиница, цифры, . _ ~ -
Pass*
Тот же allowlist символов; обратно не показывается
IP*
должен совпасть с IP прокси из S03
203.0.113.17Port*
Порт провайдера, не порт сервера 18081…
1080пароль админки (step-up)*
Пароль входа в админку
Частая ошибка
IP в этой форме — адрес купленного прокси, не loopback 127.0.0.1. Расхождение с IP прокси из S03 — стоп-экран: сначала смените IP прокси в реестре.
Шаг 6 из 10
S07 · Включить прокси
Пятый экран S07: кнопка «Включить прокси» после записанных кредов.
Перед этой кнопкой квиз уже прошёл «Проверка сервера» (сверка 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 сразу после формы.
Новый BM и прокси
- S01
- S03
- S05
- S07
- 1Проверка сервера
- 2Какой прокси
- 3Что будет создано
- 4Данные прокси: Login, Pass, IP, Port
- 5Включить прокси
Включить прокси
fingerprint: 7f3a…c912
Юнит adsight-proxy@bm-2.service. Админка сделает enable + restart. Терминал не нужен.
enable ок · restart ок · adsight-proxy@bm-2.service
Поля формы
* обязательно
пароль админки (step-up)*
Пароль входа в админку
Частая ошибка
Стоп-экран «wrapper sha» означает, что wrapper на сервере не совпадает с git. Единственное действие — шаг «wrapper» из PROXY_BRIDGE_INSTALL.md. Не ставить adsight-proxy.service, не трогать :3129, не продолжать квиз до сверки.
Шаг 7 из 10
S11 · Новый кабинет
Рецепт R-B: тот же BM, новый (или первый) рекламный кабинет.
После рецепта 1 каталог сам предложит рецепт 2. Либо вернитесь и нажмите «Начать» на «2 · Новый кабинет и сбор». Рецепт доводит кабинет до состояния «отдаёт Graph»: запись в реестр, read-токен, запуск сбора.
В S11 четыре экрана: act_<id> и label, owning BM, валюта и часовой пояс, проверка. Место под токен здесь не спрашивают — оно появится на следующем шаге. Кабинет сразу виден в дереве Accounts под своим BM.
Новый кабинет и сбор
- S11
- S15
- S32
- 1Кабинет
- 2Чей BM
- 3Валюта и пояс
- 4Проверьте
Кабинет
Поля формы
* обязательно
act_id*
act_<цифры> из Meta Ads Manager
act_1723847072136360Как назовём*
Имя кабинета в дереве
owning BM*
BM из R-A, к которому относится кабинет; потом не меняется
currency*
Валюта кабинета, как в Meta
USDtimezone*
Часовой пояс кабинета, как в Meta
Europe/Berlin
Шаг 8 из 10
S15 · Ввод или правка Read API токена
Место под токен и привязку админка подставляет сама; вы вводите только read-токен и step-up.
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 его нет.
Новый кабинет и сбор
- S11
- S15
- S32
- 1Кабинет
- 2Завести место под токен (без самого токена)
- 3Привязать к кабинету
- 4Read-токен
Read-токен
Прокси берётся у BM кабинета: http://127.0.0.1:3130 (не 3129). Поле не спрашиваем. Сбор — следующий шаг (S32).
fingerprint 2c9e…41af · status uploaded. Дальше — кнопка «Включить сбор» (S32).
Поля формы
* обязательно
act_id*
Кабинет из S11; место под токен = act_<id>, kind = read и env_file канона meta_read.d админка подставляет сама (видно в превью «Завести место под токен»)
act_1723847072136360read-токен*
System User / user read-токен
пароль админки (step-up)*
Пароль входа в админку
Частая ошибка
Путаница ручных форм раньше: имя места под токен указано как bm-1 (это прокси, не кабинет) или httpsProxy на :3129. Теперь alias = выбранный act_<id>, прокси берётся у BM — эти поля не вводятся.
Шаг 9 из 10
S32 · Включить сбор
Кнопка вместо терминала: dump, canary и таймер adsight-meta-insights-reader@act_<id>.
Кнопка 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 проходится заново.
Новый кабинет и сбор
- S11
- S15
- S32
- 1Кабинет
- 2Включить сбор
Включить сбор
Кабинет act_1723847072136360. Админка сама создаст дамп, прогонит canary и взвод таймера. Терминал не нужен.
adsight-meta-insights-reader@act_1723847072136360.service → adsight-meta-insights-reader@act_1723847072136360.timer
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
Проверьте состояние и запомните, что не жать
Где смотреть каждую сущность — и список кнопок, которые ломают живой контур.
Состояние сета читается из четырёх мест. Идёт ли квиз — рельс рядом с кнопкой 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.
Токены и прокси
Это ОБЪЯВЛЕННЫЕ места под токен в реестре, а не проверка наличия файла: status=declared — место заведено, значение ещё не загружено; uploaded — токен принят helper'ом (значения нигде не показываются).
| Alias | Kind | BM | env_file | Fingerprint | Status |
|---|---|---|---|---|---|
| act_1723847072136360 | read | 884201337719 | /etc/adsight/meta_read.d/act_1723847072136360.env | 2c9e…41af | uploaded |
| bm_884201337719_write | write | 884201337719 | /etc/adsight/meta_write.d/bm_884201337719_write.env | — | declared |
| Proxy | GEO | Port | Bridge unit | Provider |
|---|---|---|---|---|
| bm-2 | DE | 3130 | adsight-proxy@bm-2.service | 203.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 и «Токены и прокси». Если хотя бы один пункт не сходится — не считайте сет готовым.