EXAsupport

This article explains how to access and use the EXAsupport tool in Exasol.

If you have an issue with your Exasol system, our Support team will require logs and other information from your system to be able to troubleshoot and resolve your issue. EXAsupport is a command-line tool that you can use to collect logs from Exasol systems. For more information about the different types of logs, see Log Files for Support.

To get help from our Support team, create a case.

Access EXAsupport

EXAsupport is available on all nodes in an Exasol deployment. To access EXAsupport you must first connect to Exasol Cluster OS (COS) in the deployment using Exasol Deployment Tool (c4).

To connect to COS, use c4 connect -t <DEPLOYMENT>[.<NODE>]/cos. For example:

./c4 connect -t 1/cos

For more information about how to use c4 connect, see How to use c4.

Once you are connected to COS, use exasupport -h to view the EXAsupport help.

The user executing the EXAsupport commands is the user who is currently logged into the node, which is typically root. There are no extra authentication steps when using EXAsupport in this way.

Command options

The following list describes all the options for the exasupport command and the default behavior if an option is omitted. For an example of how to use the command with options, see Example.

You can enter command options in long or short format. The following list describes the syntax for both formats.

Some options accept values in both string and numeric format. Option values in string format are case sensitive.

--help, -h

Lists the options, definitions, and syntax of the exasupport command.

--debug-info=<DEBUGINFO>, d <DEBUGINFO>

Comma-separated list of the types of debug information to collect. Accepts the following strings or integers:

EXAClusterOS logs or 1

Coredumps or 2

EXAStorage metadata or 3

0 = collect all debug information

Default: No information is collected.

Examples: --debug-info=Coredumps or -d 2

--start-time=<YYYY-MM-DD [HH:MM]>, -s <YYYY-MM-DD [HH:MM]>

Logs older than --start-time will not be collected.

Default: Logs of any age are collected.

Example: --start-time=2024-03-30 [18:00] or -s 2024-03-30 [18:00]

--stop-time=<YYYY-MM-DD [HH:MM]>, -t <YYYY-MM-DD [HH:MM]>

Logs more recent than --stop-time will not be collected.

Default: Logs up to the present time are collected.

Example: --stop-time=2024-11-20 [18:00] or -t 2024-11-20 [18:00]

--exasolution=<EXASOLUTIONLOGS>, -e <EXASOLUTIONLOGS>

Comma-separated list of Exasol systems to collect logs from.

Default: Logs specified in --exasolution-log-type will be collected from all Exasol systems. This is the same as specifying All databases.

Example: --exasolution=database1,database2,database3 or -e database1,database2,database3

--exasolution-log-type=<EXASOLUTION_LOG_TYPE>, -x <EXASOLUTION_LOG_TYPE>

The type of logs to collect. Accepts the following integers or strings:

All or 1

SQL processes or 2

Server processes or 3

Default: No logs are collected, except logs from sessions defined in --session.

Example: --exasolution-log-type=Server processes or -x 3

--session=<SESSION>, -i <SESSION>

The sessions from which to collect logs in addition to the other logs. Multiple sessions are defined by repeating the option.

Default: No additional session logs are collected.

Example: --session=1 --session=2 --session=3 or -i 1 -i 2 -i 3

--backtraces=<BACKTRACES>, -b <BACKTRACES>

Defines process backtraces to collect. Accepts the following integers or strings:

EXASolution server processes or 1

EXASolution SQL processes or 2

EXAClusterOS processes or 3

ETL JDBC Jobs or 4

Default: Backtraces are not collected.

Example: --backtraces=EXAClusterOS processes or -b 3

--nodes=<NODES>, -n <NODES>

Comma-separated list of node IDs to include when collecting logs.

Default: All online nodes will be included.

Example: --nodes=n11,n12,n13 or -n n11,n12,n13

--only-archives, -a

When this option is included, only rotated logs are downloaded.

Default: Both rotated and non-rotated logs are downloaded.

--estimate, -m

When this option is included, the uncompressed size of the debug information is caclulated, but the logs are not collected (dry run).

See also Check free disk space.

Default: Logs are collected

--outfile=<OUTFILE>, -o <OUTFILE>

Path to a local file, or a file on a remote volume, that the output should be written to.

Format: [<remote volume name>,]<path in volume>

Default: /exa/tmp/support/exacluster_debuginfo_[TIMESTAMP].tar.gz

Example

This command will retrieve all SQL logs that have been generated on the database MY_DATABASE from 2024-06-15 up to the present time, and then write the result to the local file my_log.tar.gz in the current working directory:

exasupport -e MY_DATABASE -x 2 -s 2024-06-15 -o ./my_log.tar.gz

Check free disk space

Logs can become very large. Before you generate a log, determine the estimated size of the log and make sure that you have enough free disk space on the node to store it.

  1. To estimate the size of the logs to be collected, add the option -m at the end of the EXAsupport command. EXAsupport will then calculate the total (uncompressed) size of all the files that will be compressed into the log archive.

    If the logs to be collected are mainly rotated and archived logs, the estimated size will be close to actual archive size. If logs for the present day are requested, the actual archive size may differ more from the estimate.

    For example:

    exasupport -x 2 -m
    12.34 MiB
  2. To check the available free disk space on the node that will store the logs, use the shell command df (disk free) with the option -h (human readable). For example:

    df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/nvme1n1     98G   24G   70G  26% /
    /dev/root        20G  1.8G   18G   9% /var/log/host
    tmpfs           372M  872K  371M   1% /run/lvm
    none             64M     0   64M   0% /dev
    none            1.9G     0  1.9G   0% /dev/shm
    none            1.9G     0  1.9G   0% /tmp