This topic describes settings for the VMware Horizon Recording feature.

Horizon Recording Settings in the Web Interface

In Administrator > Manage Agents, you can see the details of the machines that are registered with this instance of the recording server.

In Administrator > Service Settings, you can change the authentication, client, and server settings for the recording application, as well as recording criteria.

The following credentials are stored in the database. By default, the administrator has full control of the service settings, while the viewer can only find, watch, and download recordings.

Username/Password: administrator/Recording123

Username/Password: viewer/Recording456

You can select a user and change these passwords in Authentication Settings:
Authentication Settings Description
LDAPS Integration Disable or enable LDAPS integration. If enabled, enter the following information:
  • LDAPS URL
  • Bind User DN
  • Bind User Password
  • Search Base
  • Administrative Group DN
  • Viewer User Group DN
  • User Search Filter
  • Group Search Filter
Local Users Select a user and click Change Password to change the password for that user.
Under Client Settings, the following settings affect the behavior of the Horizon Recording Agent:
Client Settings Description
Notification Message Message displayed to the user when their session is being recorded.
Split Recordings by Duration Enable/Disable
Maximum Recording Duration

The maximum duration of a recording before it is stopped and a new recording is started (in minutes). Minimum value is 30; maximum value is 600.

Note: This setting appears only when the Split Recordings by Duration option is enabled.
Chunk size The buffer size on the Horizon Recording Agent for each recording screen. When this buffer is filled, the data is submitted to the Horizon Recording Server.
Upload Interval The length of time an active recording chunk will be uploaded to the server if the buffer has not yet filled. For example, if the interval is set to 5 minutes and the buffer has yet to fill, when this timespan has elapsed, the current recording screen data is uploaded to the server and a new chunk is created. This setting ensures a smaller window for missed recordings if the Horizon Recording Agent encounters a failure.
Under Recording Criteria, the following settings dictate the session types that are recorded:
Recording Criteria Description
Record Local Sessions Instructs the Horizon Recording Agent to record all sessions that are brokered from internal connection servers on the LAN.
Record Remote Sessions Instructs Horizon Recording Agent to record all sessions that are brokered via a Unified Access Gateway.
Groups to record Lists specific groups of users to be recorded using the session type recording criteria. If you do not add a group, all users will be evaluated for recording.
Under Local Server Settings, the following settings affect the local server currently connected to the database. To change local server settings, use the Edit Deployment wizard (see below).
Local Server Settings Description
Database Connection Type This local server setting is read from the servicesettings.json file on the local server. Supported database types are:
  • SQLite (local file)
  • MSSQL (Microsoft SQL) - Must be the same version of MSSQL database that is being used as the Connection Server Event database.
  • PostgreSQL - Must be the same version of PostgreSQL database that is being used as the Connection Server Event database.
Database Connection String Identifies the server instance and database connection. Example: Data Source=Local.db
Under Cluster Settings, the following settings affect all the servers connected to the database. To change cluster storage location, use the Edit Deployment wizard (see below).
Cluster Settings Description
Recording Storage Folder File path of the folder in which the Horizon Recording Server stores active recording data or finished recordings. Location of this folder depends on the deployment type: NTFS Share or Local. This folder must be secured manually.
Encrypt Recordings Enable/Disable
Note: Enabling this will encrypt the recordings before storing them on the file system. The recordings on the file system cannot be played because they are encrypted and in .bin format. Only the admin user that can log on to the web console should be able to view and play them, because they are not decrypted until the moment when playback is requested from the web console.
Conversion Chunk Size Buffer size used to convert active recordings to finished recordings. The default value is 10.
Conversion Thread Count The number of threads dedicated to converting finished raw recordings to MP4/binary format. Please do not change this value unless instructed to do so.
Conversion Wait Time Amount of time a pending recording conversion has to wait before attempting to convert the files from active to finished. The default value is 10 minutes.
Raw Files This setting affects both the Horizon Recording Agent and the Horizon Recording Server.
  • Horizon Recording Agent: instructs the agent to delete the recording when it has uploaded the data to the server successfully.
  • Horizon Recording Server: instructs the server to retain the raw files post conversion to MP4.
This setting is enabled by default. Disabling this setting compromises the security of the files.
Retention Settings Number of days a recording is retained on the server, after which the web service deletes the recordings. Locked recordings are excluded from the retention rules and remain on the server.
The SSL certificate used by the Horizon Recording Server is retrieved from the local machine's certificate store. It has a friendly name and a private key. If the SSL certificate does not exist, it is created on service startup. To install a custom certificate, rename the existing certificate to HorizonRecordingServer and install the certificate to the machine store. Restart the Horizon Recording Server service for the changes to take effect.
Note: The SSL certificate must be trusted by the Horizon Recording Agent; otherwise the trusted thumbprints you added during installation will not contain the new certificate's thumbprint.
You can configure additional settings, such as the JWT token timeout and the SSL/TLS port, in the servicesettings.json file in the installation directory. You must stop the service before modifying this file and these settings only affect the server you modify. These settings must match on all recording servers participating in the cluster.
{
"HTTPSPort": 9443,
"DBConnectionString": "GlmrgliM0TpWt5nbC1RQyjoG]
"JWTTokenLifeSpan": 60,
"DBType": 1,
"ConnectionStringIsEncrypted": true
}

Edit Deployment Wizard

You can modify Horizon Recording Server settings with the Edit Deployment wizard.

Modifying Horizon Recording Server settings affect both the local server settings, such as the database connection, and the cluster's storage location. After the wizard completes, the local web service is restarted to update the database. Any changes to the storage location affect all servers in the cluster immediately.
Note: Data is never migrated when modifying the deployment. Only the service configuration and user authentication details are migrated. Make sure to back up all recordings in the database by downloading the recordings, then deleting the sessions in advance to avoid having unwanted data.
Also note the following:
  • In a standalone mode, you can only modify the local server’s database connection if there are no active sessions in progress.
  • You can select the database type and connection string. These settings are encrypted and stored in the servicesettings.json file in the server installation directory. If the user specified in the connection string has permissions to create the database, the web service will create a database. Otherwise, pre-create an empty database with the desired name and verify that the account provided has the ability to create the required tables.
  • The account must have the ability to make database layout changes for future upgrades where the database schema may change, and the web service will automatically perform the migrations.
  • The web service will be restarted after the database has been instantiated and the local users and settings have been migrated.
  • Modifying the cluster's storage location immediately affects all servers in the cluster. Do not modify the storage location when there are active recordings occurring. Data is not migrated when modifying the storage location.

Logging

By default, the Horizon Recording Server logs are located in C:\programdata\VMware\Horizon Recording.

For Windows desktops, the Horizon Recording Agent logs are located in C:\programdata\VMware\Horizon Recording.

For Linux desktops, the Horizon Recording Agent logs are located in /var/log/vmware/horizonrecording.

To troubleshoot any issues, you can extend the logging by modifying the NLog.config file. Changing the minlevel to Debug or Trace increases the size of the log files.
<rules>
/logger name="*" minlevel="Trace" writeTo="WebServiceLogging" />
</rules>