Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Ruby
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
bin
etc
lib
README.md
init.debian

README.md

this is really just an experiment in getting logs off servers easily as possible.

monsoon watches named pipes in a directory and shifts whatever is put down them to a central location via TCP.

in order to try this out, you should:

1. stop all daemons on your server so that they are not producing any logs files.
   ideally, monsoon would be installed just after the machine has been provisioned.
   you could also setup an inotify hook (or similar) so that all logs are turned into
   named pipes automagically.

2. convert all your existing log files to named pipes (a script will be provided
   for this soon)

3. start up netcat (e.g. nc -k -l localhost 2000 -q 0)

4. configure monsoon (in monsoon.yaml to point at this file)

5. bin/monsoond --config etc/monsoon.yaml (start monsoon pointing at your config file)

6. start you daemons and watch as your logs hit netcat:

    {
        "time": "Sun Feb 05 14:05:41 +0000 2012",
        "message": "test message",
        "origin": {
            "route": "/var/log/dmesg",
            "hostname": "lucinda"
        }
    }

benefits?

* no messing with logrotate or arcane syslog configuration
* quick and easy way to centralise logs

todo:

* decide if this is a good idea or not in the first place
* make log formatting pluggable
* add stomp or http output (so that logs are posted to an api that stores them
  behind the schemes)
* add routing of logs to different locations/plugins etc
* cleanup/error handling etc
Something went wrong with that request. Please try again.