Enable and Configure User Auditing

This applies to: Visual Data Discovery

Write your audit logs to the PostgreSQL database installed with Symphony, or an alternative PostgreSQL database of your choice. Create the database, update the zoomdata.properties file, and restart Symphony to begin capturing audit events.

If you expect a large number of user audit events, accumulating a significant amount of information over time, consider using a separate PostgreSQL database.

Create a Database

Create the database for user auditing. There are two ways to do so:

PostgreSQL databases are the only supported database type.

  1. Bootstrap creation. When you install or upgrade Symphony using a bootstrap-zoomdata script, a user audit data table is created on the local PostrgreSQL instance. The user audit database is named zoomdata-user-auditing, and installed at the same location as the Logi metadata for your Symphony instance.

  2. Manual creation. To use a separate database or PostgreSQL instance from your Symphony metadata database, edit the zoomdata.properties file to reflect the target parameters to use. Set the default value of destination.params.password to the same database password used in your default PostgreSQL database. Symphony creates the collections automatically in that database as needed.

Enable User Auditing

After you have created or linked your database, copy these properties into the zoomdata.properties file.

user-auditing.enabled=true
user-auditing.destination.name=PostgreSQL
user-auditing.destination.type=postgresql
user-auditing.destination.schema=public
user-auditing.destination.collection=audit_records
user-auditing.destination.collection-per-account=false
user-auditing.destination.params.user_name=${db.username:zoomdata}
user-auditing.destination.params.password=${db.password:}
user-auditing.destination.params.jdbc_url=jdbc:postgresql://localhost:5432/zoomdata-user-auditing
user-auditing.tenant.attribute=

Required and optional properties include:

Property Default Value Description
enabled false

Use to enable or disable user auditing. Default is false, to disable user auditing. To enable, set to true. Required.

destination.name PostgreSQL

The name of the type of database. Only PostgreSQL is supported.

destination.type postgresql The database type. Only postgresql is supported.
destination.schema public  
destination.collection  

The name of the collection of the user audit data. Use to separate data by accounts to prevent access to audit data by unauthorized users.

For example, audit_records<Account ID>.

destination.collection-per-account false

Default is false, to disable

To enable, set to true and include a field for Account ID in destination.collection.

destination.params.user_name zoomdata The user name sent to the database to write audit data. Required.
destination.params.password   The password sent to the database to write audit data. Required. Can be the same as your default PostgreSQL database.
destination.params.jdbc_url

jdbc:postgresql://localhost:5432/zoomdata-user-auditing

The path to the audit data database. This can be the same database as the user audit schema as shown, or a separate database or partition, as needed.

Required.

tenant.attribute   Include any new or existing user attribute to support data capture by tenant customer users. Use in addition to account information that is always captured and retained in the database.

Restart Symphony

Restart Symphony to begin capturing audit events.

If you used the bootstrap script to install Symphony and audit setup, the audit database table is created when the first event is logged. Test your setup by performing any of the event-triggering actions. See User Audit Events.

If you've set up your database manually, set up the Data Writer microservice to support the user audit processes.