Home

Awesome

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):

<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
<img src="https://avatars0.githubusercontent.com/u/1651945?v=4" width="75px;"/><br /><sub>z i λ a s a l</sub><br />💻 ⚠️ 📖<img src="https://avatars2.githubusercontent.com/u/457834?v=4" width="75px;"/><br /><sub>Daniel Bayerlein</sub><br />💻 ⚠️ 📖
<!-- ALL-CONTRIBUTORS-LIST:END -->

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

License

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