rodan

API binding for the HubSpot Rodan monitoring app

rodan-node

Node Bindings for Rodan

This package is in the HubSpot npm repo under rodan.

Just requiring the package (which points to instance.coffee) will create and start rodan monitoring based on a configuration provided through the config module (see ContactEmbed/config/default.yaml):

require('rodan')

If you are using express, you can also initialize the ExpressStats module:

app = express()
 
RodanExpressStats = require('rodan/collectors/express/stats')
app.use RodanExpressStats.middleware

If you are using Unhapi, you can initialize the Rodan Unhapi stats collector:

Rodan = require('rodan')
 
Unhapi = require('unhapi')('ContactEmbed:Server'{rodan: Rodan})

A full example:

Rodan = require('rodan')
RodanExpressStats = require('rodan/collectors/express/stats')
 
Unhapi = require('unhapi')('ContactEmbed:Server'{rodan: Rodan})
 
app = express()
app.use RodanExpressStats.middleware

See ContactEmbed/server.coffee for more

Rodan Node allows you to modularily define collectors. The default collectors are:

  • System Memory
  • Load Average
  • Event Loop Lag
  • Uptime
  • Request Stats

You can write your own collector, see the provided collectors for examples.