newrelic-alerts
This package allows for the creation of newrelic alerts based on NRQL queries.
Usage
Ensure that the NEWRELIC_API_KEY
environment variable has been set before running and that the key has admin privileges. See here for info on API keys.
Create a .newrelicalerts
file in your project root (see the example file here).
Run newrelic-alerts
to generate the alert.
Config options
All config options are required.
Param | Type | Meaning |
---|---|---|
policies[] |
Array | An array of alert policies |
policies.name |
String | The name of the policy |
policies.notifcation |
Object | Details of the notification channel to associate with the policy |
policies.notification.url |
String | The url of an incoming slack web hook |
policies.notification.type |
Enum(slack ) |
The type of notification channel (slack is the only one currently supported) |
policies.notification.channel |
String | The slack channel name the policy should alert |
policies.condition |
Object | The condition that will trigger the alert |
policies.condition.description |
String | A human-friendly description of the condition |
policies.condition.threshold |
Number | The value the result of the NRQL query is compared against |
policies.condition.operator |
Enum(above , below , equal ) |
How the query result should be compared against the threshold |
policies.condition.duration |
Number | How long (in minutes) the query should meet the threshold before the alarm is triggered |
policies.condition.query |
String | A NRQL query |
.newrelicalerts
file
Example {
"policies": [
{
"name": "Gone viral!",
"notification": {
"url": "https://hooks.slack.com/services/...",
"type": "slack",
"channel": "#my-channel"
},
"condition": {
"description": "Greater than 800 page views for at least 2 minutes",
"threshold": 800,
"operator": "above",
"duration": 2,
"query": "SELECT count(*) FROM PageView"
}
}
]
}