Skip to content

gavincarr/cronologue

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
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