Skip to main content

zoomdata.properties Properties

The zoomdata.properties file can be edited in the /etc/zoomdata directory. Each property is described in the table below. Some situations where the zoomdata.properties file needs to be updated include: For information on editing configuration files, see Edit a Configuration File.

General Properties

PropertyDefault ValueDescription
access.control.allow.origin*By default, CORS is set to --- in the Self-Service Analytics Server. You can set CORS to restrict access:
access.control.allow.origin=<user-defined>
For more information, see Enable Self-Service Analytics Component Access From Other Sites Using Cross-Origin Resource Sharing (CORS).
logs.dir<ZD_install_directory> /logsPath to Self-Service Analytics logs. The placeholder <ZD_install_directory> is replaced with the actual location where Self-Service Analytics is installed.
Verify that this log directory has all the necessary permissions and that the owner of the directory is set to zoomdata.
The /home directory cannot be used for logging.
Example: logs.dir=/opt/<ZD_install_directory>/logs)
data-gateway.client-api.enabledFalseSet to true to enable use of the Data Gateway API and Data Gateway Service. See Set Up and Use the Data Gateway Service.
saml.maxAuthAge86400Sets the timeout for SAML, in seconds. The default is 24 hours.
Example: saml.maxAuthAge=86400
server.compression.enabledtrueEnables gzip compression for http requests.
Example: server.compression.enabled=true
server.port8080The default server port, which is set to use http. Prior releases used http.port
server.servlet.context-path/composerExample: server.servlet.context-path=/composer
server.session-timeout1800 secondsSets when your Self-Service Analytics session will timeout (in seconds).
Example: server.session-timeout=1800
If you alter this value, also alter the value of the zoomdata.server.ws.idle.timeout property to match it.
source.attribute.values.limit1000Sets the limit for the number of attribute values that can be displayed in the Filter list.
Example: source.attribute.values.limit=1000
spring.servlet.multipart.max-file-size500MbExample: spring.servlet.multipart.max-file-size=500Mb
spring.servlet.multipart.max-request-size500MbExample: spring.servlet.multipart.max-request-size=500Mb
zoomdata.server.ws.idle.timeout1800000 msIdle time that allows the WebSocket to be still valid. If you alter this value, also alter the value of the server.session-timeout property to match it.
http.response.header.content-security-policyframe-ancestors *;Add appropriate values to override the default values and support your business needs, such as default-src 'self' , script-src 'self' , and more.
Secure your implementation by including values for these resources using appropriate source URLs.
Example:
frame-ancestors *; default-src 'self'; script-src 'self' 'nonce-composerScript' https://*.storage.example.com; style-src 'self' 'unsafe-inline' https://*.storage.example.com; img-src 'self'; connect-src 'self'; font-src 'self'; base-uri 'self';

Source Metadata Properties

PropertyDefault ValueDescription
zoomdata.source.refresh.metadata.cache.timeout.minutes10080 (one week)Sets the default time-to-live for cache values, in minutes.
zoomdata.source.refresh.values.maxDistinctValues100000Sets the number of queried distinct values that can be stored in cache.

Encryption Properties

PropertyDefault ValueDescription
security.encryption.algorithmThe encryption algorithm used for file encryption.
security.encryption.key.algorithmThe algorithm type of the encryption key used for file encryption.

Keystore Properties

PropertyDefault ValueDescription
keystore.locationclasspath:security/zoomkeystore.jksSelf-Service Analytics uses symmetric encryption. You can point to a new keystore to strengthen security.
Example: keystore.location=classpath:security/zoomkeystore.jks
See Create a Symmetric Key to Encrypt Data Source Passwords for further guidance.
keystore.passwordzoomkeyLets you set up a unique password for the keystore.
Example: keystore.password=zoomkey
keystore.key.aliaszoomkeyExample: keystore.key.alias=zoomkey
keystore.key.passwordzoomkeyExample:keystore.key.password=zoomkey

Server SSL Properties

PropertyDefault ValueDescription
server.ssl.key-store<Self-Service Analytics_install_directory>/conf/keystoreSets the path for the keystore location.
Example: server.ssl.key-store=HOME/conf/keystore
server.ssl.key-store-passwordchangeitStores the keystore password.
Example: server.ssl.key-store-password=<YourPassword>

SAML Configuration Properties

PropertyDefault ValueDescription
saml.artifactBindingDefaulttrueExample: saml.artifactBindingDefault=true
saml.useMultiValueListtrueExample: saml.useMultiValueList=true
saml.stringDelimiter,Example: saml.stringDelimiter=;

Kerberized PostgreSQL Properties

