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 with the same directory specification you would use to initialize or start the database:

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

When you run the command you must specify the location of the root directory for the database with the --dir or -D flag. Otherwise, the default is the current working directory. The archive file that the collect command generates is also created in your current working directory unless you use the --output flag to specify an alternate location and filename.

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 --dir=/home/db \
     --prefix=mylogs \
     --upload=ftp.mycompany.com \
     --username=babbage
     --password=charles

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.