Important: DevOps Monitoring Dashboard on AWS will retire on December 3, 2024. You can explore other alternatives offered by AWS Partners, such as Datadog’s CI Visibility which provides a monitoring dashboard for AWS CodePipeline.
Overview
This solution automates the process of ingesting, analyzing, and visualizing continuous integration/continuous delivery (CI/CD) metrics. These metrics are displayed in Amazon QuickSight dashboards to help DevOps leaders measure the impact of their DevOps initiatives and make data-driven decisions to drive continuous improvement in their development teams.
Benefits
Automate ingestion and analysis of streaming data containing performance and operational metrics in your CI/CD pipeline in near real-time. Calculate key DevOps metrics to track and measure the activities of your development teams.
Automate the launch of pre-built Amazon QuickSight dashboards to visualize the solution's analyses. Identify insights into your CI/CD activities to better understand your DevOps initiatives and make data-driven decisions to drive continuous improvement in your software delivery process.
You can customize this solution to use third-party business intelligence (BI) tools so you can build customized visualizations from the Amazon Athena database.
Stream data from multiple AWS accounts and AWS Regions into a central Amazon Simple Storage Service (Amazon S3) bucket where data is analyzed and monitored using a single dashboard.
Technical details
You can automatically deploy this architecture using the implementation guide.
Step 1
A developer initiates an activity in an AWS CI/CD pipeline, such as pushing a code change to AWS CodeCommit or deploying an application using AWS CodeDeploy. These activities create events. If a multi-account multi-region feature is activated, the events can be generated from multiple AWS accounts and multiple AWS Regions. For development using GitHub repository, git push events are generated.
Step 2
An Amazon EventBridge events rule detects the events based on predefined event patterns and then sends the event data to an Amazon Kinesis Data Firehose delivery stream. One event rule is created per event source.
For activities in AWS CodeBuild, an Amazon CloudWatch metric stream is set up to capture CloudWatch metrics and deliver them to a Kinesis Data Firehose delivery stream. For GitHub push events, an Amazon API Gateway endpoint is created to post these events and deliver them to a Kinesis Data Firehose delivery stream.
Step 3
An EventBridge events rule is also created to capture events from a CloudWatch alarm that monitors the status of CloudWatch synthetics canary or Amazon CodePipeline, if you have set up the alarm for the canary or pipeline respectively in your account. This alarm is needed to gather data for calculating Mean Time to Recovery (MTTR) metrics.
Step 4
Kinesis Data Firehose uses an AWS Lambda function for data transformation. The Lambda function extracts relevant data to each metric and sends it to an Amazon Simple Storage Service (Amazon S3) bucket in the monitoring account for downstream processing.
Step 5
The data in Amazon Simple Storage Service (Amazon S3) is linked to an Amazon Athena database, which runs queries against this data and returns query results to Amazon QuickSight.
Step 6
QuickSight obtains the query results and builds dashboard visualizations for your management team.
- Publish Date
“Mphasis is a leading applied technology services company which enables enterprises to accelerate their digital transformation journey. By using DevOps Monitoring Dashboard alongside other AWS solutions, we were able to decrease time between ideation and deployment by 30%. We’re able to automate the setup process of collecting and visualizing our DevOps operational metrics which has allowed us to easily make smarter decisions and pinpoint where improvements can be made across our deployment teams.”
Related content
In this blog post, we show you how you can save time and effort using AWS DevOps Monitoring Dashboard solution to automate the setup process to collect and visualize DevOps metrics. This solution is a reference implementation that makes it easier for organizations of all sizes to collect, analyze, and visualize key operational metrics in their software delivery process.