Установка Discovery Agent на ОС Linux

В системе есть агенты двух типов:

  • DiscoveryAgentNative – агент с функцией сетевой инвентаризации, позволяет сканировать сеть, AD и SQL.
  • DiscoveryAgentLiteNative – агент без функции сетевой инвентаризации. Такой агент будет сканировать только компьютер, на котором он установлен.

При установке используйте файл в соответствии с типом агента.

Помимо этого, агент может быть:

  • Конечной точкой обработки данных - в этом случае агент может только отправлять данные интеракту.
  • Работать в цепочке агентов - в этом случае агент может получать данные от других агентов и передавать их интеракту. Узнайте подробнее об этой возможности.

При установке это повлияет на настройку портов агента.

Обратите внимание, вы можете использовать тихую установку, чтобы выполнить массовую установку агентов на компьютеры с ОС Linux.

Установка агента должна запускаться под учетной записью, позволяющей sudo повышать права без необходимости ввода интерактивного пароля. Для установки пакета агента инвентаризации требуются root привилегии уровня.

При дальнейшей работе агенты инвентаризации должны работать как root для установки и запуска служб агента на локальном устройстве.
При работе агента под другой ролью, мы не гарантируем инвентаризацию данных, так как у системы может не хватить прав.

Перед установкой получите файл агента для установки.
Для этого:

  • Возьмите файл из дистрибутива.
  • Или скачайте через веб-интерфейс системы в разделе Сбор данных / Все устройства.

Обратите внимание, агенты бывают двух типов, вам нужно использовать только один из файлов, в зависимости от функций, которые будет выполнять агент:

  • DiscoveryAgentNative.deb – агент с функцией сетевой инвентаризации, позволяет сканировать сеть, AD и SQL.
  • DiscoveryAgentLiteNative.deb – агент без функции сетевой инвентаризации. Такой агент будет сканировать только компьютер, на котором он установлен.

После получения файла разархивируйте его.

Вы можете установить агент двумя способами:

  • Через интерфейс.
  • В тихом режиме.
  • С помощью команды $ sudo mc перейдите в директорию, в которую вы сохранили файл установки агента.
  • Откройте пакет deb/Contens/ect/discovery-platform/agent.json
  • Введите данные в файле:
    • CompanyGUID - GUID ключ вашей компании (вида NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN), который вы получили при покупке системы (как узнать GUID?).
    • IP адрес компьютера, на котором установлен интеракт или агент-шлюз, который будет получать данные от настраиваемого агента  (если это тот же самый компьютер, на котором установлен агент, то оставьте значение по умолчанию).
    • Порт интеракта, к которому будут подключены агенты (по умолчанию 5078)
    • Признак открытия портов агента:
      • false - порты закрыты, в этом случае агент является конечной точкой и на него не могут передавать данные другие агенты.
      • true - порты открыты, агент может получать данные от других агентов (то есть является участником цепочки).
    • Стартовый порт прослушивания: по умолчанию 5088.
    • Конечный порт прослушивания: по умолчанию 5089.
    • Метки - специальные метки (теги) компьютера, на который устанавливается агент (если есть необходимость), например, VDI. В дальнейшем они используются при обогащении данных в процессе инвентаризации. 
Вы сможете изменить настройки установки в дальнейшем в файле config_agent.json.
  • Сохраните файл и проверьте статус установки с помощью команды:

$sudo systemctl status discovery-platform-agent.service
  • Перезапустите агент с помощью команды:

$sudo systemctl restart discovery-platform-agent.service

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

Для тихой установке выполните команду ниже, подставив в нее:

  • Вместо "DiscoveryAgent_LinuxNative_N.NN.N.deb" актуальное название файла дистрибутива.
  • Параметры установки (см. описание ключей ниже).

Установка для deb:

sudo dpkg -i DiscoveryAgent_LinuxNative_N.NN.N.deb  && sudo /usr/local/bin/configure-agent.sh --common_directory /var/tmp/discovery-platform/agent/ --company_guid NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN --agent_ip 127.0.0.1 --agent_port 5078 --self_port_is_open fa
lse --self_port_first 5088 --self_port_last 5089 --agent_tags \"vdi\"

Установка для rpm:

