Wackamole

Observe your web applications in the wild!

DESCRIPTION:

This is a companion sinatra app for the Rackamole framework which provides for recording
interactions with your rack applications. Wackamole allows you to view, filter and drilldown 
on the collected moled information, hence allowing you to observe your
applications live in the wild...

PROJECT INFORMATION

Developer:  Fernand Galiana
Site:       http://www.rackamole.com
Twitter:    http://twitter.com/rackamole
Forum:      http://groups.google.com/group/rackamole
Git:        git://github.com/derailed/wackamole.git

FEATURES

o Self bundled sinatra app ( NEW !)
o View daily activity
o Search and filter on any info collected by the mole
o Reports performance and exceptions that might occur in your applications

DEPENDENCIES

mongo + mongo-ext
sinatra
agnostic-will_paginate
memcache-client
mongo_rack
main

INSTALL

> gem install wackamole

USAGE

IMPORTANT: You moled database naming is important here, as Wackamole is setup to snif out the moled application
databases using the prefix 'mole_'. So you must name your mole databases according to this convention. ie
mole_{app_name}_{environment}_mdb ie mole_fred_development_mdb

Configure It!

You will need to give wackamole some information about your rackamole configuration. 
In order to do so create a .wackamole directory in your home directory and create 
a file wackamole.yml. You will need to specify the envs, host and ports specific
to your configuration, but here is a sample.

wackamole.yml

  # New ! Optionally you can specify login name and password for the Wackamole web app.
  console_auth: &auth
    auth:
      user:     admin
      password: admin

  development:
    <<:   *auth    
    host:  localhost
    port:  27017

  beta:
    <<:      *auth    
    host:     beta_host_name
    port:     27017
    user:     bobo
    password: secret

Launch It!

Watch your creation live! 

NOTE: By default wackamole uses mongo_rack for storing its session information.
This assumes that you have a local mongoDB instance running on the default port 27017.

> wackamole

  Alternatively you can use a different mongo instance to store wackamole session information
  or use memcache by specifying the --pool options as follows:

  To use the mongo session store on localhost at port 27030 with db name 'wackamole' and collection named 'sessions'

  > wackamole --pool "mongo://localhost:27030/wackamole/sessions"

  To use memcache session store on localhost at port 11233 with namespace 'wackamole'

  > wackamole --pool "memcache://localhost:11233/wackamole"

  The pool options assumes the following format:

  --pool {mongo|memcache}://{host}:{port}/{db_name|namespace}/[cltn_name]

  To launch wackamole in a given environment defined in your wackamole.yml configuration.

  > wackamole -e env 

  This option defaults to production.

Please checkout the forum and send us feedback and issues. This is still work in progress so your
feedback is very important and will be very much appreciated!

LICENSE:

Copyright 2009-2010 LiquidRail LLC

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.