PropertyDefault ValueDescription
spring.datasource.urljdbc:postgresql://<IP_address>:<port>/zoomdataThe URL of the zoomdata database in the PostgreSQL metadata store.
Example: spring.datasource.url=jdbc:postgresql://localhost:5432/zoomdata
spring.datasource.usernamezoomdataThe user name for the zoomdata database in the PostgreSQL metadata store.
Example: spring.datasource.username=zoomdata
spring.datasource.password---The password associated with the user name for the zoomdata database in the PostgreSQL metadata store.
keyset.destination.params.jdbc_urljdbc:postgresql://<IP_address>:<port>/zoomdata-keysetThe URL of the zoomdata-keyset database in the PostgreSQL metadata store.
Example: keyset.destination.params.jdbc_url=jdbc:postgresql://10.2.1.4:5432/zoomdata-keyset
keyset.destination.params.user_namezoomdataThe user name for the zoomdata-keyset database in the PostgreSQL metadata store.
Example: keyset.destination.params.user_name=zoomdata
keyset.destination.params.password---The password associated with the user name for the zoomdata-keyset database in the PostgreSQL metadata store.
upload.destination.params.jdbc_urljdbc:postgresql://<IP_address>:<port>/zoomdata-uploadThe URL of the zoomdata-upload database in the PostgreSQL metadata store.
Example: upload.destination.params.jdbc_url=jdbc:postgresql://10.2.1.4:5432/zoomdata-upload
upload.destination.params.user_namezoomdataThe user name for the zoomdata-upload database in the PostgreSQL metadata store.
Example: upload.destination.params.user_name=zoomdata
upload.destination.params.password---The password associated with the user name for the zoomdata-upload database in the PostgreSQL metadata store.

Source Sampling Properties

PropertyDefault ValueDescription
source.sampling.rows1000Example: source.sampling.rows=1000
source.attribute.values.limit1000Example: source.attribute.values.limit=1000

Logging Properties

PropertyDefault ValueDescription
logging.unified.host127.0.0.1Sets the host IP address for Fluentd server message logging. For more information, see Set Up Unified Logging Using Fluentd.
Example: logging.unified.host=123.4.5.6
logging.unified.levelOFFSets the log level for messages logged to the Fluentd server. The following options are available for this property: TRACE, DEBUG, INFO, WARN, ERROR, and OFF. If set to OFF, Fluentd unified logging is disabled. For more information, see Set Up Unified Logging Using Fluentd.
Example: logging.unified.level=INFO
logging.unified.port24224Sets the port for Fluentd server message logging. For more information, see Set Up Unified Logging Using Fluentd.
Example: logging.unified.port=1234
logging.unified.tagzoomdata-serverSets the microservice tag name for messages logged to the Fluentd server. This is important because the tag identifies the microservice to which the log messages apply. Valid values are query-engine, zoomdata-server, stream-writer, upload-service, and edc-<connector-name> (where <connector-name> is one of the names listed in Connector Properties and Property Files).
For more information, see Set Up Unified Logging Using Fluentd.
Example: logging.unified.tag = zoomdata-server
syslog.host127.0.0.1Sets the host IP address for Syslog server message logging.
Example: syslog.host=127.0.0.1
syslog.log.levelOFFSets the syslog log level for messages logged to the Syslog server. The following options are available for this property: TRACE, DEBUG, INFO, WARN, ERROR, and OFF.
Example: syslog.log.level=DEBUG
syslog.port1514Sets the port for Syslog server message logging.
Example: syslog.port=1514
syslog.suffixlocalSpecifies a suffix that is appended at the end of the Syslog server log entry that Self-Service Analytics generates.
Example: syslog.suffix=local

Password Policy

