Post Installation Recommendations

Post Installation Recommendations

This article describes recommended post installation steps that we highly recommend to perform after XPLG is installed.

Configuring XPLG to Storage

It is highly recommended to configure XPLG to work against an external storage location / directory. XPLG requires full permissions (read/write) on this location with direct/fast access.

To configure XPLG to storage:

  1. Create a folder under the name XPLGConfig.

  2. Enter XPLG Manager > Left Navigation Panel > Settings > General

  3. Select the Use external configuration directory checkbox and type the absolute path into XPLGConfig – .../XPLGConfig/
    XPLG saves the information and requests a restart.

  4. Restart XPLG, and go once again to XPLG Manager > Left Navigation Panel > Settings > General, and ensure that the configuration was saved successfully. 
    XPLG saves all the information into this external folder.
    Note: It is recommended to back it up occasionally. If you remove your XPLG version and redeploy, you can always point the new XPLG instance to this folder to use the existing configuration or for clustering purposes.
    For further information, contact the support team at support@xplg.com.

LAX File Adjustments

XpoLog*lax file contains most of the runtime parameters of the XpoLog JVM. The file path is <XPLG_INSTALL_DIR\XpoLog.lax> (Windows) or <XPLG_INSTALL_DIR>/XpoLog.sh.lax (Linux).

All operations require to restart XpoLog in order to take effect.

All operations in this sections refer to the LAX.NL.JAVA.OPTION.ADDITIONAL line of the XpoLog*lax.

Allocating More Memory to XPLG (64-bit installations)

It is highly recommended to match the allocated memory according to the machine spec. To allocate more memory:

  1. Edit the XpoLog*lax file

  2. Modify the -Xmx flag as needed (default is -Xmx1024m), e.g., to allocate 8192 MB change the value to be -Xmx8192m or -Xmx8g and save.
    Notes:

    1. In any case we recommend maximum of 28g (28 gigabytes) allocation per XPLG instance assuming the machine hosting it has at list 56GB of memory.

    2. Total allocated memory of XPLG instance(s) per machine should not be more than 50% on Linux installations and no more than 75% on Windows installations.

  3. Restart XpoLog. 

Setting a default Character Encoding (Optional)

In case XpoLog should be able to support special characters which are different from the machine's default (Especially Chinese, Japanese, Korean, etc.) it is recommended to modify the default encoding as follows.

To change default encoding:

  1. Edit the XpoLog*lax file

  2. Modify the  -Dfile.encoding=UTF-8 parameter in the LAX.NL.JAVA.OPTION.ADDITIONAL line to any desired default encoding.
    Note: the encoding can be any of the JAVA supported encoding

  3. Restart XpoLog. 

Setting a default locale (Optional)

In case XPLG should be capable of displaying content in different languages and normalize dates from different regions, it is possible to assign a JVM locale. By default, the JVM locale is the locale of the platform where XPLG is installed. To override the default JVM locale, you must set the appropriate language and region (country) arguments in XPLG.

To change default locale:

  1. Edit the XpoLog*lax file

  2. Add the parameters -Duser.language=en_US -Duser.region=en_US at the end of the LAX.NL.JAVA.OPTION.ADDITIONAL parameters line
    Note: The above example is for English US locale, the complete locale list that JAVA supports can be found here: JAVA locale list

  3. Restart XpoLog. 

Configure XPLG to use a Proxy

Generally, XPLG does not require internet access to function properly. However, there are some specific features that XPLG should get an external access for some of its integrations such as Microsoft Teams, Office 365 / Azure Active Directory, PagerDuty, Slack, etc. Some organizations do not allow direct access from XPLG servers and use a proxy server that the access can be granted only through it. It is possible in such cases to configure XPLG to use a proxy server.

To configure XPLG to use a proxy server:

  1. Edit the XpoLog*lax file

  2. Look for the JAVA parameters line (starts with LAX.NL.JAVA.OPTION.ADDITIONAL), add at the end the following 3 parameters with the proxy details:
    -Dhttps.proxyHost=THE_PROXY_HOST
    -Dhttps.proxyPort=THE_PROXY_PORT
    -DproxySet=true

  3. Restart XpoLog. 

Handling JVM Memory Issues

In the unlikely event of a JVM running out of memory, we want the JVM to perform a memory dump file (for the R&D to analyze), and restart automatically to reduce downtime to a minimum..

  1. Edit the XpoLog*lax file

  2. Look for the JAVA parameters line (starts with LAX.NL.JAVA.OPTION.ADDITIONAL), add at the end the following 3 parameters with the proxy details:
    -XX:+ExitOnOutOfMemoryError -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/hprof-directory/
    Restart XpoLog. 

Windows Specific - Assign a service account

After installation, XPLG service is available under the Windows services panel (XpoLogCenter). It is highly recommended, after installation, to assign an account on the service for optimized connectivity between XPLG and remote log sources over the Windows network. 

To assign a service account:

  1. Go to the Windows Services Panel.

  2. Right click the XpoLogCenter service > Properties

  3. Go to the 'Log On' tab (by default, XPLG is installed with a Local System Account). Select 'This account' radio button and enter a specific account with sufficient privileges that XPLG can use to read remote log sources.

  4. Save and restart.

This will allow Administrators adding  logs over the Windows network as if they were local (direct access) using UNC paths: \\<server-name>\<drive-name>$\...\<log> (for example: \\server1\c$\logs\log4j.log{string})

Linux Specific - Allocating Allowed Open Files / Number of Processes 

It is very important to allocate 64,000 allowed open files and 20,000 allowed number of processes to XPLG that runs on Linux (default is usually 1024).
The allocation can be done specifically to the user who runs XPLG: 

To check the limitation for the user who runs XPLG:
  1. Open SSH terminal to XPLG's machine and log in using the same user that runs XPLG (for example, Putty).

  2. Run the command: ulimit -n and then the command: ulimit -u
    The recommended output for open files should be 64,000
    The recommended output for open processes should be 20,000

  3. Log in to the machine that runs XPLG, as superuser if needed, and edit the file /etc/security/limits.conf, by adding the following lines:

# Add to /etc/security/limits.conf <user-that-runs-xplg> - nofile <max-number-of-files> <user-that-runs-xplg> - nproc <max-number-of-processes> # Example xplguser - nofile 64000 xplguser - nproc 20000 # Or root - nofile 64000 root - nproc 20000

IMPORTANT: After making this change, log out and then log in again from the machine so that the changes take effect, verify by getting the correct values as a result of running ulimit -n and ulimit -u' again using the same user which runs XPLG, and then restart XPLG.