/hapijs-status-monitor

🚀 Realtime Monitoring solution for Hapi.js apps

Primary LanguageJavaScriptMIT LicenseMIT

hapijs-status-monitor

Build Status npm Coverage Status

Simple, self-hosted module based on Socket.IO and Chart.js to report realtime server metrics for hapi.js servers.

Inspired from express-status-monitor

screenshot

Installation & setup

Install package

npm install hapijs-status-monitor --save

Register plugin

await server.register({ plugin: require('hapijs-status-monitor') });

Run server and go to /status

Run examples

  1. Go to cd examples/
  2. Run npm i
  3. Run server npm start
  4. Go to http://localhost:8000/status

Options

Monitor can be configured by passing options object into server register method

await server.register({
  plugin: require('hapijs-status-monitor'),
  options: {
    title: 'My Status Monitor',
    routeConfig: {
      auth: false
    }
  }
});

Default options:

title: 'hapi.js Status',
path: '/status', // Path to Status Page
base: '/', // href attribute of the base html tag 
websocket: null, // The Socket.io instance to be used, if none provided a new one will be created!
spans: [{
  interval: 1,     // Every second
  retention: 60    // Keep 60 datapoints in memory
}, {
  interval: 5,     // Every 5 seconds
  retention: 60
}, {
  interval: 15,    // Every 15 seconds
  retention: 60
}],
routeConfig: {}  // Route options, see https://github.com/hapijs/hapi/blob/master/API.md#route-options

Contributors

Thanks goes to these wonderful people (emoji key):


z i λ a s a l

💻 ⚠️ 📖

Daniel Bayerlein

💻 ⚠️ 📖

This project follows the all-contributors specification. Contributions of any kind welcome!

License

Copyright (c) 2016-present @ziyasal & @danielbayerlein. See LICENSE for details.