RoboServers

The RoboServers section enables you to manage clusters and RoboServers known to the Management Console. When in embedded mode, by default, the list contains one cluster with one RoboServer, which is the one that also runs the Management Console functionality. In a larger setup with multiple RoboServers and clusters, we recommend that you deploy Management Console on a standalone web container if your license permits. See the Kofax RPA Administrator's Guide for additional information about configuring the Management Console.

In RPA version 11.2 and later RoboServer writes logs in UTC time. RoboServers version prior to 11.2 by default write logs in local server time, which can lead to inconsistences in timestamps if both 11.2 (or later) and earlier versions of RoboServer log to the same logging database. If you connect RoboServers version prior to 11.2 to a Management Console version 11.2 or later, you can configure them to write log messages in UTC time instead of local server time by uncommenting the following option in the RoboServer.conf file:

wrapper_java_additional.41=-DwriteLogdbUtc=true

Note that the RoboServer must be updated to a fixpack version that supports this parameter. See the corresponding RPA fixpack readme file for details.

You can change the way the information for each cluster/RoboServer is presented as follows:

  • Select the table columns to display for a cluster/RoboServer using the menu icon on the right.
  • Refresh the displayed information by clicking the refresh icon on the right.
  • Reset the custom column settings by clicking the reset icon on the right.

By default, the following table columns are displayed for each cluster/RoboServer.

Column

Description

Cluster

Name of the cluster. The name is suffixed by SSL if the cluster uses SSL.
Action This column lists available actions.

For a cluster

  • Cluster settings: Opens the tabs with the cluster settings.

  • Add server: Opens a dialog box to add a RoboServer to this cluster. Specify a host and port and click OK.

  • Assign CRE: Opens the Assign license units pane.

  • Delete: Deletes a cluster.

For a RoboServer

  • Dump thread: Sends a request to the selected RoboServer to perform a full thread dump.
  • Stop RoboServer: Opens a dialog box where you can stop/restart the selected RoboServer. Select how you want to shut down the RoboServer, specify a shutdown timeout if required, and then click OK. The timeout is measured in milliseconds, and if it is set to -1, the shutdown is forced immediately.

  • Stop all robots: Stops all running robots in the selected RoboServer.

  • Delete RoboServer: Deletes the selected RoboServer.

Server

Name or IP address and port of the RoboServer.

Version

Version of the software on the running RoboServer.

Status

For a cluster, shows the cluster state:

  • Initializing

  • Shutting down

  • Running

  • Paused

  • Invalid settings

  • Sending settings to RoboServer

  • Wait for schedules and robots to finish

  • Wait for currently running robots to finish

  • Stop all robots and schedules and apply settings immediately

After you have changed the cluster settings, the "Apply cluster settings" dialog box is shown with options to proceed.

For a RoboServer, shows if the server is online or offline.

CRE/KCU

For information on the CRE and KCU licensing, see the sections "Concurrent Robot Execution License" and "Kofax RPA Compute Units" in the Kofax RPA Installation Guide.

For CRE-based licences

In the Static license distribution mode, this column indicates how many robots can run concurrently in this cluster. CREs are distributed evenly between online RoboServers in the cluster. A CRE is an integral unit, and you cannot split one CRE among multiple RoboServers. For example, if you have six CREs, but five RoboServers in a cluster, each RoboServer gets one CRE; therefore, one CRE remains unused.

The number of CREs in a cluster must be equal to or bigger than that of RoboServers. If you assign fewer CREs to a cluster than the number of RoboServers present in the cluster, the cluster is disabled.

In the Dynamic license distribution mode, this column indicates the total number of CRE licenses assigned to the cluster. RoboServers receive the licenses from the cluster per request. A RoboServer can get as many licenses as it requests if they are available. In this mode, RoboServers communicate only with the Management Console and block other requests, such as API calls.

In the Dynamic license distribution mode, if you want to reestablish the connection between a RoboServer and a Management Console after the Management Console is restarted, restart the RoboServer.

The number of concurrent robots a RoboServer can execute also depends on the amount of CPU available and the speed required to get the data for the RoboServer to process. For more information, see the section "Production Configuration" in the Kofax RPA Administrator's Guide.

To adjust the number of CREs, in the Action column, from the context menu for a cluster, click Assign CRE. This action opens the Assign license units pane where you can adjust the number of license units and see how many units are available in total and how many remain.

For KCU-based licences
Indicates the number of KCUs assigned to this cluster. KCUs in a cluster are distributed evenly among online RoboServers in the cluster. To adjust the KCUs on a cluster, in the Action column, from the context menu for a cluster, click Assign KCU. This action opens the Assign license units pane where you can adjust the number of license units and see how many units are available in total and how many remain.

License type

License type of the cluster: Production or Non-Production.

Optional Columns

Running robots

Number of robots currently running on the RoboServer.

Queued robots

Number of queued robots on the RoboServer.

Max robots

Maximum number of concurrent robots on the RoboServer. Can be configured in the cluster settings.

Uptime

Uptime of the RoboServer. Enables you to see when the server was started or restarted.

Command line

Command line the RoboServer was started with.

CPU count

Number of CPUs assigned to the RoboServer process. For example, if CPU affinity is assigned.

Memory limit

Maximum amount of memory assigned to the JVM the RoboServer runs in.

