Skip to content

Schibsted-Tech-Polska/heroin-js-librato

Repository files navigation

HeroIn plugin for Librato

Build Status

Adding addon to HeroIn

var configurator = heroin(process.env.HEROKU_API_TOKEN);
configurator.addPlugin(require('heroin-js-librato').plugin);
var test = {
    name: 'my-heroku-app',
    addons: {
        librato: {plan: 'librato:nickel', alerts: require('./alerts') },
    }
};

Inside alerts.js

var alerts = [{
    name: 'myapp.status5xx.high',
    description: null,
    conditions: [{
        type: 'above',
        metric_name: 'router.status.5xx',
        source: null,
        threshold: 40,
        duration: 600,
        summary_function: 'sum'
    }],
    services: [{
        type: 'slack',
        settings: {url: 'https://hooks.slack.com/services/xyz'},
        title: 'my-chat:#myapp-alerts'
    }],
    attributes: null,
    active: true,
    version: 2,
    rearm_seconds: 1800,
    rearm_per_signal: false
}];
module.exports = alerts;

Notes

Only paid librato account allows for alert configuration.

If you leave out alerts key in the addon config it won't delete existing alerts.

var test = {
    name: 'my-heroku-app',
    addons: {
        librato: { plan: 'librato:nickel' },
    }
};

If you set alerts to empty array it will delete existing alerts.

var test = {
    name: 'my-heroku-app',
    addons: {
        librato: { plan: 'librato:nickel', alerts: [] },
    }
};

Alerts format matches librato API https://www.librato.com/docs/api/#alerts and https://www.librato.com/docs/api/#services.

You don't need to deal with service IDs as this plugin handles them on your behalf. All you need to do is specify notification service settings.

About

librato extensions for heroin-js

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •