logo
25.1
search
No matching documents found.
list
search
No matching documents found.
logo

Admin Console

Please refer to this guide for more information about Admin Console setup. The only difference in Cluster is that you need to provide websocket URLs for all Cluster Servers in your deployment.

Security

Modules inside your Cluster deployment are connected through WebSocket. To make sure that no other malicious servers connect to your Cluster Servers, all modules must share the same secret key which is used in handshake when establishing the websocket communication. The secret key is defined in webswing.properties, webswing-sessionpool.properties and webswing-admin.properties as property webswing.connection.secret. Please change this secret key to your random value before going into production. This secret key is also used for signing JWT tokens that are used for user session cookies. Make sure you use only alphanumeric characters in the secret key, please do not use any special characters.

Data Store

Some of the data that application uses or produces must be available in different parts of the cluster (Session Pool, Cluster Server). This includes transfer (upload, download). Data store is a single point of access to these data. It is configurable in server (web) config and is inheritable similar to security module configuration. Default implementation is the FILESYSTEM data store module. If you need to implement another way of storing data in your cluster (e.g. in database) please contact support@webswing.org.

The easiest way to configure data store in your Cluster is to map a shared folder that is accessible by every module (Cluster Server, Session Pool) in your Cluster.

If it is not possible to have a shared folder in your deployment, you can workaround this by enabling the directTransfer flag in data store configuration. Direct transfer ensures that file transfers from client (browser) to the application instance and vice versa are done via websocket instead of HTTP request/response.

Note that directTransfer is enabled by default since version 22.2.

Using Admin Console

Cluster Overview

One of the main benefits of having an Admin Console in your Cluster is that you can see the cluster overview.

In this view you can see all cluster servers with statistics and also with an option to switch on/off verbose mode or show server logs. Session pools section shows every session pool with details, options to switch on/off drain mode, verbose mode or stop the session pool. Also you can see which applications you have deployed on which session pools and how many users are connected. If you have many session pools you can switch the card view to the compact table view and you are able to switch on/off drain mode for all session pools.

Cluster Overview

Sessions Overview

In the sessions overview you can see and manage each session from the whole cluster.

Available features for sessions:

  • View session details and metrics of usage
  • View all the warnings of each session
  • View all the logs for each session
  • Request a thread dump of each session
  • Session Mirror view with a privacy consent option
  • Full control of the application
  • Possibility to record the session with a privacy consent option
  • Shutting down the session

Sessions Overview

Web Configuration

In configuration view you can manage your configurations on Cluster Servers (webswing-server.config) and Session Pools (webswing-app.config).

Note that if you are using multiple Cluster Servers, Web Configuration (webswing-server.config) must be identical on all Cluster Servers, because they are stateless. Therefore you see only one configuration form for Web Configuration and when you save your changes it is propagated and stored on each Cluster Server.

Web Configuration

App Configuration

Unlike Web Configuration, App Configurations can be different per Session Pool. If you are using multiple Session Pools you can select one and create a different configuration. This is in most cases not recommended as you could lose track of what is configured where, but you can use this possibility for A/B testing. If you want to update all Session Pool configurations at once, simple make your changes in the default All Session config on the top of the options panel, then your changes will be propagated and stored on each Session Pool.

Note that if you edit single session pool config field and switch to all config, value won't show and field will be disabled, because you would overwrite changes everywhere.

Application Configuration

You can also decide that you want to dedicate a Session Pool to a single application. In this case, you can simply turn on/off a Session Pool in the App Configuration Session Pool selector. Note that this will not only "disable" the application in the Session Pool but will also delete the app configuration from Session Pool's webswing-app.config. If you enable the application in the Session Pool again, the configuration values fallback to defaults. The recommended way is to prepare this kind of configuration of Session Pool before actually running it.

Session Pool Selector

Verbose

In Overview section of Admin Console you can switch Cluster Server and Session Pool to verbose mode. In this mode the default log level is set to DEBUG. Turning verbose mode off sets the log level to INFO. You can also start Cluster Server and Session Pool with verbose mode enabled at startup using the -v startup option.