Duration (accum.)

Shows the total time the RoboServer has been in the "Above limit" state.

Above limit

Shows whether the server is operating above its memory threshold, which is 80% by default. If this limit is reached, the RoboServer queues the robot instead of starting it.

Max queue

Maximum number of robots that can be queued on the RoboServer. Can be configured in the cluster settings.

Last updated

Shows the time when the Management Console received the latest status update from the RoboServer.

Temp profiling

Indicates whether profiling is temporarily enabled for a given RoboServer. The setting will be cleared upon RoboServer restart.

Create New Cluster

  1. To create a new cluster, click the plus sign in the upper left corner.

    The "Add cluster" dialog box appears.

  2. Specify a name for the cluster and the cluster type. You cannot change the name after you close the "Add cluster" dialog box.

    If you create a production cluster, you can assign license units from the production license. Similarly, if you create a non-production cluster, you can assign license units from the non-production license.

  3. Select a license distribution mode.

  4. If you select Use SSL, all RoboServers in the cluster must use the SSL RQL service.

  5. Click Submit.

    The new cluster appears in the table.

After creating a cluster, you can add RoboServers to the cluster, using the context menu in the Action column for the cluster. A cluster can include RoboServers of different Kofax RPA product versions, making it possible to gradually update the robots. In the cluster, robots of older versions are forwarded to the nearest available version of RoboServer. For an example, see Threshold RoboServer version.

Load Distribution and Failover

When a cluster needs to execute a robot, it finds the RoboServers with the highest number of available slots. Available slots are calculated based on how many robots are already running on the RoboServers and how many robots it can run concurrently (the maximum concurrent robots as set in the cluster settings.)

If a RoboServers in a cluster goes offline, the KCU is automatically distributed evenly among the remaining RoboServers.

Actions on RoboServers and Clusters

To perform an action on a RoboServer or a cluster, such as add a RoboServer to a cluster, use the context menu in the Action column. For a description of the actions, see the Action row in the preceding table.

Running robots view

When you click a cluster or a RoboServer name, a view opens containing detailed information about running robots in the selected cluster (from all RoboServers in this cluster) or in the selected RoboServer.

You can change the way the information in this view is presented as follows:

  • Filter the list of robots in the table by applying various filters. You can filter by robot name, project name, execution ID, and robot URL. Filter matching is case-sensitive and the filter selects those robots that contain the entered text as a substring in either the robot name, project name, execution ID, or robot URL.
  • Select the table columns to be displayed using the menu icon on the right.

By default, the following table columns are displayed for each running or recently completed robot.

Column

Description

Robot name

Name of the robot.

Server

Name of the RoboServer that runs the robot.

Project name

Name of the project that the robot belongs to. View the list of projects in the Repository > Robots section.

Robot URL

A URL that the robot is identified by. When you build an execute request for a RoboServer, you can specify a file://URL or a Library:/, which indicates whether the robot should be loaded from the file system or the library.

  • File system URL: file://C:/Kofax RPA/Robots/Library/Input.robot

  • Library URL: Library:/Input.robot

The execute request for a robot may look similar to the following example:

Request request = new Request("Library:/Input.robot")

Start time client

Time when the robot was started. The time is displayed in time zone of the browser running the Management Console.

Execution ID

Robot execution ID.

Current step

Step the robot is currently executing.

Status

Robot current status.

  • Running - Currently running

  • Queued - Queued for running when possible

  • Completed - Finished executing on RoboServers. This status is assigned to robots that:

    • Completed successfully

    • Completed with errors

    • Failed

    • Were forced to stop

Robots with the Completed status are removed from the table after one minute from completion.

Optional Columns

Location code

Code assigned to a step that you can view in Design Studio.

Step execution time

Current step execution time in seconds.

Executed steps limit

Shows the maximum number of steps the robot is allowed to execute. If the limit is reached, the robot is stopped.

KCU wait

Amount of time the robot has been unable to execute because the KCU points (for this second) had already been spent.

Loaded bytes

Bytes loaded during a robot execution.

Last output time

Time when the last extraction was performed.

Emails sent

Number of emails sent by the robot.

Executed steps Number of steps the robot has executed.

Execution path

Sequence of steps the robot has performed.

KCU point cost

KCU points spent for running the robot. KCU point cost is equal to the KCU usage shown in Design Studio.

Extracted values limit

Upper limit on the number of object extractions. If the robot extracts more objects than indicated by this property, an error message is generated or the robot is stopped.

Execution time limit

Upper limit on the total robot execution time. If the robot does not complete within this time limit, an error message is generated and the robot is stopped. The property value is specified in seconds.

Output count

Number of objects that the robot generated.

Robot library

Type of robot library. The following types exist:

  • Design Studio robot library

  • Embedded file-based robot library

  • Repository robot library

  • URL file-based robot library

  • URL folder-based robot library

See the Kofax RPA Developer's Guide for more information. Also, see Robot Libraries in this help system.

Stop if connection lost

When set, the robot will stop if it loses the connection to the Management Console. The flag is only used when running robots with the Java API. For more information, see "setStopOnConnectionLost" in the Kofax RPA Developer's Guide.

Stop on API exception

When set, the robot will stop if it generates an API exception.

Stopping

Shows whether the robot is in the process of shutting down.