[アップデート] AWS Elemental MediaStore が CloudWatch Metrics をサポートしました!

AWS Elemental MediaStoreがCloudWatch Metricsをサポートしました!
2020.04.01

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、大前です。

AWS Elemental MediaStore にて CloudWatch Metrics がサポートされるアップデートがありましたので、お知らせします。

AWS Elemental MediaStore now supports CloudWatch Metrics

 

今までアクセスログの取得は可能だったのですが、メトリクスの取得は出来ませんでした。

[アップデート] AWS Elemental MediaStoreがアクセスログをサポートしました!

今回のアップデートにより、より細かな監視や CloudWatch Events と連携したアクション等も可能になりそうです!

やってみた

早速 MediaStore のメトリクスを有効にしていきたいと思います。

手順の途中で、MediaLive や MediaStore の設定が発生しますが、細かな説明は割愛します。

具体的な設定等については、以下ブログを参照ください。

OBSとAWS Elemental MediaLiveでライブ配信をしてみた

 

メトリクスを有効化する

MediaStore で CloudWatch メトリクスを使用するためには、メトリックポリシーというものを設定する必要があります。

メトリックポリシーの追加

 

MediaStore のコンソールからコンテナを選択して、

 

一番下にスクロールすると、「Metric policy」なる項目が増えていますので、ここで設定を行います。

 

AWS 公式ドキュメントにメトリックポリシーの設定例がありますので、今回は一番シンプルな以下の設定をしてみました。

Example Metric Policies

 

設定後に、ライブ配信を行ってみます。今回は以下の構成で配信を行いました。

HLS の視聴には、VideoJS HLS を使用しました。

 

配信を開始して少し待つと、CloudWatch Metrics の画面に MediaStore の項目が追加されました!

 

「by Container」と「by Account」があるので、コンテナ単位だけでなく、アカウント全体としてのメトリクスも確認できる様です。

 

GetRequests と PutRequests を表示してみました。

「MediaStoreに対するリクエスト」のメトリクスなので、エンドユーザからの取得だけではなく、MediaLive からのファイル書き込みもメトリクスで確認できます。

PutRequests の数が一定になるのはライブ配信特有っぽくて面白いです。この値が急に下がったらアラートを発する、なども良さそうですね。

 

その他、取得できるメトリクス一覧は以下となります。

Monitoring AWS Elemental MediaStore with Amazon CloudWatch Metrics

メトリック 説明文
RequestCount HTTPの総数がメディアストアコンテナへの要求、操作タイプによって分離(Put、 GetDelete、 DescribeList)。

単位:カウント

有効な寸法:

  • コンテナ名
  • オブジェクトグループ名
  • リクエストの種類

有効な統計:合計

4xxErrorCount MediaStoreに対して行われた4xxエラーの原因となったHTTP要求の数。

単位:カウント

有効な寸法:

  • コンテナ名
  • オブジェクトグループ名
  • リクエストの種類

有効な統計:合計

5xxErrorCount 5xxエラーが発生したMediaStoreに対して行われたHTTP要求の数。

単位:カウント

有効な寸法:

  • コンテナ名
  • オブジェクトグループ名
  • リクエストの種類

有効な統計:合計

BytesUploaded MediaStoreコンテナに対して行われたリクエストにアップロードされたバイト数。リクエストには本文が含まれます。

単位:バイト

有効な寸法:

  • コンテナ名
  • オブジェクトグループ名

有効な統計:平均(リクエストあたりのバイト数)、合計(期間あたりのバイト数)、サンプル数、最小値(P0.0と同じ)、最大値(p100と同じ)、p0.0とp99.9の間のパーセンタイル

BytesDownloaded MediaStoreコンテナーに対して行われた要求に対してダウンロードされたバイト数。応答には本文が含まれます。

単位:バイト

有効な寸法:

  • コンテナ名
  • オブジェクトグループ名

有効な統計:平均(リクエストあたりのバイト数)、合計(期間あたりのバイト数)、サンプル数、最小値(P0.0と同じ)、最大値(p100と同じ)、p0.0とp99.9の間のパーセンタイル

TotalTime サーバーの観点から、要求が処理されていたミリ秒数。この値は、MediaStoreが要求を受信して​​から、応答の最後のバイトを送信するまでの時間で測定されます。クライアントの観点から行われた測定はネットワーク遅延の影響を受けるため、この値はサーバーの観点から測定されます。

単位:ミリ秒

有効な寸法:

  • コンテナ名
  • オブジェクトグループ名
  • リクエストの種類

有効な統計:平均、最小(P0.0と同じ)、最大(p100と同じ)、p0.0とp100の間のパーセンタイル

TurnaroundTime MediaStoreがリクエストの処理に費やしたミリ秒数。この値は、MediaStoreが要求の最後のバイトを受信して​​から、応答の最初のバイトを送信するまでの時間で測定されます。

単位:ミリ秒

有効な寸法:

  • コンテナ名
  • オブジェクトグループ名
  • リクエストの種類

有効な統計:平均、最小(P0.0と同じ)、最大(p100と同じ)、p0.0とp100の間のパーセンタイル

おわりに

AWS Elemental MediaStore で CloudWatch Metrics がサポートされるアップデートがありました!

ログだけでは確認し辛かった部分がメトリクスとして手軽に確認できる様になったため、MediaStore を使用する際には是非設定しておきたいですね。

 

以上、AWS 事業本部の大前でした。