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;
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.