Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


The EAM allows an agent Gateway to be automatically configured from text files the first time when 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 agentit saves time from manually making this configurations. To automatically configure an agent or controller, 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 machinessystems.

For both types of files, settings omitted from the file will use their default values. 

Note_friendly

When using our Docker image, variables defined in docker environment variables will take precedent over the settings listed on this page. 


init.properties

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:

Code Block
languagec#
titleGateway Network Addresses
gateway.network.0.Host=10.20.11.18
gateway.network.1.Host=10.20.15.23
Property NameDescription
SystemNameSets the Gateway name in Gateway Settings.
AutoDetectLocalSet 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. Expects true or false
LocalInterfaceManually sets the IP address of the Gateway. If set, the AutoDetectLocal setting must be set to false.
UseSSLSet to true to force all connecting web browsers to connect to the Gateway over SSL. Expects true or false
gateway.network.#.PingRateHow often in milliseconds to ping the remote machine.
gateway.network.#.EnabledSet to false to disable the gateway connection after it is created. Expects true or false
gateway.network.#.HostThe address of the remote machine.
gateway.network.#.PortThe port of the remote machine.
gateway.network.#.EnableSSLSet to true to use SSL to connect to the remote machine. You must change the Port setting to use the Gateway Network SSL port (which defaults to port 8060). Expects true or false
gateway.network.#.PingTimeoutHow long in milliseconds to wait for a ping request to be processed by the remote machine.
gateway.network.#.PingMaxMissedThe number of failed pings allowed before the connection state is set to Faulted.
gateway.network.#.EnableWebSocketsSet to true to allow faster asynchronous communications with the remote machine. Expects true or false
gateway.network.#.WebsocketTimeoutHow long to wait in milliseconds for a message to be processed over the web socket.
gateway.network.#.HttpConnectTimeoutHow long to wait in milliseconds to initially connect the http data channel.
gateway.network.#.HttpReadTimeoutHow long to wait in milliseconds to read data from the http data channel.

Example init.properties

Code Block
languagebash
titleinit.properties
SystemName=Agent1
AutoDetectLocal=false
LocalInterface=10.20.11.17
UseSSL=false
gateway.network.0.PingRate=1000
gateway.network.0.Enabled=true
gateway.network.0.Host=10.20.11.18
gateway.network.0.Port=8088
gateway.network.0.EnableSSL=false
gateway.network.0.PingTimeout=300
gateway.network.0.PingMaxMissed=30
gateway.network.0.EnableWebSockets=true
gateway.network.0.WebsocketTimeout=10000
gateway.network.0.HttpConnectTimeout=10000
gateway.network.0.HttpReadTimeout=60000


eam-install.properties

Before creating an eam-install.properties file, it's important to understand that each property is prepended by a key that determines the category for the property. The three categories are listed below.

agent.Indicates the property pertains to an agent. 
controller.Indicates the property pertains to a controller.
setup.Generic key used for settings that don't uniquely apply to either agents or controller.
Agent Controller
Property Name
Code Block
languagebash
titleeam-install.properties
# installSelection: determines what role the gateway will fulfill: Agent or Controller
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. If there are currently no interesting metrics or updated config data to send, the agent will not send any data.
agent.sendStatsInterval=5
Description
setup.installSelectionDetermines what the gateway will be configured as. Expects either Agent or Controller
agent.controllerServerNameSets the name of the gateway in the Gateway Network that will be the controller for this gateway. 
agent.sendStatsIntervalThe amount in seconds that the agent will wait before sending new metrics and configuration data to the controller. If there are currently no interesting metrics or updated config data to send, the agent will not send any data.
controller.archivePathWhen controller.archivePath is set to Manual, this property defines the path to use. 
controller.archiveLocationDetermines if the archive location should be set manually, or if the system should automatically pick a location. Expects a value of either Manual or Automatic.
controller.lowDiskThresholdMBSets the low disk space threshold property. Excepts an integer value. 
controller.dataSource

Specifies which database connection the controller should use to record agent history. 

Note_friendly

The database specified by this property must first exist on the gateway for this property to do anything. If the specified database does not exist, then the setting will default to "none". 

Example Agent Configuration

Code Block
languagebash
titleeam-install.properties
setup.installSelection=Agent
agent.controllerServerName=Ubuntu-Controller
agent.sendStatsInterval=5

Example Controller Configuration

Code Block
languagebash
titleeam-install.properties
# installSelection: determines what role the gateway will fulfill: Agent or Controller
setup.installSelection=Controller
# 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. If there are currently no interesting metrics or updated config data to send, the agent will not send any data.
agent.sendStatsInterval=5archivePath=path/to my backups
controller.archiveLocation=Manual
controller.lowDiskThresholdMB=1234
controller.dataSource=MyDB