a simple, powerful syslog-like event broadcast daemon
JavaScript CSS Perl Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
example
lib
test
.gitignore Cleanup Mar 21, 2012
COPYING
README.md
blode.js use config options for host and port Dec 19, 2013
config.js
http.js blode now uses socket.io Mar 27, 2012
package.json
udp.js fixes tcp connection issue Dec 19, 2013

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