Omnissa Horizon require an exteral database server to store the different events.
The event database stores information about VMware Horizon 8 events as records in a database rather than in a log file.
The different connection servers store some information, but if you want to see all the historical events from the Horizon management interface you need to configure an external event database.
Actually only few DBMS are supported:
Considering that the connection server are still Windows Server base, lot of people are using Microsoft SQL Express instance… but if you plan to have a more secure an scalable solution, PostgreSQL on Linux can be a good option.
Omnissa documentation is quite limited… it suppose that you already have the database installed and configured.
Prerequisites
- Verify that you are running VMware Horizon 8 version 2103 or later. The ability to use a PostgreSQL database for event reporting is only supported in these Horizon 8 versions.
- Create a PostgreSQL database for event reporting. See Add a Database and Database User for VMware Horizon 8 Events in Horizon Console.
- Verify that you have the required database privileges to configure the database.
Let’s see how configure a Linux based PostgreSQL server.
Step 1: installing PostgreSQL
Fist to all, choose your prefered distro… I will consider RockyLinux 9 (but all commands works also for RedHat).
List out the available streams for the postgresql
module using the dnf
command:
dnf module list postgresql
There are different stream and you can choose the desidered bersion.
The stream that provides Postgres version 10 is the default, as indicated by the [d]
following it.
To enable the module stream for Postgres version 12, run the following command:
sudo dnf module enable postgresql:12
Then you can install the postgresql-server
package to install PostgreSQL and all of its dependencies:
sudo dnf install postgresql-server
Step 2: PostgreSQL set up
The Postgres is not configured and neither enabled. There is a handy script called postgresql-setup
which helps with low-level database cluster administration. To set up the database, run the command:
sudo postgresql-setup --initdb
Now you can start the PostgreSQL service using systemctl
:
sudo systemctl start postgresql
You need also to use systemctl
to enable the service to start up whenever the server boots:
sudo systemctl enable postgresql
Step 3: PostgreSQL network configuration
Before you can use Horizon Console to configure an event database on PostgreSQL, you must edit a configuration file so that the Connection Server can communicate with the PostgreSQL database.
Edit the file /var/lib/pgsql/data/pg_hba.conf and add some lines (one line for each connection server) like this:

It’s not enough… by default the database listen only on 127.0.0.1 address. Modify also the /var/lib/pgsql/ in this way:

The restart PostgreSQL service using systemctl
(don’t use the restart option because in this case does not work):
sudo systemctl stop postgresql; sudo systemctl start postgresql
Finally, if you are using firewalld remember to enable the network connection:
sudo firewall-cmd --permanent --zone=public --add-port=5432/tcp
sudo firewall-cmd --reload
Step 4: PostgreSQL set up
Switch over to the postgres account on your server by typing:
sudo -i -u postgres
Create a new database (in this example I call it view):
createdb view
You can now access a Postgres prompt immediately by typing:
psql
Now you can connect to the view database, a user called horizon and add the permission to the view database (you can change db name and user as you prefer):
\c view;
REATE ROLE horizon LOGIN PASSWORD ‘password-that-you-want’;
GRANT CONNECT ON DATABASE view TO horizon;
Step 5: Configure Horizon
This is the simplest part and is also well documented.
You configure an event database after installing a Connection Server instance. You need to configure only one host in a Connection Server group. The remaining hosts in the group are configured automatically.
- In Horizon Console, select Settings > Event Configuration.
- In the Event Database section, click Edit, enter the information in the fields provided, and click OK.
- Select Monitoring > Events to verify that the connection to the event database is successful.
Note that a new database will be created. If you need to import data from another DB you should migrate manually.