warcorrespondent

warcorrespondent reports to the warroom.

warcorrespondent is a tool that reports measured data in json format to a web application. At the moment the functionality is only available in a standalone binary.

Data Format

The data is subitted to the web app via POST, setting secret and data. secret is set to the string specified in the configuration file and is meant as a simple authentication method. data is a json structure and looks like this: [ { identifier:“hosts:example:users”, timestamp: 1271146141, type:“integer”, value:12 }, { identifier: “apps:example:dontations”, timestamp: 1271146141, type:“money”, unit:“EUR”, value:100 } ]

Configuration

The main configuration lies in /etc/warcorrespondent/warcorrespondent.yml by default. Example: url: localhost:3000/graphs secret: adsfdsafdsfa

The reporters are by default defined in /etc/warcorrespondent/reporters/*.rb WarCorrespondent::Reporter.new(:timeout => 300, :identifier => ‘hosts:example:users’) do count = 0 IO.popen(‘who’) do |p| count = p.readlines.size end => count, :type => “integer” end The block may either return one hash or an array of hashes.

To start/stop the daemon use: warcorrespondent start or warcorrespondent stop

Note on Patches/Pull Requests

  • Fork the project.

  • Make your feature addition or bug fix.

  • Add tests for it. This is important so I don’t break it in a future version unintentionally.

  • Commit, do not mess with rakefile, version, or history. (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)

  • Send me a pull request. Bonus points for topic branches.

Copyright © 2010 Stefan Maier. See LICENSE for details.