EXAsupport

This section explains how to access and use EXAsupport.

In case you have an issue with Exasol, our Support team can help you resolve it. To make it possible for the Support team to investigate and troubleshoot your issue, you need to provide log files from your system. EXAsupport is a command-line tool that is used to collect logs on Exasol systems.

For additional information about how to gather information for Support and create 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 connect to Exasol Cluster OS (COS) on 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.

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

exasupport -h
usage: exasupport [-h] [-d DEBUG_INFO] [-e EXASOLUTION] [-x EXASOLUTION_LOG_TYPE] [-b BACKTRACES] [-i SESSION] [-n NODES] [-a] [-m] [-o OUTFILE] [-s START_TIME] [-t STOP_TIME]
...

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.

EXAsupport options

You an add options to the exasupport command using either full (long) or short format. This table describes all the available command options and the default behavior if the option is not included.

Option (long and short format) Description
--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 integers or strings:

1 or EXAClusterOS logs

2 or Coredumps

3 or EXAStorage metadata

0 = collect all debug information

Default (option not included):

No debug information will be collected.

--start-time=YYYY-MM-DD [HH:MM]

-s YYYY-MM-DD [HH:MM]

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

Default (option not included):

Logs of any age will be collected.

--stop-time=YYYY-MM-DD [HH:MM]

-t YYYY-MM-DD [HH:MM]

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

Default (option not included):

Logs up to the present time will be collected

--exasolution=EXASOLUTIONLOGS

-e EXASOLUTIONLOGS

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

All databases or option not included = all systems

Default (option not included):

Logs specified in --exasolution-log-type will be collected from all Exasol systems

--exasolution-log-type=EXASOLUTION_LOG_TYPE

-x EXASOLUTION_LOG_TYPE

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

1 or All

2 or SQL processes

3 or Server processes

Default (option not included):

No logs will be collected, except logs from sessions defined in --session.

--session=SESSION

-i SESSION

Sessions from which to collect logs in addition to the other logs. Multiple sessions can be defined by repeating the option. For example:

-i 1 -i 2 -i 3

Default (option not included):

No additional session logs will be collected.

--backtraces=BACKTRACES

-b BACKTRACES

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

1 or EXASolution server processes

2 or EXASolution SQL processes

3 or EXAClusterOS processes

4 or ETL JDBC Jobs

Default (option not included):

Backtraces will not be collected.

--nodes=NODES

-n NODES

Comma-separated list of node IDs. For example:

-n n11,n12,n13

Default (option not included):

All online nodes will be included.

--only-archives

-a

Only download rotated logs.

Default (option not included):

Download both rotated and non-rotated logs.

--estimate

-m

Estimate the uncompressed size of the debug information, but do not collect any logs (dry run).

Default (option not included):

Log collection will run.

--outfile=OUTFILE

-o OUTFILE

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

<remote volume name>,<path in volume>

Default (option not included):

The default output file is:

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

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

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.

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 that will be collected, add the option -m at the end of the EXAsupport command that you want to run. EXAsupport will then calculate the total (uncompressed) size of all the files that will be compressed into the log archive.

    If the logs to collect are mostly rotated and archived logs for previous days, the estimated value will be close to the final log archive size. If logs for the current day are requested, the returned value only gives an upper bound.

    For example:

    exasupport -x 2 -m
    12.34 MB
  2. To check the available free disk space on the node that will store the logs, run the 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