alertpanda
v1.0.0
Published
A simple utility to send Slack alerts for application monitoring. (a very alert panda alerting humans and bots)
Downloads
7
Readme
alertpanda
a very alert panda alerting humans and bots
A simple utility to send Slack alerts for application monitoring.
Install
npm install --save alertpanda
Requirements
- node.js
>=8.9.0
Usage
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...'));
API
.info(message[, description, fields])
Send info message
.error(message[, description, fields, error])
Send error message
fields
{
fields = [
{
name: '',
value: ''
}
]
}
To add context, and breadcrumbs to describe the message
Config
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 |
Sample Config
{
project: 'mystery',
slackWebhook: 'https://hooks.slack.com/.....',
tools: [
{ name: 'Kibana', link: 'https://...' },
{ name: 'Newrelic', link: 'https://...' }
]
}
Config using environment variable
Use .alertpandarc.js
JS config file, to set configs from environment variables
module.exports = {
project: process.env.APP_NAME,
slackWebhook: process.env.SLACK_WEBHOOK
}
Examples
Error message
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);
Info message
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);