sudo rpm -i /home/ge/rpmbuild/RPMS/x86_64/DiscoveryAgent_LinuxNative_N.NN.NN.rpm && sudo /usr/local/bin/configure-agent.sh --common_directory /var/tmp/discovery-platform/agent2/ --company_guid NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN --agent_ip 127.0.0.1 --agent_port 5078 --self_port_is_open fa
lse --self_port_first 5088 --self_port_last 5089 --agent_tags \"vdi\"

Ключи для агента:

-d | --common_directory Рабочий каталог агента, укажите путь сохранения временных данных при инвентаризации.
-c | --company_guid      GUID ключ вашей компании (вида NNNNNNNN-NNNN-NNNN-NNNN-NNNNNNNNNNNN), который вы получили при покупке системы.
-a | --agent_ip          IP адрес компьютера, на котором установлен интеракт или агент-шлюз, который будет получать данные от настраиваемого агента. 
-p | --agent_port        Порт компьютера, на котором установлен интеракт или агент-шлюз, который будет получать данные от настраиваемого агента.  По умолчанию для интеракта: 5078, для агента-родителя: 5088.
-o | --self_port_is_open

Признак открытия портов агента:

  • false - порты закрыты, в этом случае агент является конечной точкой и на него не могут передавать данные другие агенты.
  • true - порты открыты, агент может получать данные от других агентов, то есть участвует в цепочке.
-f | --self_port_first   Начальный и конечный порты настраиваемого агента, открытые на прослушивание. 
Используется, если включено открытие портов агента, то есть агент участвует в цепочке и может получать данные от других агентов. Проверьте, что указанные порты не заняты. Например, если сервер и агент установлены на одном компьютере, и вы укажите порт, который занят сервером, то агент не будет работать корректно.
Если открытие портов выключено, то настроенные порты игнорируются, даже если заполнены.
-l | --self_port_last   
-t | --agent_tags        Специальные метки (теги) компьютера, на который устанавливается агент (если есть необходимость), например, VDI. В дальнейшем они используются при обогащении данных в процессе инвентаризации.

Перечисляются в виде строки (двойные кавычки необходимо экранировать. Например \"tag1\",\"vdi\").
-h | --help              Показать список доступных параметров и их значения по умолчанию.

Вы можете использовать краткие или полные имена ключей, например, -c и --company_guid - равноценные ключи. Можно указывать только нужные параметры, которые необходимо изменить все остальные будут установлены значениями по умолчанию.

Если установка не выполнилась, то:

  • Проверьте, создались ли данные в директории, которую вы указали в строке CommonDirectory. Если данных нет, то возможно у вас нет прав для записи в эту директорию
  • Если данные создались, то проверьте запустился ли ваш агент через команду $ htop
  • Если данные создались, и агент запустился, то проверьте корректность заполнения адреса в строках ServerAddress и InteractServerAddress.

По умолчанию предполагается, что агенты передают собранные данные интеракту. 

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

В таком случае:

  • На компьютер, имеющий доступ к внешней сети, устанавливается агент, который выполняет роль шлюза. 
  • Все агенты внутри локальной сети отправляют данные на агент-шлюз. 
  • Далее агент-шлюз передает данные или интеракту или (как показано на схеме ниже), другому агенту-шлюзу, который в свою очередь уже передает их интеракту.

При установке агента, который выполняет роль шлюза, и получает данные от других агентов:

  • Используйте тип агента DiscoveryAgentNative.
  • Заполните данные родительского элемента - интеракта или другого агента-шлюза, который будет получать данные от настраиваемого агента: 
    • agent_ip - IP адрес родительского элемента.
    • agent_port  - порт родительского элемента (по умолчанию для агента-родителя: 5088).
  • Включите открытие портов агента (self_port_is_open=true).
  • Укажите диапазон портов настраиваемого агента (self_port_first, self_port_last), на которые будут присылать данные другие агенты.

При установке агента, который является конечным (собирает данные только с того устройства, на котором установлен, и не получает данные от других агентов):

  • Используйте тип агента DiscoveryAgentLightNative.
  • Заполните данные родительского элемента - агента-шлюза, который будет получать данные от настраиваемого агента: 
    • agent_ip - IP адрес родительского элемента.
    • agent_port  - порт родительского элемента.
  • Выключите открытие портов агента (self_port_is_open=true).
  • Порты настраиваемого агента (self_port_first, self_port_last), на которые будут присылать данные другие агенты, можно оставить со значениями по умолчанию. Они будут игнорироваться.

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

Если после установки агента, вы захотите отредактировать его установочные параметры, то это можно сделать в файлах конфигурации: