Cronologue ========== cronologue is a cron logger i.e. a wrapper that executes a command, capturing any stdout and stderr streams produced, and logging a job record and these output streams back to a central log server. Job records and output files are recorded as plain text files, and pushed to an apache web server via HTTP PUT. The following items are captured: - hostname the script ran on - username the script ran as - time started - time finished - job duration - return code - command line - stdout stream (if any) - stderr stream (if any) The cronologue client is written in perl, and requires the following perl modules: - Config::Tiny - Digest::MD5 - Time::Piece - IPC::Run3 - LWP::UserAgent The cronologue server uses apache with mod_dav for recording job records and output streams as text files. Cronologue also includes a web gui built using blosxom (included), which requires apache mod_cgi. Installation ------------ RPM packages for CentOS/RHEL5 are available from my yum repository. See http://www.openfusion.net/linux/openfusion_rpm_repository for details. Otherwise ... Client: - run 'perl -c cronologue' to check you have all the required perl modules - copy 'cronologue' to somewhere in your path - if you want to use the 'cronologue.conf' file (which currently only sets 'cronologue_server' to something other than 'localhost'), copy it to /etc/cronologue.conf Server: - edit server/config/apache.conf and adjust Allow directives - copy server/config/apache.conf to your apache conf.d directory - create a /var/www/cronologue directory - copy the contents of the server directory to /var/www/cronologue e.g. sudo cp -r server/* /var/www/cronologue - check that mod_cgi and mod_dav are enabled in your apache config - restart apache - go to http://yourhost.example.com/cronologue Test using: 'cronologue echo "Hello World"'. This should succeed, and you should get a job record showing up on the web interface (and a file in /var/www/cronologue/data/<hostname>). Acknowledgements ---------------- cronologue is inspired by Vladimir Vuksan's cronologger (https://github.com/vvuksan/cronologger), which uses couch db to store job records, and a simple php web interface. Author ------ Copyright 2010 Gavin Carr <firstname.lastname@example.org>. Licence ------- Cronologue is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.