1.0.0 • Published 3 years ago

alertpanda v1.0.0

Weekly downloads
8
License
MIT
Repository
github
Last release
3 years ago

alertpanda

build status code coverage npm version

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.

PropTypeDescriptionDefault
projectstringName of the projectname property value from package.json
slackWebhookstringRequired. Slack webhook URL
toolsArrayArray of tools with name and link, for example Kibana, Newrelic; for adding context to error alerts[]
tools[].namestringRequired. Name of the tool
tools[].linkstringRequired. 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);
1.0.0

3 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago