Managing Configuration files
This documentation is for Kyvos 2026.8.x. To view documentation for other Kyvos versions, click here. |
|---|
Overview
This section explains how to manage and upload configuration files in Kyvos Manager to synchronize configuration changes across the Kyvos cluster, allowing administrators to update system configuration files, templates, and integration settings used by different Kyvos components.
Note
After upgrading Kyvos, the Alpha Setup restores the default system prompt files in the Kyvos Manager (KM) instance, replacing any custom prompt files uploaded by the user. If you have customized these files, re-upload them using Manage Configuration Files after the upgrade. Before re-uploading, review the default prompt files, as they may include updates to the Kyvos Dialogs execution flow that should be included in your custom files.
You can see the last operation details, including progress status and start time, by clicking the i icon. To view more comprehensive details, simply click the View Details link, which will take you to the Operations page, where you can view the operation information in detail.
You can download managed Zookeeper logs through the terminal, similar to Analytical Server log downloads. You can also configure the
INFOorDEBUGlog level in thelogback.xmlfile from the ‘Manage Configuration File’ page in Kyvos Manager for troubleshooting and diagnostics.
You can upload configuration files from Kyvos Manager to sync the current state of the cluster.
On the navigation pane, click Utilities > Manage Configuration Files.
On the Manage Configuration Files page, navigate to the file that you want to update and click the corresponding Upload button.
Important
We recommend creating a backup of all the files that you are updating, as Kyvos may not preserve these files during the upgrade.
Click the Choose File button to locate the configuration file from your computer network and click the Upload button.
Important
You must ensure the correctness of file content before upload, as Kyvos Manager will not validate the contents.
Click the Save button from the top-right of the screen.
On this page:
- 1 Overview
- 2 Integrating Kyvos with host applications for Conversational Analytics
- 3 Uploading Synonym file for Elastic Search
- 4 Managing Compute Server for YARN Deployments
- 5 Modifying CSV Metadata Template
- 6 Managing custom PPT templates
- 7 Configuring Tier-Based Commands for System Monitoring
- 8 Application Performance Monitoring (APM) Integration and Distributed Tracing
- 9 Built-In Configuration-Based Row-Level Security
To integrate Kyvos with host applications, configure the User Interface (UI) elements for chat sessions:
On the Manage Configuration page, download the ‘integration.config.json’ file.
Open the downloaded file and add the necessary configurations, which include: ‘clearChat’, ‘showMetadata’, ‘showSelectedSemanticModel’, and ‘allowSemanticModelChange’.
Set the value of these configurations to true if you want them to be displayed. By setting these configurations to true, the corresponding features will be displayed in the integration mode.
Once you have made the changes, upload the file back on the Manage Configuration page.
In the Kyvos integration mode with host applications, to add a new chat session as a worksheet from a URL, the host application must send the following URL to Kyvos:
<KyvosPath>/kyvosIntegration.jsp?page=workbooks&workbookName=<%Workbookname%>&folderName=<%Folder%>&cubeName=<%CubeName%>&cubeFolderName=<%CubeFolder%>&cubeId=<%CubeId%>&sheetType=QNASHEET&actionCode=ADDTo configure Elastic Search Service, you must first download the synonym.xls file. Ensure that you must not change the name of the synonym file while saving the file.
Using the Synonym file
Download the file. In the file, add the actual value and its synonym you want to use for elastic search.
Save the file without changing its name.
Upload the file.
Uploading the Synonym file
On the Manage Configuration page, expand Kyvos >Commons>kyvos/commons/config/kyvossearch.
Upload the updated synonym file.
Click Save.
You can launch dedicated compute servers within YARN containers, enhancing compatibility with YARN-based on-premises deployments. This enhancement enables users to run dedicated compute servers specifically for semantic model processing, ensuring improved resource isolation, scalability, and performance.
To set up a dedicated compute server for Yarn deployments, do the following:
On the navigation pane, click Utilities > Manage Configuration Files.
On the Manage Configuration Files page, click the Kyvos folder to expand, and then click Query Engine > /kyvos/queryengine/bin/ > start-yarn-cs.sh
Download the start-yarn-cs.sh script, and the following parameters (other parameters in this file are automated) can be modified with their default values. To modify these defaults, update the values of the following parameters:
Change Application Master Name,
APPLICATION_NAME: Ensure that the application name (Dedicated compute) is unique across Kyvos clusters running on the same Hadoop cluster.
APP_MASTER_LOG_PATH
Update containers default values in which Kyvos Compute Server will be launched as Java application,
export CS_CONTAINER_VCORES=8
export CS_CONTAINER_MEMORY=16384
export CS_COUNT=1
Update Kyvos Compute Server configurations,
CS_HEAP_MEMORY="4096M"
CS_OFF_HEAP_MEMORY="2048M"
CS_ANALYTICAL_STORE_BUILD_MEMORY="6GB"
CS_ANALYTICAL_STORE_MAX_TASK_COUNT=2
AUTO_CONFIGURE_PROCESSING_TASK_COUNT="AUTO"
Upload the start-yarn-cs.sh script.
Click the Save button from the top-right of the screen.
Restart the Analytical Server, then trigger a sanity semantic model job. By default, Kyvos will launch 1 Compute Server with the following specifications:
16 GB Memory
4 GB Heap
2 GB Off-heap
6 GB Analytical Store Build Memory
2 Tasks
Note
The sum of CS_HEAP_MEMORY, CS_OFF_HEAP_MEMORY, and CS_ANALYTICAL_STORE_BUILD_MEMORY should be less than or equal to CS_CONTAINER_MEMORY - 4GB.
Before switching compute type from shared Query Engine compute to Dedicated Compute, stop all Analytical Server and Query Engines (QE-based Appmaster).
When exporting a worksheet to CSV and PDF formats, you can include metadata in the report. A separate text file, following the csvMetadataTemplate.txt template, is also exported and can be modified as needed.
To modify the CSV metadata template, perform the following steps.
On the navigation pane, click Utilities > Manage Configuration Files.
On the Manage Configuration Files page, click the Kyvos folder to expand, and then click BI Server> /kyvos/olapengine/conf/dataExport/en_US/ > csvMetadataTemplate.txt
Download the template file. In the file, you can view the following:
Make the changes in the template file as needed and save it.
Note
If you remove a field from the template and later need it, you must add the field and upload the template again.
Upload the template file.
Click Save. The template file will be updated with your changes.
From Kyvos 2026.3 onwards, you can manage custom PPT templates through Kyvos Manager. You can upload, download, and delete custom PPT templates in the custom\ppt folder under the client\templates directory.
Note
Only .pptx and .potx file types with a maximum size of 10 MB are supported.
To add a custom template file, perform the following steps.
On the navigation pane, click Utilities > Manage Configuration Files.
On the Manage Configuration Files page, click the Kyvos folder to expand, and navigate to Web Portal > kyvos/jakarta/webapps/kyvos/client/templates/custom/ppt/.
Click Add File next to the
custom\pptfolder.
In the dialog box, click Choose File, select the file you want to upload from your system and then click Add. A “File uploaded successfully” message will be displayed.
Click Save and enter your Kyvos Manager password.
Refresh the web page to view the newly added file in the list.
After a file has been added to the custom\ppt folder, you can use the following actions by clicking the corresponding links displayed next to the file:
Upload: Replace the file with a new version.
Download: Download the file to your local system.
Delete: Delete the file from the folder.
Configuring Tier-Based Commands for System Monitoring
You can customize the commands executed by the system monitoring framework by modifying the systemconfig.json file.
To configure tier-based monitoring commands, perform the following steps.
Log in to Kyvos Manager.
Navigate to Utilities > Manage Configuration Files.
Expand Kyvos > BI Server > kyvos/olapengine/conf/.
Locate the systemconfig.json file.
Click Download to download the configuration file.
Open the downloaded
systemconfig.jsonfile in a text editor.Locate the system_monitor section. The file contains monitoring commands organized into different tiers (for example,
tier0,tier1,tier2,tier3, andtier4).Add, remove, or modify commands under the required monitoring tier based on your diagnostic requirements.
Save the updated
systemconfig.jsonfile.Return to the Manage Configuration Files page in Kyvos Manager.
Click Upload next to the systemconfig.json file and upload the modified file.
Click Save to apply the changes.
Application Performance Monitoring (APM) Integration and Distributed Tracing
Kyvos supports integration with an Application Performance Monitoring (APM) platform to monitor application performance and health. When enabled, telemetry provides end-to-end distributed tracing across Kyvos components and helps you troubleshoot application and communication issues.
Telemetry supports the following capabilities:
End-to-End Distributed Tracing: Tracks requests across the Web Client, Analytical Server, Query Engine, Compute Master, and databases by maintaining the parent-child trace hierarchy.
TCP Communication Tracing: Creates child spans for proprietary TCP communication and associates them with the corresponding parent spans.
Span Details: Captures relevant information, such as the host name and port, for TCP communication spans.
Prerequisites
Before enabling telemetry, obtain the APM connection string for the target deployment.
For Azure Application Insights:
Open the required Application Insights resource in the Azure portal.
On the Overview page, locate Connection string under Essentials.
Copy the connection string for use in the telemetry configuration.
Configure the APM Connection
You must update the applicationinsights.json file with the required APM connection string.
To configure the APM connection, perform the following steps:
Go to Utilities > Manage Configuration Files.
Under Commons, expand the following path:
kyvos/commons/config/opentelemetry/The
applicationinsights.jsonfile is available under theopentelemetryconfiguration folder, as shown below.Download the
applicationinsights.jsonfile.
JSON format: The following is a sample JSON file. For more details about advance configuration, see Microsoft Azure Documentation.{ "connectionString":"<YOUR_CONNECTION_STRING>", "role": { "name": "KyvosClient" }, "sampling": { "percentage": 100 }, "preview": { "captureHttpServer4xxAsError": false } }In the file, add the APM configuration string that you have copied from Azure Portal.
Save the file.
Upload the updated file.
After updating the telemetry configuration, save the configuration changes in Kyvos Manager and restart Kyvos services for them to take effect.
Enable or Disable Telemetry
You can enable or disable telemetry, use the ENABLE_TELEMETRY property to control telemetry:
Set the
ENABLE_TELEMETRYproperty toyesto enable telemetry. You can upload the OpenTelemetry JAR files.Set it to
noto disable telemetry.The default value is
no.
Built-In Configuration-Based Row-Level Security
You can also use Kyvos' built-in configuration file to implement RLS, without uploading a custom JAR.
To enable built-in configuration-based RLS Security, configure the RLSConfiguration.json file, located at /kyvos/olapengine/conf/RLSConfiguration.json.
The RLSConfiguration.json file defines the actual row-level filtering behavior for each semantic model — including which users are allowed access when they are missing from the rules table (missingUserBehaviour), the filter expression used to generate the RLS filter (rlsRuleQuery), and the wildcard character that grants full column access (wildCardCharacter).
To enable built-in configuration-based RLS Security, perform the following steps.
Navigate to Utilities > Manage Configuration Files.
Go to the following location:
/kyvos/olapengine/conf/RLSConfiguration.jsonDownload the
RLSConfiguration.jsonfile.Update it with the required configuration and upload it back to apply the changes.
Save the file.
Upload the updated file.
The following is a sample JSON file.
Note
Either all of the following properties, jdbcUrl, jdbcUser, jdbcPassword, and jdbcDriver, must be specified, or only the connectionFileName property must be specified in the RLSConfiguration.json file.
{
"commonAttributes": {
"jdbcUrl": "<Enter JDBC URL>",
"jdbcUser": "<Enter JDBC User>",
"jdbcPassword": "<Enter JDBC Password>",
"jdbcDriver": "<Enter JDBC Driver>",
"connectionFileName": "<Enter Kyvos connection file name>",
"syncFrequency": "10",
"missingUserBehaviour": "DENY_ALL_ACCESS",
"wildCardCharacter": "*"
},
"semanticModels": [
{
"semanticModelId": "<Enter semantic model ID>",
"userIdentifierColumnInRuleTable": "username",
"fetchRulesQuery": "select username, rule_column from rule_table",
"rlsRuleQuery": " (sm.country_column in (rule_column))",
"denyRlsRuleQuery": "(sm.country_column in (‘ABCDEF’))",
"columnMappings": {
"sm.country_column": "country code"
}
}
]
}The following table describes the key configuration properties used in the RLSConfiguration.jsonfile.
Property | Description | Possible Values | Default Value |
|---|---|---|---|
| Defines the level of data access for users who are not present in the Rules table. |
|
|
| Defines the row-level security filter logic applied to user queries using bitwise AND (&) and OR operations to evaluate access permissions. It references columns from both fetchRulesQuery results and semantic model columns. It applies automatically to every query users execute on the semantic model | Any valid SQL condition. | - |
| Defines the SQL condition used to deny access to all data. This condition is used instead of | Any valid SQL condition. | - |
| Defines a wildcard character that provides access to all data for the corresponding column when the character is present in the Rules table. | Any valid string. | - |
| SQL query that retrieves user-specific RLS rules from the external rules table. It executes over the connection specified in connectionFileName and returns all columns required for filtering operations. The query re-executes periodically based on the syncFrequency setting. | Any valid SQL query. | - |
| Defines the interval, in minutes, at which Kyvos reloads the RLS configuration. The system reruns fetchRulesQuery at this interval to update user permissions. Lower values enable near real-time updates but increase database load. Note: Restart the Analytical Server after the initial configuration. Subsequent updates are synchronized automatically based on this interval. | Any integer greater than or equal to |
|
| Defines the JDBC URL used to connect to the external database. | Any valid JDBC URL. | - |
| Defines the user name for the JDBC connection. | Valid database user name. | - |
| Defines the password for the JDBC connection. | Valid database password. | - |
| Defines the JDBC driver class name. | Valid JDBC driver class name. | - |
| Specifies the Kyvos connection used to retrieve the RLS rule table.Specifies the connection configuration file name as defined in Kyvos. It must exactly match the name used during connection setup in Kyvos. This file establishes connectivity to the external data source containing RLS rules. | Valid Kyvos connection name. | - |
| Specifies the unique ID of the semantic model for which RLS is configured. | Valid semantic model ID. | - |
| Identifies the column in the RLS rules table with user identifiers. Supports formats such as email addresses, usernames, and employee IDs. Matches authenticated users to their security rules. | Valid column name. | - |
| JSON object mapping query aliases to semantic model column names.
Enables flexible query construction independent of column naming. | Valid field-to-column mappings. | - |
Configuring Row-Level Properties
Use RLSConfiguration.json to define Row-Level Security (RLS) for semantic models. The configuration supports:
Configuration | Description |
|---|---|
| Define and apply RLS conditions and rule values |
| Map RLS column names to the corresponding semantic model fields |
Multiple semantic models | Define RLS configurations for multiple semantic models in a single file |
1. Using fetchRulesQuery with rlsRuleQuery
The rlsRuleQuery property defines the SQL condition used for applying Row-Level Security (RLS). It can be any valid SQL condition, and it can reference:
Semantic model column names or aliases defined through column mapping.
Column names from the RLS rule table.
For example, if region is the semantic model column and rule_region is the corresponding rule-table column, configure:
"rlsRuleQuery": "(region IN (rule_region))"At runtime, the value of rule_region is substituted into the query.
Points to know
Use parentheses for conditions: When combining conditions with
ANDorOR, enclose each condition in parentheses."rlsRuleQuery": "(region IN (rule_region)) AND (country IN (rule_country))"For mixed conditions, use additional parentheses to define the required logical grouping.
"rlsRuleQuery": "((region IN (rule_region)) AND (country IN (rule_country))) OR (state IN (rule_state))"Enclose string values in single quotation marks: When using multiple string values with the
INoperator, format the values as: ('US', 'UK')
You can generate these values in either of the following ways:Use SQL functions such as
CONCATinfetchRulesQueryto construct the single-quoted, comma-separated values.Store the values directly in the rule table in the following format: 'US', 'UK'
The resulting rlsRuleQuery should be equivalent to: (region IN ('US', 'UK'))
Use different names for semantic model and rule-table columns: Rule-table column names are replaced with their corresponding values during RLS processing. Using the same name for both columns can result in unexpected substitution behavior. For example:
Column type | Name |
|---|---|
Semantic model column |
|
Rule-table column |
|
Use rule_region instead of region for the rule-table column.
For example:
{
" rlsRuleQuery ": "(region IN (rule_region)) AND (country IN (rule_country))"
} This allows the RLS query to dynamically use the values defined in the corresponding rule-table columns.
2. Using columnMappings
Use columnMappings when the dimension name used in rlsRuleQuery doesn't match the field name Kyvos actually sends to the provider.
Example: The Kyvos semantic model field is Sales Region (with a space). After normalization (spaces become underscores), the key seen by the provider is Sales_Region. If the rule template also uses Sales_Region, no mapping is needed in most cases.
But if the semantic model field were named something entirely different — say Geo — add a mapping:
"columnMappings": {
"Sales_Region": "Geo"
} This renames Sales_Region to Geo in the template at load time, so the final expression uses the name that actually matches the semantic model’s field.
3. Configuring multiple semantic models
A single RLSConfiguration.json file can hold configurations for multiple semantic models at once. Each model can define its own rule query, fetch query, and column mappings, while sharing the same database connection settings:
{
"commonAttributes": { ...},
"semanticModels": [
{ "semanticModelId": "sales-cube-id", ... },
{ "semanticModelId": "finance-cube-id", ... },
{ "semanticModelId": "hr-cube-id", ... }
]
}