Link Agent Configuration File

Using the Link Agent configuration file

In addition to passing configuration options on the command line, the Link Agent can also accept a configuration file. To pass configuration options from a file, use one of the following command-line arguments:

--config /path/to/config.json
# Or:
-c /path/to/config.json

The format of the configuration file is JSON, and an example can be found at the root of the Link Agent distribution in the file config.example.json. Here are examples of all commonly used configuration options:

  "disableAutoUpdates": false,
  "httpProxy": {
    "host": "host",
    "port": 1234
  "proxyAuth": {
    "password": "password",
    "username": "username"
  "proxyExclusions": [
  "proxyMode": "all",
  "tunnels": [
      "apiKey": "apiKey1",
      "name": "name1"
      "apiKey": "apiKey2",
      "name": "name2"

Configuring the Link Agent to manage multiple tunnels

Note that it is possible to define multiple tunnels in the same configuration file. If you do so, the same Link Agent instance will be used to establish every tunnel specified in the configuration. Combining multiple tunnels in the same Agent can reduce the number of unique agent instances you need to manage and is particularly useful if you have several low-volume tunnels. Please see the note below about using caution when combining multiple tunnels into the same Link Agent.


Combining multiple tunnels may impact performance and stability

Use caution when combining multiple tunnels in the same Link Agent instance. Increasing the amount of traffic handled by the same Link Agent may increase its memory and/or CPU requirements. Before combining multiple tunnels into the same Link Agent it is recommended to first know the baseline resource usage for the host where the Link Agent is running. Add tunnels one at a time. After adding each tunnel, monitor the agent log for errors and observe how the memory and CPU usage on the host change relative to the baseline. For accurate measurements it is important to monitor the host while tests are active on all managed tunnels. Observe average and peak resource utilization, and increase the host's memory and CPU resources as necessary. It may also be necessary to increase the memory available to the JVM.