7.3. Collecting the Log Files

Documentation

VoltDB Home » Documentation » Administrator's Guide

7.3. Collecting the Log Files

VoltDB includes a utility that collects all of the pertinent logs for a given server. The log collector retrieves the necessary system and process files from the server, creates a compressed archive file and, optionally, uploads it via SFTP to a support site. For customers requesting support from VoltDB, your support contact will often provide instructions on how and when to use the log collector and where to submit the files.

Note that the database does not need to be running to use the log collector. It can find and collect the log files based solely on the location of the VoltDB root directory where the database was run.

To collect the log files, use the voltdb collect command:

$ voltdb collect --prefix=mylogs /home/db/voltdbroot

When you run the command you must specify the location of the root directory for the database as an argument to the command. For example, if you are in the same directory where the database was originally started (as specified by the --dir flag), the root directory is the subdirectory voltdbroot.

$ voltdb collect --prefix=mylogs $(pwd)/voltdbroot

The archive file that the collect command generates is created in your current working directory.

The collect command has optional arguments that let you control what data is collected, the name of the resulting archive file, as well as whether to upload the file to an FTP server. In the preceding example the --prefix flag specifies the prefix for the archive file name. If you are submitting the log files to an FTP server via SFTP, you can use the --upload, --username, and --password flags to identify the target server and account. For example:

$ voltdb collect --prefix=mylogs \
     --upload=ftp.mycompany.com \
     --username=babbage
     --password=charles  /home/db/voltdbroot

Note that the voltdb collect command collects log files for the current system only. To collect logs for all servers in a cluster, you will need to issue the voltdb collect command locally on each server separately. See the voltdb collect documentation in the Using VoltDB manual for details.