Прокси и агенты
Прокси меняет сетевой маршрут запросов к источнику. Агент определяет, где исполняется сбор. Эти настройки решают разные задачи и не заменяют друг друга.
Как устроен раздел прокси
Прокси направляет запрос к сайту через другой сервер. Пул объединяет несколько таких адресов, чтобы Akmelo выбирал подходящий автоматически. Один адрес тоже можно добавить в отдельный пул. Сначала создайте пул, затем добавьте адреса и назначьте его сайту в настройках сбора.
В разделе есть две вкладки: «Прокси» для отдельных адресов и «Пулы» для групп. В меню добавления можно создать адрес или пул. Импорт принимает список адресов, по одному на строку. После импорта проверьте сообщения о пропущенных строках: дубликаты и неправильный формат не считаются добавленными адресами.
Как добавить и проверить адрес
Укажите протокол, адрес сервера и порт, полученные у поставщика. Если нужны логин и пароль, заполните блок «Доступ к прокси». HTTP-прокси может открывать HTTPS-сайты через CONNECT. SOCKS5 с паролем подходит для HTTP-запросов, но браузерные сценарии такую авторизацию не поддерживают. Протокол HTTPS самого прокси сейчас не поддерживается.
Нажмите «Проверить» до сохранения. Проверка использует введённые данные, но не создаёт адрес. В журнале видно, проверен ли адрес, удалось ли соединиться и получить ответ через прокси. Успешный тест подтверждает сетевое соединение с проверочной целью. Он не гарантирует, что каждый сайт разрешит обращения с этого IP.
Страна определяется автоматически по публичному IP в фоне. Обычно она появляется после сохранения и обновления списка. Для локального адреса или отсутствующей географической записи страна остаётся неизвестной. Флаг и название зависят от языка интерфейса; географическая база может ошибаться или отставать от смены владельца IP.
Как выбрать ротацию
| Способ | Когда использовать |
|---|---|
| По очереди | Чтобы последовательно чередовать доступные адреса |
| Случайный адрес | Когда фиксированный порядок не нужен |
| Самый быстрый | Чтобы предпочитать адрес с меньшей измеренной задержкой |
| Меньше использовался | Чтобы распределять запросы между адресами по счётчику использования |
| Один адрес на время | Когда сайту нужна стабильная сессия; адрес закрепляется за сайтом на выбранный срок |
Для закрепления можно указать срок от 1 минуты до 24 часов, по умолчанию 10 минут. При недоступности или временной блокировке адрес заменяется раньше. Смена IP сама по себе не переносит авторизацию: учитывайте cookies и требования источника. Для нового прокси без измерений быстрый режим сначала должен получить сведения о задержке. Пул не позволяет увеличивать нагрузку на источник без ограничений.
Технический код создаётся автоматически. Обычно его не нужно заполнять. Он находится в дополнительных настройках и нужен для обращения к пулу из сценария. Код нельзя переименовать после создания: иначе прежние сценарии потеряют ссылку на пул.
Что показывает карточка
Откройте адрес, чтобы увидеть состояние, количество использований, последние результаты и связанные сборы. Ошибки сайта отделяются от ошибок соединения через прокси. Например, ответ сайта 403 не доказывает, что прокси неисправен. Временная блокировка в Akmelo означает, что система исключила адрес после серии сетевых ошибок; это не универсальная проверка блокировки на всех сайтах.
Пока карточка открыта, Akmelo обновляет задержку. Это время сетевой проверки через прокси, а не ICMP-пинг до сервера. После закрытия карточки эти проверки прекращаются. История и счётчики начинают накапливаться после включения механизма учёта; восстановить неизвестные прошлые обращения по старой дате проверки нельзя.
Общие счётчики включают сведения удалённых агентов после синхронизации. Почасовой график показывает запросы текущей установки; итоги агентских сборов видны отдельно в последних обращениях, без выдуманного распределения по часам.
В карточке пула можно увидеть суммарную статистику, назначенные сайты и адреса. Отсюда открывается карточка отдельного прокси. Проверка группы идёт в фоне, небольшими порциями. Можно наблюдать, сколько адресов уже проверено и какие ответили. Закрытие окна не отменяет начатую проверку. Не удаляйте назначенный пул без проверки настроек сайтов. Если активный назначенный пул исчерпан, сбор выдаст ошибку, а не переключится незаметно на IP платформы. Выключение пула означает осознанный выбор прямого соединения.
Агент на своём сервере
Агент собирает и обрабатывает данные на вашем сервере. В Akmelo вы назначаете ему сайты, сценарии и расписания, а затем следите за выполнением. Сервер должен оставаться включённым и иметь доступ к источникам. Если агент недоступен, новые задания могут ожидать подключения.
Собранные записи по умолчанию остаются у агента. При необходимости можно включить их дополнительную копию в облаке. Связь с агентом, сведения о запусках и техническое состояние отображаются в Akmelo при любом варианте хранения записей.
О преимуществах своей инфраструктуры читайте на странице об агентах.
Создание агента
- Откройте раздел «Агенты» и нажмите кнопку создания.
- Дайте агенту понятное название, например «Основной сервер магазина».
- В карточках языков отметьте те, на которых написаны ваши сценарии. Сейчас доступны PHP, JavaScript, TypeScript и Python. Найти нужный язык можно через поиск.
- Нажмите «Создать и настроить». Сразу откроется помощник установки.
Нужен хотя бы один язык. Установщик подготавливает выбранные среды исполнения, чтобы не загружать лишние компоненты. После выпуска доступа набор языков изменить нельзя. Для другого набора создайте нового агента. Платформа не запустит сценарий на агенте, который не поддерживает его язык.
Установка с подключением к серверу
Если сервер обслуживает ваш специалист, попросите его помочь с доступами. Помощник разделён на три шага. Можно вернуться к уже заполненному шагу.
1. Сервер
Укажите IP-адрес или имя сервера, порт, пользователя и способ входа: пароль или SSH-ключ. Обычно используется порт 22, но администратор может настроить другой. Если ключ защищён паролем, заполните и это поле.
Проверьте подключение. Эта проверка не устанавливает агента и ничего не меняет на сервере. Пароль или ключ не нужно отправлять обычным сообщением в чат. Используйте предназначенные для них защищённые поля.
2. Папка
После успешного подключения появится список папок сервера. Это не файлы вашего компьютера. Можно открыть домашнюю папку, перейти на уровень выше или выбрать вложенную папку. Список показывает только каталоги.
Нажмите «Выбрать эту папку». Помощник добавит к выбранному расположению отдельную
папку akmelo-agent. Итоговый полный путь виден ниже, его можно изменить вручную.
Если папка недоступна, выберите другую или попросите администратора проверить права.
Не используйте папку другого приложения.
3. Возможности
Проверьте путь и выберите дополнительные возможности:
- Открывать сайты в браузере. Нужно, когда данные появляются после загрузки страницы, выполнения JavaScript или нажатия кнопки. Браузер использует больше памяти.
- Хранить копию результатов в облаке. Позволяет смотреть собранные записи в облачной панели Akmelo. Если настройка выключена, записи остаются на вашем сервере.
- Размер установки. Помощник проверяет доступные ресурсы. Облегчённый вариант подходит для задач без браузера; стандартный рассчитан на более требовательную работу.
Установка начинается только после нажатия «Установить агента». Окно показывает её ход, а затем состояние связи. Сохраните выданные логин и пароль панели до закрытия окна: секретные значения показываются один раз.
Ручная установка
На вкладке «Установить вручную» специалист может получить готовые файлы и команды. Укажите путь, выберите браузер и облачную копию, затем нажмите «Подготовить комплект». Открытие вкладки само по себе не выпускает новый доступ.
Повторная подготовка комплекта заменяет действующий токен. Установленный агент
потеряет связь с облаком, пока специалист не заменит его файл .env и не перезапустит
агента с новым комплектом. Не выпускайте новый комплект просто для просмотра инструкции.
Состояние и нагрузка
Нажмите на агента в списке, чтобы открыть его панель. Здесь можно проверить связь, версию, текущую работу, графики нагрузки и технические события. «На связи» означает недавний контакт с облаком, а не обязательное выполнение сбора прямо сейчас. Для запуска и его результата смотрите состояние самой задачи.
Если результат ещё не дошёл в облако, он остаётся на агенте и отправляется повторно автоматически. Ошибка одного отчёта не задерживает остальные сборы. Работа без прокси также поддерживает передачу статусов и собранных данных.
Панель показывает время получения данных. Если связь прервалась, остаются последние известные показатели с предупреждением об их давности. Это не текущая нагрузка. Пропущенное измерение обозначается как отсутствие данных, а не как ноль.
Как читать ресурсы
| Показатель | Что он означает |
|---|---|
| Память сервера | Объём памяти, доступный для измерения в окружении сервера |
| Память служебного контейнера | Использование и ограничение отдельного компонента агента |
| Диск данных | Место на файловой системе, где расположены данные агента |
| База данных | Доступность базы и занимаемое ею место |
| Очередь | Доступность службы очереди и количество ожидающих задач |
Например, 320 МБ у контейнера не означают, что на всём сервере только 320 МБ. Оперативная память и место на диске тоже измеряются отдельно. Диск данных может быть одним из нескольких дисков сервера. Если окружение не позволяет определить ресурс, панель не подставляет предположительное значение. При сомнениях сравните показатели с панелью хостинга вместе с администратором.
Кнопка «Перейти к агенту» открывает его собственную веб-панель. Адрес задаётся в настройках агента. Если для доступа требуется SSH-туннель, сначала установите это подключение по инструкции администратора.
Расписания на агенте используют тот же интерфейс, что и в облаке: последние пять запусков, следующие пять плановых запусков и настройку повторов при временных ошибках. Меняйте расписание в облаке. Агент получит изменения при успешной синхронизации; до этого он продолжает работать по последней полученной конфигурации. Подробнее в руководстве по расписаниям.
Какие служебные данные получает облако
Агент передаёт показатели процессора, памяти и диска, доступность базы и очереди, число задач, версию и короткие технические события: например, «база недоступна» или «появилась ошибка запуска». Этот канал работает и без облачной копии записей. Он не предназначен для содержимого собранных записей, файлов, паролей, токенов, адресов подключений или полного текста исключений. Передача записей и журнала сценария управляется отдельно настройками синхронизации.
При отсутствии связи служебные снимки накапливаются локально. По умолчанию буфер хранит их до 7 дней, максимум 10 080 снимков. Для сбоя локальной базы предусмотрен отдельный аварийный файловый буфер с такими же пределами. Старые снимки удаляются, поэтому при очень долгом простое история может оказаться неполной.
После восстановления связи агент отправляет небольшие пакеты. Паузы между попытками увеличиваются при ошибках и немного различаются у разных агентов. Это помогает не перегружать облако одновременным подключением многих серверов. Последний снимок передаётся вместе с частью накопленной истории, чтобы актуальное состояние появилось раньше полного восстановления графиков. По умолчанию история в облаке хранится 30 дней.
Обновление агента
Режим выбирается при установке, как в помощнике, так и при подготовке файлов:
- Вручную по команде, по умолчанию. В облаке откройте «Агенты», выберите агент и нажмите «Обновить агента». Это можно сделать и в панели самого агента. Уведомление о новой версии само по себе не запускает установку.
- Автоматически. Агент установит проверенный выпуск после завершения текущих работ. Небольшая задержка перед началом помогает распределить нагрузку.
- Полностью отключены. Агент продолжает собирать данные и запускать расписания, но не принимает обновления, в том числе по команде из облака. При таком выборе исполнитель обновлений не устанавливается. Включить его позже сможет администратор непосредственно на сервере.
Если отдельный исполнитель уже подключён, режим можно сменить в локальных настройках. Отключение отменит ещё ожидающую установку. Уже начатое обновление или восстановление закончится безопасно.
Облачная карточка показывает получение команды и результат установки. Агент сам забирает команду при очередной связи, открывать сервер для входящих подключений не нужно. Если агент не выйдет на связь в течение часа, отправьте команду заново.
Автоматическое обновление включается при установке или в локальной панели. Агент принимает только опубликованный выпуск с проверенной подписью и подходящей версией. Произвольную ссылку на архив или образ вместо такого выпуска указать нельзя.
Перед заменой компонентов установщик ждёт завершения ожидающих и выполняющихся сборов, затем временно закрывает новые запуски. Панель показывает этапы и результат. При неудачной установке выполняется попытка вернуть предыдущие компоненты. Это не восстановление резервной копии базы: изменения её структуры должны оставаться совместимыми с предыдущей версией. Если восстановление не завершилось, новые запуски остаются приостановленными, а сервер должен проверить администратор.
Для существующего агента может потребоваться разовое подключение отдельного исполнителя обновлений администратором. Пока он не подключён, обновление из панели недоступно. Сам исполнитель автоматически себя не обновляет. Его обслуживание и резервное копирование сервера остаются задачей администратора.
Развёртывание и служебная синхронизация агентов выполняются специализированными средствами платформы, а не пользовательским внешним API. Внешний API разрешает читать сведения об агентах и получать доступные результаты через прогоны и записи. Он не выдаёт служебный токен агента и не предоставляет доступ к серверным командам.
Стоимость
Собственный агент уменьшает использование вычислительных ресурсов платформы, но не отменяет подписку, ограничения количества ресурсов, AI и операции, которые реально выполняются на платформе. См. лимиты и расходы.
Как выбрать сервер
В разделе агентов нажмите «Сравнить сервер и облако» во вводном блоке. Укажите языки сценариев, нужен ли браузер и сколько данных собираетесь хранить локально. Расчёт покажет рекомендуемый сервер и другие сочетания возможностей. JavaScript и TypeScript используют общую среду, поэтому выбор обоих языков не удваивает её потребление.
Если сервер уже выбран, включите ручной режим и задайте процессор, память и диск. Вы увидите, какие варианты помещаются, что ограничивает выбранный вариант и сколько места остаётся под данные. Диск 20 ГБ подходит для части небольших установок. Минимум для работы и рекомендуемый объём с запасом для обновлений показаны отдельно. Объём ОС и образов оценочный: окончательно свободное место проверяется при подключении. Если храните файлы во внешнем S3, для локальной базы и временных файлов всё равно нужен диск.
Чтобы сравнить расходы, укажите месячную цену сервера, число запусков и время обработки одного запуска без ожидания сайта. Время браузера задаётся отдельно. Расчёт покажет стоимость облачных операций до включённого бюджета, возможные расходы с учётом бюджета и цену собственного сервера. Если потребуется ещё одно платное место агента, его стоимость тоже будет показана. Текущий тариф выбранного пространства учитывается автоматически. Это ориентир для решения, а не обещание фиксированной экономии.
Небольшая редкая задача часто обходится дешевле в облаке. При постоянной нагрузке имеет смысл сравнить оба варианта. Доступ к закрытой сети или требование оставить данные внутри компании могут быть важнее цены. Подписка, AI, CAPTCHA, резервные копии и обслуживание сервера не исчезают после установки агента.
В стандартном комплекте один исполнитель сценариев. Более мощный процессор сам по себе не включает несколько одновременных сборов. После установки проверьте самый тяжёлый полный запуск и посмотрите нагрузку в карточке агента. Если указанная нагрузка не укладывается в месяц работы одного исполнителя, расчёт предупредит об этом и не покажет предполагаемую экономию.
Установка через помощника
Напишите помощнику, какой сервер и сайт нужно настроить. Он уточнит папку установки и подготовит проверку сервера. В обычном окне установки папку можно выбрать из списка после подключения или задать полным путём вручную.
Если доступ к серверу уже сохранён, повторно вводить его не нужно. Иначе прямо в чате появятся защищённые поля. Пароль или ключ хранятся отдельно от переписки, зашифрованы и не передаются модели. Помощник проверит сервер и покажет план перед установкой.
Для сбора без браузерного рендеринга можно выбрать лёгкий профиль. Веб-интерфейс, синхронизация, расписания и endpoint выгрузки остаются доступны. Сам сервер должен оставаться включённым и иметь доступ к источнику данных.
Автономность и защита конфигурации
После успешной синхронизации агент хранит подписанную конфигурацию. Он продолжает сбор по расписанию и выдаёт результаты через свой endpoint, даже если платформа недоступна больше суток. Возраст конфигурации сам по себе не останавливает работу. Изменения, сделанные на платформе во время отсутствия связи, появятся на агенте после восстановления подключения.
Проверка защищает код, поля, расписания и настройки выгрузок от ручной подмены в базе. При обнаружении изменений блокируются сбор, выгрузки и операции API. В интерфейсе появляется предупреждение о блокировке. Обзор, диагностика и восстановление остаются доступными. Возврат прежнего значения в базу или обновление страницы не снимают блокировку. Агент должен получить полную конфигурацию от платформы и проверить её подпись. После этого работа возобновится.
Обычная запись результатов, журналов и отметок выполнения не является подменой конфигурации. Защита предполагает сохранность приложения и доверенного ключа на сервере: она не заменяет защиту ОС и резервные копии.
Выгрузка напрямую с агента
Используйте адрес сервера агента и путь /api/export/{сайт}/{выгрузка}.csv.
Для JSON и XML замените расширение на .json или .xml. Токен передавайте заголовком
Authorization: Bearer <токен>; ограничьте его нужным сайтом и выгрузкой. Endpoint
не требует обращения к основной платформе. По умолчанию порты агента открыты только
локально: доступ извне организуется через HTTPS-прокси сервера или SSH-туннель.
Большой поток HTTP-запросов
Для большого числа независимых адресов есть отдельный профиль агента «Высокая нагрузка». Он поддерживает до 6000 HTTP-запросов в работе при достаточных ресурсах и подходящих настройках сайта. Это не увеличивает число браузерных сессий. Как включить и выбрать размер пачки.