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:
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
or1
Coredumps
or2
EXAStorage metadata
or3
0
= collect all debug informationDefault: 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 specifyingAll 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
or1
SQL processes
or2
Server processes
or3
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
or1
EXASolution SQL processes
or2
EXAClusterOS processes
or3
ETL JDBC Jobs
or4
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:
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.
-
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:
-
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: