sensei

0.0.6 • Public • Published
                                                      _/
     _/_/_/    _/_/    _/_/_/      _/_/_/    _/_/
  _/_/      _/_/_/_/  _/    _/  _/_/      _/_/_/_/  _/
     _/_/  _/        _/    _/      _/_/  _/        _/
_/_/_/      _/_/_/  _/    _/  _/_/_/      _/_/_/  _/

About

sensei is a minimal Node.JS wrapper around the sensu-api.

Installation

It’s easy to install sensei via npm:

npm install sensei;

Usage

var sensei = require('sensei');
 
var sensu = sensei.create({
    // your sensu-api url
    url: 'http://152.12.124.37:4567'
    username: 'your sensu-api username',
    password: 'your sensu-api password'
});
 
sensu.getEvents({
    client: 'name-of-sensu-client',
    check: 'name-of-sensu-check'
}).then(function(data) {
    // Called when the API call successfully finishes.
    // `data` has all the information you need.
    console.log(data)
}, function(error) {
    // Called when an error occurs during the API call; check the `error` object.
});
 
// Since all sensei methods return a promise you can do all kinds of fancy
// things that involves promises:
 
var Q = require('q');
 
Q.all([
    sensu.getHealth({
        consumers: 2,
        messages: 4
    }),
    sensu.getInfo()
]).spread(function(isHealthy, sensuInfo) {
    console.log(isHealthy);
    console.log(sensuInfo);
}).then(function() {
    return sensu.getStashes().then(function(stashes) {
        console.log(stashes);
    })
}, function(err) {
    console.log('oops');
    console.log(err);
}).fin(function() {
    console.log('all done!');
});

sensei.create(options) is a factory method that creates a sensei instance.

options should be in the {url: url, username: username, password: password} format.

The created object has the following methods:

  • getInfo() (returns a Promise)
  • getChecks(name) (name is optional; returns a Promise)
  • getClients(options) (returns a Promise)
  • getEvents(options) (returns a Promise)
  • getHealth(options) (returns a Promise)
  • getStashes(options) (returns a Promise)

The options argument that’s passed to the methods expect attribute names, values, and data types that have been described in the sensu API.

Wanna Help?

If you find something missing, please file an issue.

If you want to contribute, see CONTRIBUTING.md.

Supported Environments

You should be able to use sensei in any platform that runs Node.JS.

Backwards Compatibility

The code is in its early alpha; and we MAY introduce breaking changes that might be backwards incompatible.

After we hit version 1.0.0, we’ll follow Semantic Versioning Standards, and only introduce breaking changes when we update the MAJOR version number.

Hint:

You can always install an older version from npm.

I’ve Found A Bug / I have an Idea!

Please file an issue.

And also you might want to see CONTRIBUTING.md.

Contact Information

License

MIT-Licensed.

See LICENSE.md.

Package Sidebar

Install

npm i sensei

Weekly Downloads

2

Version

0.0.6

License

MIT

Last publish

Collaborators

  • volkan