a simple, powerful syslog-like event broadcast daemon
JavaScript CSS Perl Shell
Latest commit cd49e25 Dec 19, 2013 @benlemasurier Merge pull request #5 from toddtreece/master
TCP Connection Fix
Failed to load latest commit information.
example
lib removes uuid lib file (available via npm) Dec 19, 2013
test Allow socket client to select which events blode broadcasts to it Sep 19, 2011
.gitignore
COPYING
README.md
blode.js
config.js blode now uses socket.io Mar 27, 2012
http.js
package.json
udp.js

README.md

Blode is a simple, powerful syslog-like event broadcast daemon

example visualization (SparkFun MySQL queries/sec)

example visualization (SparkFun nginx/memcached/mysql)

It works like this

  +--------+  +--------+  +--------+
  |  php   |  |  ruby  |  | syslog |    <-- event sources
  +--------+  +--------+  +--------+
       \           |          /
        \          |         /        
         \         |        /        
          \        |       /         
        +--------------------+          
        |    blode server    |          <-- event listener/broadcaster
        +--------------------+
                   |
                  / \
                 /   \
                /     \
               /       \
              /         \
      +---------+     +----------+
      | browser |     | database |       <-- event stream clients
      +---------+     +----------+

Events are pushed from any source via tcp/udp/http to the blode listener. Any event received by blode is then pushed out to any listening clients. Clients can obverve the broadcast via a websocket, tcp, or udp connection.

Requirements

node.js >= 0.4.12

npm curl http://npmjs.org/install.sh | sudo sh

Installation

git clone git://github.com/benlemasurier/blode.git
cd blode
sudo npm install socket.io

start blode daemon

$ nohup NODE_ENV=production node blode.js &

start logging test events

$ cd test
$ ./ping

listen to events

# (from another terminal)
$ cd ~/blode/test
$ ./example_netcat_client.sh