Automated Agent Installation

Automated agent installation

The EAM allows an agent Gateway to be automatically configured from text files the first time the Gateway is started. This capability is enormously useful when installing multiple agent Gateways in your network, as otherwise you must install each Gateway, log in, and install and configure the EAM agent. To automatically configure an agent, you must add two files to the Ignition /data folder before startup: init.properties and eam-install.properties . Example contents are below. After the files have been read, they are renamed to .init.properties.bak and .eam-install.properties.bak. A typical application for this capability would be a script that creates the init files and adds them to an ignition.zip that is distributed to many machines.

Note 1: For init.properties, you are not required to use all the settings shown below. The Gateway will use its standard default settings instead.

Note 2: Multiple Gateway Network connection settings are managed by numbering each setting. The first set of connection settings must contain “0” in the setting name after “gateway.network.” . For example, you can create two outgoing connections with different IP addresses like so:

Gateway Network Addresses
gateway.network.0.Host=10.20.11.18
gateway.network.1.Host=10.20.15.23

Example init.properties

init.properties
# SystemName: sets the Gateway name in Gateway Settings
SystemName=Agent1
# AutoDetectLocal: set to true to check the first found network interface to determine local IP address. Set to false to manually set the IP address of the Gateway.
AutoDetectLocal=false
# LocalInterface: manually sets the IP address of the Gateway. If set, the AutoDetectLocal setting must be set to false
LocalInterface=10.20.11.17
# UseSSL: set to true to force all connecting web browsers to connect to the Gateway over SSL
UseSSL=false
# PingRate: how often in milliseconds to ping the remote machine
gateway.network.0.PingRate=1000
# Enabled: set to false to disable the gateway connection after it is created
gateway.network.0.Enabled=true
# Host: the address of the remote machine
gateway.network.0.Host=10.20.11.18
# Port: the port of the remote machine.
gateway.network.0.Port=8088
# Enable SSL: set to true to use SSL to connect to the remote machine. Note that you must change the Port setting to use the Gateway Network SSL port. This port is 8060 by default.
gateway.network.0.EnableSSL=false
# PingTimeout: how long in milliseconds to wait for a ping request to be processed by the remote machine
gateway.network.0.PingTimeout=300
# PingMaxMissed: the number of failed pings allowed before the connection state is set to Faulted.
gateway.network.0.PingMaxMissed=30
# EnableWebSockets: set to true to allow faster asynchronous communications with the remote machine.
gateway.network.0.EnableWebSockets=true
# WebsocketTimeout: how long to wait in milliseconds for a message to be processed over the web socket
gateway.network.0.WebsocketTimeout=10000
# HttpConnectTimeout: how long to wait in milliseconds to initially connect the http data channel
gateway.network.0.HttpConnectTimeout=10000
# HttpReadTimeout: how long to wait in milliseconds to read data from the http data channel
gateway.network.0.HttpReadTimeout=60000

Example eam-install.properties

eam-install.properties
# installSelection: always set this setting to Agent
setup.installSelection=Agent
# controllerServerName: the Gateway Network server name of the controller
agent.controllerServerName=Ubuntu-Controller
# sendStatsInterval: the amount in seconds that the agent will wait before sending new metrics and configuration data to the controller. Note that if there are currently no interesting metrics or updated config data to send, the agent will not send any data.
agent.sendStatsInterval=5

Next...