a very alert panda alerting humans and bots
A simple utility to send Slack alerts for application monitoring.
npm install --save alertpanda
- node.js
>=8.9.0
const alertpanda = require('alertpanda');
alertpanda.info('The force is strong with this one.');
alertpanda.error('And...here...we...go...', new Error('Introduce a little anarchy...'));
Send info message
Send error message
{
fields = [
{
name: '',
value: ''
}
]
}
To add context, and breadcrumbs to describe the message
Add .alertpandarc
file to your application directory. Supports a JSON or YAML, JS configuration file.
Prop | Type | Description | Default |
---|---|---|---|
project | string | Name of the project | name property value from package.json |
slackWebhook | string | Required. Slack webhook URL | |
tools | Array | Array of tools with name and link, for example Kibana, Newrelic; for adding context to error alerts | [] |
tools[].name | string | Required. Name of the tool | |
tools[].link | string | Required. URL of the tool |
{
project: 'mystery',
slackWebhook: 'https://hooks.slack.com/.....',
tools: [
{ name: 'Kibana', link: 'https://...' },
{ name: 'Newrelic', link: 'https://...' }
]
}
Use .alertpandarc.js
JS config file, to set configs from environment variables
module.exports = {
project: process.env.APP_NAME,
slackWebhook: process.env.SLACK_WEBHOOK
}
const error = new Error('Something went wrong in batch to send birthday emails :(');
const fields = [
{
name: 'Batch Id',
value: '9415a1af-f263-44aa-a9a5-90c65a3213ae'
},
{
name: 'Email template Id',
value: 'a97e6ea8-9fb2-4aaa-88f0-3dade2bbfa0f'
},
{
name: 'Size',
value: '200',
},
{
name: 'Worker started at',
value: '2020-04-05T15:15:11.620Z',
}
]
alertpanda.error('Failure in sending emails', fields, error);
const fields = [
{
name: 'Batch Id',
value: '9415a1af-f263-44aa-a9a5-90c65a3213ae'
},
{
name: 'Started At',
value: '2020-04-05T15:15:11.620Z',
},
{
name: 'Time taken',
value: '200s',
},
{
name: 'Emails sent',
value: '450',
},
]
alertpanda.info('Batch job completed to send reminder emails for renewal', fields);