@telegraph-notify/telegraph-dashboard v1.0.0
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-dashboardThis will create a subdirectory named telegraph-dashboard. Navigate to this directoy and run:
$ npm installTo initialize the dashboard server, a .env file must be created with the following information:
| Key | Value |
|---|---|
| VITE_HTTP_GATEWAY | URL of the HTTP API Gateway. This is output by Telegraph CLI after depolyment. |
| VITE_API_KEY | The 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 prodThe 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.
| Lambda | Logs |
|---|---|
sendEmail | Email sent.Email could not be sent: SES failure.Error sending email. |
sendSlack | Slack notification sent.Slack notification could not be sent.Error sending slack notification. |
dynamoLogger | Notification request received.Notification not sent - channel disabled by user. |
sendInitialData | In-app notification sent. |
updateNotification | In-app notification read.In-app notification deleted. |
websocketBroadcast | In-app notification sent.In-app notification queued for sending.In-app notification unable to be broadcast. |
1 year ago