Overriding Default Vendor Configurations

Because package updates override Oracle Communications Unified Assurance configuration files with the latest default configurations, you cannot directly change the default configuration files. Instead, you can apply overrides in one of the following ways, depending on the vendor:

For other vendors, such as Neo4j, there are no supported update-safe overrides. You can change the default configuration file directly, but you will have to repeat this change manually every time you update Unified Assurance. See Editing Configuration Files Directly.

Oracle recommends testing all changes in a development or staging environment to identify and avoid any adverse affects changes may have on the overall Unified Assurance deployment.

Note:

If your environment uses redundant servers, you must make vendor configuration changes on both servers in the redundant pair. Changes made on one server are not automatically copied to the other server.

About Applying Override Files with ConfigHelper

You override default configurations by creating override files and applying them using ConfigHelper for the following vendors:

The default configuration files for each vendor are in the vendor-specific subdirectories of the $A1BASEDIR/distrib/config directory. Base your override files on the configuration files with the .local extension. These are the version of the base configuration file that contains the settings localized for the local system and are handled by ConfigHelper.

When ConfigHelper merges the override files with the localized default configuration files, the custom changes override the default configuration settings, and any settings not included in the override file remain unchanged. In overrides for configuration files with no meaningful indentation or nested properties, you can include the properties you want to override only. See OpenSearch for an example. In overrides for configuration files with meaningful indentation or nested properties, such as those that include yaml formatting, you must include the top-level parent property of the property you want to override, and all of the parent property's contents. See Grafana for examples.

Anything commented out in override files is ignored completely. This means that commenting something out in the override file will not result in it being commented out in the merged configuration file. You can include comments to annotate the override file, but the resulting configuration file will not include any commented out text.

See Vendor Specific Information for details about the names and locations of default configuration files, override files, and merged configuration files, and examples of override file contents.

Applying Override Files with ConfigHelper

To create override files and apply them using ConfigHelper:

  1. Log in to the command line for the server and change to the assure1 user:

    su - assure1
    
  2. Create vendor-specific directories for overrides on the Unified Assurance server:

    mkdir -p $A1BASEDIR/etc/<vendor>.d/overrides
    

    where <vendor> is the name of the vendor whose configuration you are overriding.

    See Vendor Specific Information for the directory names to use for each vendor.

  3. In the override directory, create the appropriate .override file containing the configuration parameters that you want to override. See Vendor Specific Information for the override file names to use for each vendor.

    Tip:

    In override files, you can use the $BASEDIR variable to represent the directory where you installed Unified Assurance and the $HOSTFQDN variable to represent the Unified Assurance host FQDN. In the merged configuration file, ConfigHelper substitutes these variables with their actual values. These are the only variables that are substituted automatically in overrides. You cannot use other typical Unified Assurance environment variables, such as $A1BASEDIR.

  4. Change to the root user and set environment variables:

    su - root
    source /<UA_home>/.bashrc
    

    where <UA_home> is the directory where you installed Unified Assurance, typically /opt/assure1.

  5. Do one of the following, depending on the vendor configuration you are overriding:

    • For InfluxDB, run ConfigHelper with the merge-restart InfluxDB argument:

      $A1BASEDIR/bin/ConfigHelper merge-restart InfluxDB
      
    • For OpenSearch, run ConfigHelper with the merge-restart Opensearch argument:

      $A1BASEDIR/bin/ConfigHelper merge-restart Opensearch
      
    • For other vendors, run ConfigHelper with no arguments:

      $A1BASEDIR/bin/ConfigHelper
      

    The application merges custom overrides with the default configuration files and restarts the vendor application using the resulting configurations.

Vendor Specific Information

The following sections contain reference information about the default configuration files, override files, and merged configuration files specific to each vendor. They also show examples of override file content.

Grafana

InfluxDB

Kafka

OpenSearch

OpenSearch Dashboards

Telegraf

Adding Custom Configuration Files

You can add custom configuration files for the following vendors:

In the following sections, <purpose> represents any text that indicates the configuration file's purpose. For example, you could use file named base-phptimeout.conf when updating the user session length.

