Enterprise User Guide
A guide to all Enterprise tier features in SimpleHelp
Server peering in SimpleHelp allows you to link two SimpleHelp servers together. Once linked, the two servers will maintain a constant low bandwidth connection to each other to implement any sharing or roles you choose for the servers such as license issuance.
Peer connections in SimpleHelp are created by logging in to as the server admin and selecting the Admin tab, then Enterprise section.
Within this tab you can set the current server name to identify it among other SimpleHelp servers, and use the Connect to a Peer' button to set up a peer connection to another SimpleHelp server.
You will be asked for the remote address of the server (this can include a port, for example "192.168.1.200:8008") and its admin login details. Once entered, SimpleHelp will set up the relationship between the two servers and provide you with an Edit button to change the sharing and roles of the current server. When you are finished editing the settings you can click Done to apply them.
Note that the remote server will try to connect to the local server based on the hostname and port the technician client is currently using. If you are connecting to an address the remote server cannot use (e.g. localhost) then you should download and use the tech client from the same address the remote server will use.
To simplify license management SimpleHelp Enterprise allows the use of one or more license servers to centralise license allowances and simplify billing.
To set up a license server you should first install the standard SimpleHelp server. Once set up, you can set up a peer relationship between the license server and any other servers you wish to allocate licenses to. See above for more information on how to set up a Peer relationship.
Once created, you can edit the peer relationship and enter the number of sessions you wish to allocate to the target server. The target server will disregard any local license and will accept the session limit from the license server. The license server's session limit will be reduced according to the total issued license limits across all peer relationships.
The license server can be a functional server which you already run (e.g. a server used for a particular region) or a dedicated standalone server used only for licensing purposes.
The peer connection between your license server and other servers will be automatically re-established should the network or a server go offline for any period of time.
In cases where the network link between your license server and peered SimpleHelp servers is unavailable your peered servers will retain their license configuration for up to 24 hours.
High Availability Failover
An Enterprise SimpleHelp server can be configured with a Failover Check URL. In setting this URL the remote support and technician applications downloaded from the SimpleHelp server will be configured to poll the specified URL to determine which SimpleHelp server they should connect to.
Should the desired target SimpleHelp server change at any point, all running customer support and technician applications will pick up the change on the next poll and behave according to the desired configuration, including prompting the technician to fail over, enforcing a server-wide timeout and automatically re-establishing any support sessions.
When referring to failover, SimpleHelp servers are referred to as Primary / Secondary / Tertiary servers.
Configuring Failover on the SimpleHelp Server
To configure a failover URL on your SimpleHelp primary server you should first back up the configuration folder in your SimpleHelp server installation.
You can then edit the serverconfig.xml document using a non-formatting text editor (e.g. Wordpad) and place the following tag under the root tag:
Any applications subsequently downloaded from the SimpleHelp server will then be tagged to query the failover URL for instructions.
Configuring Failover on the Standard Web Server
The failover URL configured in your SimpleHelp server should be a plain text file (mime type ‘text/plain’) served by the standard web server of your choice (e.g. Apache or IIS).
This text file should be configured as a grouped set of name/value pairs as the example
use=primary max-wait-mins=60 auto-switch-after-mins=5 primary_site1=http://primary.example.com:8008 primary_site2=http://184.108.40.206:9009 secondary_site1=http://secondary.example.com:8008 secondary_site2=http://220.127.116.11:9009
When configured, the SimpleHelp customer and technician client will check this URL to determine which site they are currently on (site1 vs site2, representing two differing URLs to access the same SimpleHelp server), and which server they should be using (primary vs secondary).
The site is determined by matching their currently used SimpleHelp server URL to any of the options presented. Once matched the current server they are connected to (primary or secondary) will be checked versus the desired server (use=...). If the desired server differs from the current the app will prompt only the technician to switch servers.
Upon detecting that a switch is necessary, the technician will have the option to:
- switch immediately
- delay 60 seconds
- delay 5 minutes
After any requested delay they will be prompted again. The following optional name/value pairs configure behaviour around technician switching:
- max-wait-mins : the maximum allowed deferment, specified in minutes. If set to 0 then the failover happens immediately. If negative, then the argument is ignored.
- auto-switch-after-mins : the maximum amount of time that the failover dialog should show before automatically switching over. If negative then the argument is ignored.
When the technician approves the switch, or the timeout limit is reached, both the technician app and customer app it is connected to (for sessions) will restart and reconnect to each other using the SimpleHelp server specified in the failover file.
Configuring Remote Access to Failover Servers
Remote Access Services in SimpleHelp can be shared with multiple SimpleHelp servers simultaneously. In a configuration with multiple SimpleHelp servers configured for failover you can simply add each server in to the Remote Access Service configuration to ensure it is available on all the relevant servers.
Clustering in SimpleHelp refers to the sharing of load created by a large number of remote access services.
When referring to clustering in SimpleHelp, servers are referred to as either the one Central server, or one of potentially multiple Auxiliary servers.
If remote access services are shared via UDP then these can be shared directly with your central server and clustering is not required.
If you are sharing a large number (high thousands, tens of thousands or hundreds of thousands) of HTTP or HTTPS based remote access services you should specify one or more auxiliary servers to handle the network load of these services.
Once configured as an Auxiliary server, your server will no longer accept technician connections and so will act purely as a means to share HTTP or HTTPS remote access services with your Central server.
Any configuration changes will be automatically propagated from the Central server to the Auxiliary server. Typically your Auxiliary servers will require little to no maintenance however if you edit SSL settings on your Central server then you should also restart all Auxiliary servers to ensure they pick up the relevant changes.