Skip to content

A cron logger for recording cron jobs and output back to a central server

License

Notifications You must be signed in to change notification settings

gavincarr/cronologue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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 <gavin@openfusion.net>.


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/>.

About

A cron logger for recording cron jobs and output back to a central server

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published