This project utilizes AWS Managed Grafana and Kinesis Firehose to create a dashboard that visualizes ad performance data powered by Datazoom and MediaTailor. Datazoom collects and processes ad performance data directly from client-side video players and sends it to Kinesis Firehose for further processing. Kinesis Firehose then delivers the data to Amazon S3, where it is stored and made available to AWS Glue for data cataloging and querying using Amazon Athena. The data is then visualized in AWS Managed Grafana.
Datazoom collects and processes video playback and ad performance data directly from client-side video players and sends it to Kinesis Firehose. Kinesis Firehose then delivers the data to Amazon S3, where it is cataloged using AWS Glue and made available for querying using Amazon Athena. The data is visualized in AWS Managed Grafana for real-time insights.
Before deploying the stack, ensure you have:
- AWS SAM CLI installed. (Installation Guide)
- Configured AWS credentials with the necessary permissions.
- Clone this repository and navigate to the root directory.
- Run the deployment script:
$ sam build $ sam deploy
- The stack will be deployed to your AWS account.
- Go to the IAM service in the AWS console.
- Find the IAM user named:
${AWS::StackName}-firehose-user-access
- Generate an Access Key for this user.
- Save the Access Key ID and Secret Access Key.
- Navigate to the AWS Managed Grafana service page.
- Add the users who need access to the dashboard.
- They can be Admin, Editor or Viewer
- In Datazoom, create a Kinesis Connector.
- Put the name of your Kinesis Firehose Delivery Stream:
PUT-S3-${AWS::StackName}
- Select your region.
- Put the Access Key and Secret Access Key from the previous step.
Note
If you do not already have a Datazoom collector, you can follow this example to deploy a MediaTailor channel and a VideoJS player that sends metrics to Datazoom.
- In Datazoom, select the collector of your choice, can be Video.JS.
- If you're using any ADS (Ad decision server), please select Player Default in the Ad Framework section.
- Then, in the integration section, you can copy your
configuration_id
. You'll need it to setup the SDK and be able to collect data.
- In Datazoom, you can create a new data pipe.
- Select the collector of your choice on the left and the connector on right.
- Save and you should be able to collect data now.
- Ensure that the Datazoom SDK is properly configured to send metadata to Kinesis.
- If you encounter issues, check CloudFormation stack logs for debugging.
- The Grafana dashboard is pre-configured but can be customized further as needed.
Copyright 2025 TrackIt
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at LICENSE.md
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.