Working with Greenplum Chorus Log Files

Log levels

Depending on the log level set in chorus.properties, the volume of the log files can vary drastically. Supported log levels are:

• debug

• info

• warn

• error

• fatal

production.log

The rails production.log file is stored in: <chorus-root>/shared/log/production.log

This log contains information on requests sent to the Chorus webserver and various debugging information. For example: server errors, file not found, permission denied, and others.

worker.production.log

The rails worker.production.log file is stored in: <chorus-root>/shared/log/worker.production.log

It contains logs for the background worker threads that Chorus uses to perform various asynchronous tasks like database imports, checking instance statuses, etc.

scheduler.production.log

The rails scheduler.production.log file is stored in: <chorus-root>/shared/log/scheduler.production.log

It contains information about jobs that the scheduler issues to different background workers. This will mainly show that a task was scheduled. See the worker.production.log for more detailed information about what happened during execution of a task.

solr-production.log

The rails solr-production.log file is stored in: <chorus-root>/shared/log/solr-production.log

It contains information about solr search queries issued against Chorus. 

nginx

nginx maintains access.log and error.log files in <chorus-root>/shared/log/nginx

syslog

As an alternative to the log files listed above, all logs can be combined in one file by using syslog as the logger.

To turn on syslog as the logger, put logging.syslog = true in <chorus>/shared/chorus.properties.

Logrotate

You can use the Linux command logrotate to rotate your log files and prevent accumulation. By running logrotate your_logrotate.conf from a cron job, you

can make sure the logs get rotated at preset intervals.

Here is an example of a your_logrotate.conf configuration file that rotates all the important Chorus log files:

daily

rotate 4

copytruncate

size 10M

<chorus>/shared/log/production.log {

}

<chorus>/shared/log/nginx/access.log {

}

<chorus>/shared/log/nginx/error.log {

}

<chorus>/shared/log/solr-production.log {

}

<chorus>/shared/log/worker.production.log {

}

<chorus>/shared/log/scheduler.production.log {

}

See the logrotate manual page for more details on the features of logrotate: http://linuxcommand.org/man_pages/logrotate8.html.

Note: If you use syslog, you don't need to rotate your logs manually—syslog rotates the log files for you.