Device CLI connection timeout and inter-connection delay
By default, Unimus uses 10 second timeouts for SSH / Telnet connections. This means that if your device takes longer than 10 second to establish an SSH / Telnet session, Unimus will not connect to it (fail the connection attempt). This timeout is controlled by the unimus.core.connect-timeout setting.
During device Discovery (more info here), Unimus will establish multiple consecutive sessions to a device to test credentials (unless credential binding is used). Unimus waits 500 ms between session establishments by default. Especially for older / slower devices, or for purposes of slowing down device logins due to load on a central AAA system, it can be beneficial to increase this inter-connection delay. This delay is controlled by the unimus.core.inter-connection-delay setting.
Finally, during device login in certain cases Unimus needs to validate the device prompt - to be sure that the login to the device was successful. In cases this is needed, Unimus has a set duration for each of these checks. This duration should normally NOT be changed by the user - please only change this setting if asked to by our support. This is controlled by the unimus.core.login-prompt-validation-limit setting.
Data retrieval from the CLI
For device CLI communication / interaction, timeouts depend on the format of output from the device. Many devices output in 'paged' format - output is separated into multiple pages, each ending in a " – More – " or similar message and requires some key to be sent to continue. Unimus fully supports this for all devices on our Supported vendors/devices list.
For devices that use paging, Unimus uses a 20 second timeout after sending a command to wait for a device to respond with pagination or a prompt. Each page has its own 20 second timeout. For example, if the device takes longer than 20 seconds to finish outputting a response or offer pagination to a 'show version' command on Cisco IOS, Unimus will consider this a timeout. This is controlled by the unimus.core.cli-expect-timeout setting.
For devices that do not output using paging, Unimus uses a 75 second timeout. So for devices without paging, they need to output the full output for a command and return a prompt in under 75 seconds, or Unimus considers the operation failed. This is controlled by the unimus.core.max-backup-timeout setting. Please note some of our drivers for devices we support apply a multiplier to this value. This timeout should normally NOT be changed by the user - please only change this setting if asked to by our support.
All of these values can be adjusted.
On Linux (Debian/Ubuntu):
Edit the contents of /etc/default/unimus. All settings in this file should be on the same line.
Add these settings into the file:
-Dunimus.core.connect-timeout=20000 -Dunimus.core.inter-connection-delay=1000 -Dunimus.core.cli-expect-timeout=30000
Insert proper values behind each configuration argument (in milliseconds).
Restart Unimus to apply the new timeouts.
On Windows:
For portable:
Create a file named Unimus.l4j.ini in the same directory as the Unimus executable.
Change Unimus in the above file name to exactly match the name of the Unimus executable.
For installer:
Add the below lines to Unimus.l4j.ini in 'C:\Program Files\Unimus\'.
Inside of this configuration file, please add the following lines:
-Dunimus.core.connect-timeout=20000 -Dunimus.core.inter-connection-delay=1000 -Dunimus.core.cli-expect-timeout=30000
Please make sure to place each argument into its own line.
Insert proper values behind each configuration argument (in milliseconds).
Restart Unimus to apply the new timeouts.