Monitoring a Live Streaming Workflow with Amazon CloudWatch
SPL-218 - Version 1.0.1
© 2020 Amazon Web Services, Inc. and its affiliates. All rights reserved. This work may not be reproduced or redistributed, in whole or in part, without prior written permission from Amazon Web Services, Inc. Commercial copying, lending, or selling is prohibited.
Errors or corrections? Email us at email@example.com.
Other questions? Contact us at https://aws.amazon.com/contact-us/aws-training/
An important part of any video workflow is being able to monitor the status and health of the software services and their tasks in order to detect and correct problems before they jeopardize the workflow. This is especially true when streaming live video where there are no “do-overs” and the cost of an issue or outage can be huge in terms of revenue, fines or damage to reputation.
In this lab you will use Amazon CloudWatch to monitor certain aspects of a live streaming video workflow.
During the lab setup, an AWS CloudFormation template will create a live streaming workflow, depicted below.
1 AWS CloudFormation creates an AWS Elemental MediaLive channel, which takes a high-resolution input stream.
2 MediaLive compresses that input into multiple lower-resolution versions that are suitable for streaming over the internet.
3 MediaLive feeds into AWS Elemental MediaPackage, which will temporarily cache the video and then package it and serve it up to viewers upon request.
4 You will then configure Amazon CloudWatch to monitor the workflow at key points.
Note In actual practice, to serve hundreds, thousands, or millions of simultaneous viewers, the packaged video streams need to be fanned out through large distribution networks. This is called the content delivery network (CDN), such as Amazon CloudFront CDN. To save time, for the purposes of this lab, you will not be creating a CloudFront distribution.
For information on how to manually build a live streaming workflow, complete the self-paced lab "Building a Live Video Channel with MediaLive, MediaPackage and Amazon CloudFront (SPL-207)."
Key Metrics to Measure in a Live Workflow
The following are examples of key metrics to monitor in a live streaming workflow.
Changes in the status of a MediaLive channel: In some workflows, channels run for very long durations (even 24x7), and it is important to know if one of these had been inadvertently stopped. Status states include starting, running, stopping, and idle.
Issues or potential issues in a channel: MediaLive generates alerts when certain conditions occur in a channel, including loss of video input, loss of audio input, and output below realtime, among others. It would be vital to know if any one of these occurs as early as possible.
Input to MediaLive: For the AWS Media Services, this is the beginning of the workflow and it is vital to flag any disruptions or failures at the input stage as early as possible.
MediaLive output to MediaPackage: It is important to get warnings of changes (such as drops in MediaLive output) so you can intervene before it's too late.
Input to MediaPackage (referred to as ingress): It isn’t sufficient only to monitor MediaLive’s output—you also need to verify that MediaPackage is actually receiving an input, and at what rate.
MediaPackage output (referred to as egress): This is another vital area to monitor—it is the stage where the AWS Media Services pass the content to the next downstream system such as a CDN.
By the end of this lab, you will be able to:
- Create notifications based on MediaLive alerts and channel status changes
- Create metrics to measure MediaLive input and output
- Create metrics to measure MediaPackage input and output
- Build a dashboard to view those metrics
- Manipulate the workflow and observe the results in CloudWatch
Technical Knowledge Prerequisites
This lab is built upon a live streaming workflow that was created in the Building a Live Video Channel with MediaLive, MediaPackage and Amazon CloudFront self-paced lab (SPL-207).
To successfully complete this lab, you should be familiar with the basic procedures of building a live streaming workflow using AWS Elemental Media Services, including:
- Connecting a MediaLive input to a MediaLive channel
- Configuring a MediaLive channel
- Configuring a MediaPackage channel
- Playing video from a MediaPackage channel
You should also be familiar with the basic navigation of the AWS Management Console.
- At the top of your screen, launch your lab by clicking
This will start the process of provisioning your lab resources. An estimated amount of time to provision your lab resources will be displayed. You must wait for your resources to be provisioned before continuing.
If you are prompted for a token, use the one distributed to you (or credits you have purchased).
Open your lab by clicking
This will open an AWS Management Console sign-in page.
On the Sign-in page, configure:
- IAM user name:
- Password: Paste the value of Password located to the left of these instructions.
Please do not change the Region unless instructed.
Common login errors
Error: You must first log out
If you see the message, You must first log out before logging into a different AWS account:
- Click click here
- Close your browser tab to return to your initial Qwiklabs window
- Click again
Join Qwiklabs to read the rest of this lab...and more!
- Get temporary access to the Amazon Web Services Console.
- Over 200 labs from beginner to advanced levels.
- Bite-sized so you can learn at your own pace.