Интеграция enode и continent
Host agent, как сервис
- Копируем host agent в папку /root
- Меняем конфигурацию. В качестве agentId указываем идентификатор УБ. Его можно получить командой uname -n. Пример:
agentId: node-1000 servers: - 192.168.23.1 inspector: active: true netInfo: true netProcessesInfo: false dockerInfo: false resourcesInfo: false statisticsPeriodSec: 5 resourcesPeriodSec: 60 printStat: false sendStat: true statPort: 80 firewall: active: true initFromFile: false isDeniedByDefault: false sdwan: active: false nodeType: 2 connectionsAmount: 3
- Настраиваем сервис upstart. Для этого создаем файл /etc/init/enode.conf, содержащий:
description "enode host agent" author "entcore" start on stopped start-ttys and rclocal_finished and runlevel [3] stop on runlevel [012456] pre-start exec sleep 60 script iptables -P OUTPUT ACCEPT exec /root/distr/amd64/host_agent_linux --config /root/distr/amd64/config.yaml >/var/log/enode_ha.log 2>&1 end script
- Для управления сервисом используем команды:Запуск сервиса будет длиться минуту. Это специальная задержка нужна что бы при загрузке ОС host agent запустился только после полной инициализации системы. Иначе наши изменения в цепочках iptables будут затерты. Данное поведение можно изменить в файле /etc/init/enode.conf
initctl start enode initctl stop enode initctl status enode
- Логи в файле /var/log/enode_ha.log
Настройки iptables
По-умолчанию, в continent заблокированы исходящие пакеты (цепочка OUTPUT). Это не дает взаимодействовать агенту и серверу. Это можно изменить командой iptables -P OUTPUT ACCEPT.
Сервис enode исполняет эту команду перед запуском агента, но если изменить и применить конфигурацию через ЦУС, то настройки iptables восстановятся и придется исполнять эту команду вручную. Как это обойти пока не понятно.