Apache and PHP

You can customize the default Apache or PHP configuration by adding custom .conf files to the $A1BASEDIR/etc/apache directory and restarting the web service. Although PHP does not support custom files, Apache does. You can use custom Apache configuration files to pass additional options to PHP. This does not include loading new PHP modules.

The .conf files must be named with the following format:

You can see sample custom configuration files in the $A1BASEDIR/distrib/config/vendorApache/apache directory.

To customize the default Apache or PHP configuration:

  1. Change to the assure1 user:

    su - assure1
    
  2. In the $A1BASEDIR/etc/apache directory, add a custom configuration file called base-<purpose>.conf, ssl-<purpose>.conf, or base-php-<purpose>.conf. For example:

    • For Apache:

      • To enable debugging with non-minified Javascript libraries, copy the base-ui-debug.conf file from the $A1BASEDIR/distrib/config/vendorApache/apache directory.

      • To add additional configuration settings when using externally signed certificates, create a file called ssl-chain.conf with the following content:

        SSLCertificateChainFile $A1BASEDIR/etc/ssl/intermediate.crt
        
    • For PHP:

      • To extend the time after the last API call before user sessions time out, including refresh calls made by UIs that refresh automatically, like dashboards or the event list, create the base-php.conf file with the following content:

        php_value session.gc_maxlifetime 86400
        
      • To change the amount of memory a script can use from the default of 128 megabytes, create the base-php.conf file with the following content:

        php_value memory_limit 256M
        
  3. Change to the root user:

    su - root
    
  4. Restart the web service by running the following command:

    service assure1-web restart
    

MySQL

You can customize the default MySQL configuration by adding <purpose>.cnf files to the $A1BASEDIR/etc/mysql directory and restarting the database service.

You can see sample custom configuration files in the $A1BASEDIR/distrib/config/vendorMySQL/mysql directory.

To customize the default MySQL configuration:

  1. Change to the assure1 user:

    su - assure1
    
  2. In the $A1BASEDIR/etc/mysql directory, add a custom configuration file called <purpose>.cnf. For example:

    • To change the default maximum number of connections, create a file called custom-max_connections.cnf with the following content:

      [mysqld]
      max_connections = 200
      
    • To change the INNODB buffer pool size that the database can use, create a file called custom-innodb_buffer_pool_size.cnf with the following content:

      [mysqld]
      innodb_buffer_pool_size = 256M
      
    • To change the maximum permitted result length in bytes for the GROUP_CONCAT() function:

      1. (Optional) Check the current group_concat_max_len setting by connecting to the database and running a query:

        a1dbroot
        SELECT @@group_concat_max_len;
        
      2. Create a file called custom-group_concat_max_len.cnf with the following content:

        [mysqld]
        group_concat_max_len = 10000000
        
  3. Change to the root user:

    su - root
    
  4. Restart the database service by running the following command:

    service assure1-db restart
    

Editing Configuration Files Directly

For Neo4j, there are no update-safe overrides. You can edit the default configuration file directly to override it, then restart the Neo4j service. Because updating Unified Assurance restores default configuration files, you must redo these edits every time you update Unified Assurance.

The default Neo4j configuration file, neo4j.conf, is located in the $A1BASEDIR/etc/neo4j directory.

To edit the default Neo4j configuration file:

  1. In the $A1BASEDIR/etc/neo4j directory, open the neo4j.conf file.

  2. Update the lines you want to change in the file.

    For example, to change the default amount of memory Neo4j uses:

    1. Find the following lines:

      dbms.memory.heap.initial_size=1g
      dbms.memory.heap.max_size=1g
      
    2. Comment them out:

      #dbms.memory.heap.initial_size=1g
      #dbms.memory.heap.max_size=1g
      
    3. Add the following lines, with the new value for memory:

      dbms.memory.heap.initial_size=2g
      dbms.memory.heap.max_size=2g
      
  3. Save and close the file.

  4. In the Unified Assurance UI, from the Configuration menu, select Broker Control, and then Services.

    See Services in Unified Assurance User's Guide for information about this UI.

  5. Select the Neo4j service and click the Restart button.