Skip to content

Commit

Permalink
feat(sendgrid): Add dashboard to visualize SendGrid Events
Browse files Browse the repository at this point in the history
  • Loading branch information
ktst79 committed Oct 24, 2021
1 parent 77e5d01 commit fe8108e
Show file tree
Hide file tree
Showing 4 changed files with 239 additions and 0 deletions.
38 changes: 38 additions & 0 deletions quickstarts/sendgrid/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Name of the quickstart (required)
name: sendgrid-quickstart

# Displayed in the UI (required)
title: SendGrid Events

# Long-form description of the quickstart (required)
description: |
SendGrid provides a cloud-based service that assists businesses with email delivery. This quickstart allows you to visualize status of email delivery. This requires you to send SendGrid events to New Relic someway. If you already send the events to AWS S3 by using SendGrid Event Webhook, they can be transferred to New Relic by using NewRelic-log-ingestion-s3.
# Displayed in search results and recommendations. Summarizes a quickstarts functionality.
summary: |
Visualizing SendGrid events
# Support level: New Relic | Verified | Community (required)
level: New Relic

# Authors of the quickstart (required)
authors:
- Kota Saito

# Keywords for filtering / searching criteria in the UI
keywords:
- sendgrid
- log

documentation:
- name: SendGrid Getting started with the Event Webhook
url: https://docs.sendgrid.com/for-developers/tracking-events/getting-started-event-webhook
description: Description about how to send SendGrid Events via Webhook

- name: AWS Lambda for sending logs from S3
url: https://docs.newrelic.com/jp/docs/logs/forward-logs/aws-lambda-sending-logs-s3/
description: Description about how to send logs stored in AWS S3 to New Relic

# Content / Design
logo: logo.png
website: https://sendgrid.com/
201 changes: 201 additions & 0 deletions quickstarts/sendgrid/dashboards/sendgrid-dashboard.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
{
"name": "SendGrid",
"description": null,
"permissions": "PUBLIC_READ_WRITE",
"pages": [
{
"name": "SendGrid",
"description": null,
"widgets": [
{
"visualization": {
"id": "viz.billboard"
},
"layout": {
"column": 1,
"row": 1,
"height": 2,
"width": 2
},
"title": "Delivery Events (Bounce, Dropped, Delivered)",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT count(*) as '' FROM Log WHERE sg_event_id is not null and `event` in ('bounce', 'dropped', 'delivered') "
}
],
"thresholds": []
},
"linkedEntityGuids": null
},
{
"visualization": {
"id": "viz.stacked-bar"
},
"layout": {
"column": 3,
"row": 1,
"height": 4,
"width": 4
},
"title": "Delivery Events Trend (Bounce, Dropped, Delivered)",
"rawConfiguration": {
"facet": {
"showOtherSeries": false
},
"legend": {
"enabled": true
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT count(*) FROM Log WHERE sg_event_id is not null and `event` in ('bounce', 'dropped', 'delivered') TIMESERIES FACET `event` "
}
]
},
"linkedEntityGuids": null
},
{
"visualization": {
"id": "viz.pie"
},
"layout": {
"column": 7,
"row": 1,
"height": 4,
"width": 2
},
"title": "Delivery Events Ratio (Bounce, Dropped, Delivered)",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT count(*) FROM Log WHERE sg_event_id is not null and `event` in ('bounce', 'dropped', 'delivered') FACET `event` "
}
]
},
"linkedEntityGuids": [
"MzA3NDM5N3xWSVp8REFTSEJPQVJEfDI2NjA5MzQ"
]
},
{
"visualization": {
"id": "viz.table"
},
"layout": {
"column": 9,
"row": 1,
"height": 4,
"width": 4
},
"title": "Undelivered per Email (Bounce, Dropped)",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT count(*) FROM Log where `event` in ('bounce', 'dropped') and sg_event_id is not null facet email, `event` "
}
]
},
"linkedEntityGuids": [
"MzA3NDM5N3xWSVp8REFTSEJPQVJEfDI2NjA5MzQ"
]
},
{
"visualization": {
"id": "viz.billboard"
},
"layout": {
"column": 1,
"row": 3,
"height": 2,
"width": 2
},
"title": "Bounce / Dropped Counts",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT count(*) as '' FROM Log WHERE sg_event_id is not null and `event` in ('bounce', 'dropped') "
}
],
"thresholds": [
{
"alertSeverity": "CRITICAL",
"value": 0
}
]
},
"linkedEntityGuids": null
},
{
"visualization": {
"id": "viz.table"
},
"layout": {
"column": 1,
"row": 5,
"height": 4,
"width": 5
},
"title": "All Events",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT `event`, email FROM Log where sg_event_id is not null "
}
]
},
"linkedEntityGuids": null
},
{
"visualization": {
"id": "viz.table"
},
"layout": {
"column": 6,
"row": 5,
"height": 4,
"width": 7
},
"title": "Undelivered Events (Bounce, Dropped)",
"rawConfiguration": {
"dataFormatters": [],
"facet": {
"showOtherSeries": false
},
"nrqlQueries": [
{
"accountId": 0,
"query": "SELECT event, email, reason FROM Log where `event` in ('bounce', 'dropped') and sg_event_id is not null "
}
]
},
"linkedEntityGuids": null
}
]
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added quickstarts/sendgrid/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit fe8108e

Please sign in to comment.