gmetric

Ganglia gmetric submission for node.js

node-gmetric

  • Module Name : gmetric
  • Website : https://github.com/jbuchbinder/node-gmetric

Gmetric packet submission for node.js

var Gmetric = require('gmetric');
 
var gmetric = new Gmetric();
var metric = {
  hostname: 'awesomehost.mydomain.com',
  group: 'testgroup',
  units: 'widgets/sec',
  slope: 'positive',
 
  name: 'bestmetric',
  value: 10,
  type: 'int32'
};
 
gmetric.send('127.0.0.1', 8649, metric);
var Gmetric = require('gmetric');
 
var gmetric = new Gmetric();
var metric = {
  hostname: '192.168.20.15:awesomehost.mydomain.com',
  group: 'testgroup',
  spoof: true,
  units: 'widgets/sec',
  slope: 'positive',
 
  name: 'bestmetric',
  value: 10,
  type: 'int32'
};
 
gmetric.send('127.0.0.1', 8649, metric);
var util = require('util'),
    dgram = require('dgram'),
    server = dgram.createSocket('udp4');
 
var Gmetric = require('gmetric'),
    gmetric = new Gmetric();
 
server.on('message', function(msgrinfo) {
  var msg_type = msg.readInt32BE(0);
  if(msg_type === 128){
    var meta = gmetric.unpack(msg);
    console.log('Received Meta Packet:');
    console.log(util.inspect(meta) + "\n");
  } else if (msg_type === 133){
    var data = gmetric.unpack(msg);
    console.log('Received Data Packet:');
    console.log(util.inspect(data) + "\n");
  }
});
 
server.on('listening', function(){
  console.log('Gmetric server listening...');
});
 
server.bind(8649);