PropertyDefault ValueDescription
auth.password.policy.specialCharacters!@#$%^&*()-_=+,.:;<>
auth.password.policy.minCharacters9
auth.password.policy.maxCharacters255
auth.password.policy.minLowercaseCharacters1
auth.password.policy.minUppercaseCharacters1
auth.password.policy.minNumericCharacters1
auth.password.policy.minSpecialCharacters1
auth.password.policy.helpMessagePassword must contain at least 9 characters including 1 lowercase, 1 uppercase, 1 number and 1 special (!@#$%^&*()-_=+,.:;<>).Text is not enclosed in quotation marks.

Data Export Properties

PropertyDefault ValueDescription
zoomdata.export.data.max.cols1000 columnsUse this property to define the maximum number of columns that can be exported for two-dimensional visuals (such as a pivot table). Self-Service Analytics enforces this limit for visual data, but does not enforce it for raw data.
The distributed default for this setting is 1000 columns. Valid values can range from 0 through 2147483647 columns.
zoomdata.export.data.max.rows100000 rowsUse this property to define the maximum number of rows that can be exported for visuals. Self-Service Analytics enforces this limit for visual data. However, for raw data, Self-Service Analytics produces an error if the number of rows requested for export exceeds this setting.
The distributed default for this setting is 100000 rows. Valid values can range from 0 through 2147483647 rows.
zoomdata.export.visualdata.max.rows100000 rowsUse this property to define the maximum number of rows that can be exported for visuals. Self-Service Analytics enforces this limit for visual data. However, for raw data, Self-Service Analytics produces an error if the number of rows requested for export exceeds this setting.
The distributed default for this setting is 100000 rows. Valid values can range from 0 through 2147483647 rows.

Screenshot Microservice Client & Dashboard Scheduling Properties

PropertyDefault ValueDescription
dashboard.scheduling.screenshot.png.height1080Identifies the maximum height (in pixels) of the screenshot PNG file that will be sent.
dashboard.scheduling.screenshot.png.width1920Identifies the maximum width (in pixels) of the screenshot PNG file that will be sent.
dashboard.scheduling.screenshot.timeout60Specifies the timeout (in seconds) to take a screenshot for a dashboard email report.
The time specified by this property must be less than or equal to the time set by the screenshot.service.http.client.read.timeout.milliseconds property. If you increase the value of this property, make sure that you increase the value of the screenshot.service.http.client.read.timeout.milliseconds property accordingly. Bear in mind that this property is specified in seconds, but the screenshot.service.http.client.read.timeout.milliseconds property is specified in milliseconds.
export.proxy.allow.*Specifies a regular expression that allow-lists the outgoing URLs the canvas proxy can request when generating screenshots and PDF exports.
export.proxy.mime-types.allowedimage/jpeg,image/jpg,image/png,image/gif,image/webp,image/svg+xml,image/svg-xml,text/html,application/xhtml,application/xhtml+xmlSpecifies the MIME types the canvas proxy is permitted to fetch. Separate multiple values with commas.
export.proxy.client.timeout.millis300000Sets how long (in milliseconds) the canvas proxy waits when fetching a resource from a remote source before the request fails.
screenshot.service.namescreenshot-service
screenshot.service.urlhttp://localhost:8083/This is the default screenshot microservice URL, used when service discovery is disabled in your environment.
screenshot.service.http.client.connect.timeout.milliseconds10000Specifies the number of milliseconds that can elapse before Self-Service Analytics stops trying to connect to the screenshot microservice client.
screenshot.service.http.client.read.timeout.milliseconds60000Specifies the number of milliseconds that can elapse before Self-Service Analytics stops trying to read from the screenshot microservice client.
If you increase the time set by the dashboard.scheduling.screenshot.timeout property, make sure that you increase the value of this property as well. The total time set by screenshot.service.http.client.read.timeout.milliseconds should always be greater than or equal to the time set by the dashboard.scheduling.screenshot.timeout property. Bear in mind that this property is specified in milliseconds, but the dashboard.scheduling.screenshot.timeout property is specified in seconds.
screenshot.service.http.client.write.timeout.milliseconds60000Specifies the number of milliseconds that can elapse before Self-Service Analytics stops trying to write to the screenshot microservice client.
screenshot.service.http.client.max-in-memory-size.bytes512000The maximum amount of buffered bytes used when aggregating the response stream.

Field Settings

PropertyDefault ValueDescription
zoomdata.detect.type.attribute.max.length200 charactersUse this property to set the maximum character length of attribute fields. If this limit is exceeded, the field will be recognized as a Text field.

Mail SMTP Information

PropertyDefault ValueDescription
sftp.hostsftp.host=localhost
sftp.port=2222
sftp.user=uname
sftp.password=pwd
sftp.strictHostKeyChecking=no
sftp.remote.directory=/tmp
Specifies the properties for SFTP location, credentials, and other settings to deliver scheduled reports and schedule dashboard reports to the defined SFTP location.
mail.fromSpecifies the email address identifying where the email comes from. “User@example.com”
mail.loginSpecifies the email login to use to access the mail server.
mail.passwordSpecifies the password associated with the email login identified in the mail.login property.
Mail SMTP Information specifies the properties for SMTP port, enablement, and authentication:
  • mail.smtp.port: 465
  • mail.smtp.auth: true
  • mail.smtp.ssl.enable: true
  • mail.smtp.ssl.protocols: "TLSv1.2"
  • mail.login: "mail.login"
  • mail.password: "mail.password"
  • mail.from: "mail.from"
In addition, JavaMail API properties (Self-Service Analytics supports both IMAP and SMTP protocols) should be added to the zoomdata.properties file to identify the mail server and other mail properties required to use that server to send the scheduled dashboard (for example, mail.smtp.auth, mail.smtp.host, mail.smtp.port, mail.imap.host, and mail.imap.port). Complete descriptions of IMAP and SMTP protocol JavaMail properties can be found at these links:

zoomdata.jvm Options

The zoomdata.jvm file contains JVM options (e.g. memory configuration) and Java system properties (e.g. timezone, temp directory, etc.) related to Self-Service Analytics. The table below describes the options you can adjust. Situations where the zoomdata.jvm file needs to be edited include: For information on editing configuration files, see Configuration Property Files.
OptionDefault ValueDescription
DEBUG_ENABLED0/falseToggle switch to enable or disable the Java debug capability. To enable, enter ‘1’ or ‘true’.
Example: DEBUG_ENABLED=false
DEBUG_PORT9393The default port for the Java debug capability.
Example: DEBUG_PORT=9393
JAVA_OPTS-Xss256k -Xms2048m -Xmx8192mJava-related options for JVM. Refer to Oracle’s article on Java HotSpot VM Options for information.
KERBEROS_CONFIG/etc/krb5.confDefault location for the Kerberos configuration details. However, the path to the file may be different in your environment.
Refer to Oracle’s article on File Formats for information.
KERBEROS_PRINCIPALhdfs@HADOOP.COMKerberos principal name.
KERBEROS_KEYTAB/etc/zoomdata/zoomdata.keytabKerberos keytab location.
PROXY_HOSTuser-definedFor cloud-based connectors (including Google Analytics and Salesforce) being used in a proxy configuration, this property specifies the server host to be returned for calls, and identifies the proxy host server that will provide internet access.
PROXY_PORTuser-definedFor cloud-based connectors (including Google Analytics and Salesforce) being used in a proxy configuration, this property specifies the server port to be returned for calls, and identifies the proxy port server that will provide internet access.

Query Engine Properties

Most of the query engine components can be edited in the query-engine.properties file. You can manage the query engine using the following properties. For information on editing configuration files, see Edit a Configuration File.
PropertyDefault ValueDescription
Service Logging
access.log.file.size10Access log file size (in MB).
qe.error.log.file.size5Error log file size (in MB).
log.file.size20General log file size (in MB).
websocket.log.file.size10Websocket log file size (in MB).
syslog.host127.0.0.1Sets the host IP address for Syslog server message logging.
syslog.log.levelOFFSets the syslog log level for messages logged to the Syslog server. The following options are available for this property: TRACE, DEBUG, INFO, WARN, ERROR. and OFF.
trace.requestsfalseEnables detailed tracing of HTTP request.
tracing.sampler.probability1The distributed tracing request rate percentage. Valid values are between 0 to 1.0, where 0 disables tracing and 1.0 indicates tracing 100% of requests.
General Microservice Configuration for Jetty Web Server
server.jetty.max-threads200Number of threads to serve the HTTP & WebSocket clients.
qe.server.ws.idle.timeout86400000Idle time (in milliseconds) that allows the WebSocket to be still valid.
qe.server.ws.input.buffer.size16384Buffer size (in bytes) for the WebSocket message.
qe.server.ws.max.message.size1048576Max size (in bytes) of a message that could be sent over the query engine WebSocket.
server.port5580REST/WebSocket microservice port.
server.ssl.enabledfalseDefines whether the REST/WS API should use SSL.
server.ssl.key-storePath to the file with the keystore.
Graceful Shutdown
application.graceful.shutdown.enabledtrueIndicates whether or not graceful shutdown processing should occur. Valid values are true (perform graceful shutdown processing) or false (do not perform graceful shutdown processing).
application.graceful.shutdown.event-propagation-timeout-sec5Specifies how long (in seconds) a query engine instance will wait to allow clients to receive the information that it is out of service.
application.graceful.shutdown.force-kill-timeout-sec30The maximum number of seconds that a query engine instance will wait for the number of its active tasks to reach zero.
When this time has elapsed, all remaining active WebSockets serving in-flight queries are closed and then the query engine instance will stop.
Topology Configuration
calculations.detect.array.fieldstrueEnables and disables the query engine validation of multivalue fields in a derived field.
By disabling (set the value to false) this functionality, any custom metrics that you may have created in earlier versions of Self-Service Analytics that are aggregations of multivalue fields will produce valid values.
qe.max.allowed.time.groups10000The maximum amount of time in which groups can be generated by the Include Blanks function.
For information on even time intervals, see Even Time Intervals
.
qe.max.rows.during.execution5000000The maximum number of rows that can be processed during a single query. The value specified must be at least slightly greater than the value for the qe.zengine.edc.rows.limit property.
If you increase the value of qe.zengine.edc.rows.limit, consider increasing the value of this property.
When a query exceeds the limit set by this property, a Resource limit is reached during query execution message appears.
qe.zengine.edc.rows.limit1000000The maximum number of records that can be fused from a single data source.
sharpening.enabledtrueEnables or disables Data Sharpening.
Set this property to true to enable Data Sharpening; set it to false to disable it.
sharpening.samples.max.count100The maximum number of Data Sharpening requests that can be generated by the sharpening process.
sharpening.samples.skip.first1Defines how many first samples are skipped before visualizing the result of sharpening.
zoomdata.validation.histogram.max.size1000Histogram max bucket count.

screenshot-service.properties Properties

The following table lists properties you might adjust for the Self-Service Analytics Screenshot microservice. For information on editing configuration files, see Edit a Configuration File.
Property NameDefault ValueDescription
pool.queue.size10Sets the queue size for Screenshot microservice requests.
This property and the pool.thread.size property specify the upper limits for Screenshot microservice processing. When the number of screenshot requests exceeds the limits set by these two properties, you will receive HTTP 429 “Too Many Requests” errors.
You can exceed these limits in a number of ways, including:
  • starting up Self-Service Analytics with lots of dashboards and visuals
  • deleting all your screenshots at once
  • rapidly creating a lot of large dashboards

You can increase the values of this property and the pool.thread.size property when you encounter too many failed screenshots. However, do so with caution.
pool.thread.size20Sets the thread count for Screenshot microservice requests.
This property and the pool.queue.size property specify the upper limits for Screenshot microservice processing. When the number of screenshot requests exceeds the limits set by these two properties, you will receive HTTP 429 “Too Many Requests” errors.
You can exceed these limits in a number of ways, including:
  • starting up Self-Service Analytics with lots of dashboards and visuals
  • deleting all your screenshots at once
  • rapidly creating a lot of large dashboards

If your use of Self-Service Analytics includes scheduling dashboard reports, update this setting so it is greater than the number of concurrent reports. You can also increase the values of this property and the pool.queue.size property when you encounter too many failed screenshots. However, do so with caution.
syslog.host127.0.0.1Sets the host IP address for Syslog server message logging.
Example: syslog.host=127.0.0.1
Override in the zoomdata.properties file; this affects more than the screenshot microservice if you edit it.
syslog.log.levelOFFSets the syslog log level for messages logged to the Syslog server. The following options are available for this property: TRACE, DEBUG, INFO, WARN, ERROR and OFF.
Example: syslog.log.level=DEBUG
Override in the zoomdata.properties file; this affects more than the screenshot microservice if you edit it.
syslog.port1514Sets the port for Syslog server message logging.
Example: syslog.port=1514
Override in the zoomdata.properties file; this affects more than the screenshot microservice if you edit it.
syslog.suffixlocalSpecifies a suffix that is appended at the end of the Syslog server log entry that Self-Service Analytics generates.
Example: syslog.suffix=local
Override in the zoomdata.properties file; this affects more than the screenshot microservice if you edit it.

Connector Properties and Property Files

Self-Service Analytics’s architecture enables the deployment of Self-Service Analytics’s data connectors as standalone components running in their own process space. Each connector has its own dedicated connector server and a corresponding property files. Some properties are common to all connectors and some properties are unique to a specific connector. The properties for each connector are documented in the property files. The kinds of configuration properties found in these files include:
  • logging properties
  • actuator properties (Spring Boot management endpoint configuration)
  • data source connection pool properties
  • data source-specific properties
  • Kerberos configuration properties (for some connectors)
  • service discovery properties
  • other connector-specific properties.
insightsoftware discourages changing properties in the /opt/zoomdata/conf directory (Linux) or <install-path>/conf (Windows). Copy the files you want to change to the /etc/zoomdata directory (Linux) or <install-path>/conf-modify (Windows) and change them there. This will ensure that your changes are not overwritten when Self-Service Analytics is next upgraded.
Quickly determine what changes you have made to a properties file using diff in Linux. For example:
or
For Windows environments, use your preferred diff utility to compare the differences between your original and updated property files. The connector property files have names in the following format: edc-<connector>.properties. The following table lists these property files and identifies the associated connector. For more information about editing property files, see Edit a Configuration File.