1.0.0 • Published 1 year ago

@telegraph-notify/telegraph-dashboard v1.0.0

Weekly downloads
-
License
MIT
Repository
-
Last release
1 year ago

Telegraph Dashboard

The dashboard is a centralized location for visualizing your Telegraph service implementation and an observability tool for monitoring system health.

Features

  • View notification status and filter notification requests by recipient ID or channel.
  • View users and filter by User ID, Email, or notification preferences.
  • Visualize system activity and performance with charts displaying:
    • Successful and failed notification deliveries.
    • Notification deliveries by channel.
    • Notification failures by channel.
  • Inspect messages which failed processing and were diverted to the service's dead letter queue.

Installation

To install the dashboard, run the following command:

$ npx @telegraph-notify/telegraph-dashboard

This will create a subdirectory named telegraph-dashboard. Navigate to this directoy and run:

$ npm install

To initialize the dashboard server, a .env file must be created with the following information:

KeyValue
VITE_HTTP_GATEWAYURL of the HTTP API Gateway. This is output by Telegraph CLI after depolyment.
VITE_API_KEYThe API key to access the HTTP Gateway. This is set during Telegraph CLI initialization.

Please refer to Telegraph CLI for more information.

Usage

Running the Dashboard

The dashboard is intended to be run on localhost by a trusted entity. Run the following command to start the dashboard:

$ npm run prod

The server listens for connections on port 5173 and can be viewed from a browser at localhost:5173/.

Interpreting Notification Logs

Notification logs are generated so developers can extract metrics from Telegraph if desired and as an observability tool. When a notification failure occurs, the dashboard attaches a failure badge to the log. The following table maps logs to their lambda's so users can understand where in the system to start debugging.

LambdaLogs
sendEmailEmail sent.Email could not be sent: SES failure.Error sending email.
sendSlackSlack notification sent.Slack notification could not be sent.Error sending slack notification.
dynamoLoggerNotification request received.Notification not sent - channel disabled by user.
sendInitialDataIn-app notification sent.
updateNotificationIn-app notification read.In-app notification deleted.
websocketBroadcastIn-app notification sent.In-app notification queued for sending.In-app notification unable to be broadcast.