Перейти к основному содержимому
Версия: 1.24.2

Агент на PHP

Требования системы

Агент и сервер не требуют большого количества системных ресурсов, таких как ЦП, ОЗУ или место на жестком диске.

Требования к программному обеспечению


ПОМинимальные требования к оборудованиюТребования к ПО
Агент
  • CPU: 1.4 GHz процессор 64-бит
  • RAM: 512 МБ
  • HDD: 32 ГБ
  • Интернет-соединение: 10/100/1000 Мбит/сек
Системные требования агента ограничены требованиями ОС.
  • Сервер Microsoft Windows (2012r2 или выше)
  • PHP интерпретатор (версии 7.2 или выше)
  • Библиотека cURL
подсказка

Сервер инфраструктуры настроен на экземпляре SimpleOne как запись справочника, которая включает в себя подходящую бизнес-логику со стороны сервера и клиента.

Процедура взаимодействия

Для настройки взаимодействия выполните следующие шаги:

  1. Установите агента инфраструктуры на сервер Microsoft Windows в пользовательской инфраструктуре.
  2. Настройте ваш экземпляр SimpleOne.
  3. Настройте агент инфраструктуры.

В результате взаимодействие настроено и начинает работать. Агент отправляет запросы на сервер, чтобы получить задачи. Вы можете настроить интервал запросов в Планировщике заданий Windows (по умолчанию интервал составляет 1 минуту).

  • Если нет задач для выполнения, агент выполняет дальнейшие попытки отправки запросов в настроенный интервал времени.
  • Если есть задачи для выполнения, агент начинает их выполнять.
    • Агент соединяется с сервером для отчета о выполнении задач, независимо от того, были они завершены успешно или нет.
примечание

Разрешите соединение агент→сервер в правилах вашего брандмауэра.

Схематично этот процесс выглядит следующим образом:

Настройка инфраструктурного сервера

к сведению

Логика таблицы Серверы MID находится в разработке и будет дополнена в будущих версиях платформы.

Чтобы добавить параметры сервера в соответствующую таблицу, выполните следующие действия:

  1. Перейдите в Серверы MID → Серверы MID.
  2. Нажмите Создать и заполните поля.
  3. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.

Поля формы Серверы MID

ПолеОбязательноОписание
НаименованиеДаУкажите имя сервера инфраструктуры, отображаемое в списке.
Имя хостаДаУкажите имя хоста внешнего сервера, к которому необходимо подключиться. Например, mid_server.
ПользовательДаУкажите системного пользователя с доступом к функциональности агента инфраструктуры. Пользователь должен иметь роль admin.
примечание

Инфраструктурный агент на PHP содержит два BAT-файла:

  • первый: для добавления инфраструктурного агента, который запускается внешним серверным расписанием.
  • второй: для удаления инфраструктурного агента из планировщика.

Эта функциональность обеспечивает мониторинг обработки задач с учетом заданного интервала.

Настройка агента инфраструктуры


Извлеките zip-архив с файлами инфраструктурного агента и выполните следующие шаги:

  1. Найдите конфигурационный файл .env в папке bin инфраструктурного агента.
  2. Скопируйте ваш файл .env.пример в файл .env и измените его в соответствии с настройками вашего экземпляра.

Описание файла настройки инфраструктурного сервера

ПолеОписание
MID_API_USERNAMEИмя пользователя системы с предоставленным доступом к агенту инфраструктуры.
MID_API_PASSWORDПароль указанного пользователя.
MID_API_SERVERIDID сервера, настроенного ранее в таблице Серверы MID.
MID_API_ENDPOINTСсылка на экземпляр SimpleOne, на котором будет работать сервер MID.

Пример заполненных значений:

  • MID_API_USERNAME=admin
  • MID_API_PASSWORD=123456
  • MID_API_SERVERID=157237947616342741
  • MID_API_ENDPOINT=https://instance.example.com/rest

Добавление скриптов

После настройки агента инфраструктуры вам необходимо настроить для него скрипты PowerShell.

внимание

Инструкции по написанию скриптов в PowerShell не входят в эту статью. Всю необходимую информацию вы можете найти на сайте продуктовой документации PowerShell.

  1. Перейдите в Серверы MID → Скрипты MID.
  2. Нажмите Создать и заполните поля.
  3. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.

Поля формы Скрипты MID

ПолеОбязательноОписание
НаименованиеДаУкажите имя сервера инфраструктуры, отображаемое в списке.
ОписаниеНетВведите краткое описание скрипта.
АктивенНетУстановите флажок, чтобы активировать запись скрипта.
СкриптДаУкажите скрипт, который будет обрабатывать необходимые задачи и обязанности, связанные с соответствующей деятельностью.
подсказка

В этих скриптах вы можете использовать переменные для облегчения обмена данными между клиентской инфраструктурой и экземплярами SimpleOne.

Например, вы можете указать такое определение в своем скрипте MID:

Скрипт MID
$title='Title:\n';Write-Host($title);Write-Host($param1);

После этого значение переменной title должно быть передано в поле Запрос соответствующей записи Очереди MID:

Очередь MID: Запрос
{"param1":"String value"}

После выполнения скрипта поле Ответ в соответствующей записи Очереди MID будет содержать следующее значение:

Очередь MID: Ответ
Title:
String value

Настройка задачи

Для настройки задач на элементе внешней инфраструктуры необходимо создать запись в таблице Очереди MID (sys_mid_queue). Для этого выполните следующие действия:

  1. Перейдите в Серверы MID → Очереди MID.
  2. Нажмите Создать и заполните поля.
  3. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.

Поля формы Очередь MID

ПолеОбязательноОписание
ЗапросНетВведите запрос к внешнему серверу в формате JSON.
ОтветНетОтвет сервера, содержащий выходные данные команды (ответ stdout) и другую информацию. Это поле заполняется автоматически.

Максимальный размер данных – 2,5Мб. Превышение этого объема приведет ошибке валидации, запись не будет сохранена.

ОписаниеНетУкажите краткое описание задачи.
СерверДаУкажите запись, содержащую информацию о настроенном ранее сервере инфраструктуры в таблице Серверы MID.
СкриптДаУкажите запись, содержащую скрипт инфраструктуры, настроенный ранее, в таблице Скрипты MID.
СтатусДаСтатус задания. Это поле заполняется автоматически. Возможные варианты:
  • Создана – задание было только что создано, но еще не обработано.
  • В процессе – задание обрабатывается, и код ошибки не возвращен.
  • Завершена – задание было выполнено успешно, и был возвращен код ошибки 0.
  • Ошибка – задание завершено с ошибками, и возвращается любой другой код ошибки.
1. Если в очереди находится несколько заданий, они будут обработаны в порядке очереди от более старого к более новому.
2. Если внешний сервер не отвечает более минуты, работа скрипта будет остановлена. В этом случае соответствующее задание не вернет код ошибки.
3.При необходимости вы можете запустить задание вручную. Для этого выполните команду run:job где job – название задания, которое необходимо выполнить.
bin\agent – относительный путь к установочной папке инфраструктурного агента. Если вы сохранили его в другой папке, укажите полный путь. Иначе задание не будет выполнено.
Обработано вНетДата и время обработки запроса.