monitoring dashboard

View Repository

An image of the application homepage

What it is

The project goal was to create an operational dashboard which monitored specific cloud microservices. In this project, Grafana was used to create dashboards to visualize & monitor project metrics. The microservices for the previous portfolio project work is used as the data sources for monitoring.

How it's built

An AWS EC2 Linux instance, hosts the Grafana application and several other small packages to enable monitoring. Metrics & log providers such as AWS Cloudwatch, are configured as data sources which are then queried by Grafana. A reverse proxy & application load balancer are used to route traffic. DNS service is provided by Route 53.

Dashboard

An image of the dashboard

The dashboard itself is designed to visualize the metrics in an easy to understand panel. The dashboard begins with a summary of CPU metrics, including utilization and billing information, followed by network data such as inbound & outbound traffic insights. Then, database metrics such as available storage, RAM and read/write latency are visible. Lambda logs provided by AWS Cloudwatch allow insight into the various serverless functions used across services.

Finally, Github metrics are available to provide insight into current activity such as issues, pull requests and contributors.

An image of the dashboard

Technologies

Lessons learned

  • Keep things manageable; don't overcomplicate things. This was a big lesson because I wasted a lot of time trying to automate deployment. I lost sight of the essence of the project by overcomplicating and nerding out.