ramous / nsa

networked status aggregator sees all

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

NSA

NSA sees all, because NSA is the Networked Status Aggregator.

The idea is simple: NSA sends hartbeat messages over network sockets (currently only UDP) and the nsa-server displays running services on a web interface (and, in the future, does other stuff with them).

NSA is as simple as possible: Clients just send heartbeats and the NSA Server displays new clients on the go.

NSA Client

Install

npm install nsa

Usage

var nsa = require("nsa");

var heart = new nsa({
	server: "udp4://localhost:8888", // nsa server
	service: "example",              // service name; default: filename of main module
	node: "example",                 // name of the node; default: hostname
	interval: "10s"                  // interval between heartbeats
});

/* send a single heartbeat */
heart.beat();

/* start sending heartbeats every $interval */
heart.start();

/* stop sending heartbeats */
heart.stop();

/* tell the nsa server to stop caring about this service */
heart.end();

/* send data */
heart.send({data:"json"});

/* set defcon level */
heart.defcon(0);

Message Format

var message = [
	0,                 // message format version
	0,                 // message type (0=heartbeat,1=retire,2=data)
	0,                 // sequence number of message
	"example.service", // name of the service
	"example.host",    // name of the node
	10000,             // number of microseconds till next message
	[data]             // data (optional)
];

About

networked status aggregator sees all


Languages

Language:JavaScript 100.0%