

# Amazon IVS Real-Time Streaming のモニタリング
<a name="stage-health"></a>

このドキュメントでは、IVS Real-Time Streaming アプリケーションのモニタリングに使用できるオプションについて詳しく説明します。

## ステージセッションとは
<a name="stage-health-session"></a>

ステージ*セッション*は、最初の参加者がステージに参加したときに始まり、最後の参加者がステージへの公開を停止した数分後に終了します。ステージセッションは、イベントと参加者を有効期間の短いセッションに分けることで、有効期間の長いステージのデバッグに役立ちます。

## ステージセッションと参加者の表示
<a name="stage-health-view-sessions-participants"></a>

### コンソールでの手順
<a name="stage-health-view-sessions-participants-console"></a>

1. [Amazon IVS コンソール](https://console.aws.amazon.com/ivs)を開きます。

   ([AWS マネジメントコンソール](https://console.aws.amazon.com/)から Amazon IVS コンソールにアクセスすることもできます。)

1. ナビゲーションペインで **[ステージ]** を選択します。(ナビゲーションペインが折りたたまれている場合は、まずハンバーガーアイコンを選択して開きます。)

1. ステージを選択して、その詳細ページに移動します。

1. **[ステージセッション]** セクションが表示されるまでページを下にスクロールし、ステージセッションを選択して詳細ページを表示します。

1. セッションの参加者を表示するには、**[参加者]** セクションが表示されるまで下にスクロールし、参加者を選択して、Amazon CloudWatch メトリクスのグラフを含む詳細ページを表示します。

## 参加者にイベントを表示
<a name="stage-health-view-participant-events"></a>

イベントは、ステージに参加したり、ステージに公開しようとしたときにエラーが発生したりするなど、ステージ内の参加者のステータスが変化したときに送信されます。すべてのエラーがイベントを引き起こすわけではありません。たとえば、クライアント側のネットワークエラーやトークン署名エラーはイベントとして送信されません。クライアントアプリケーションでこれらのエラーを処理するには、[IVS Broadcast SDK](broadcast.md) を使用します。

### コンソールでの手順
<a name="stage-health-view-participant-events-console"></a>

1. 上記の手順に従って、参加者の詳細ページに移動します。

1. **[イベント]** セクションが表示されるまで下にスクロールします。参加者イベントの順序付けされたリストが表示されます。参加者に送信されるイベントの詳細については、「[Amazon Interactive Video Service で Amazon EventBridge を使用する](eventbridge.md)」を参照してください。

### CLI の手順
<a name="stage-health-view-participant-events-cli"></a>

AWS CLI によるステージセッションイベントへのアクセスは高度なオプションであり、まず CLI をダウンロードしてマシン上で設定する必要があります。詳細については、[AWS Command Line Interface のユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)を参照してください。

1. ステージセッションを一覧表示してステージセッションを検索します。

   ```
   aws ivs-realtime list-stage-sessions --stage-arn <arn>
   ```

1. ステージセッションの参加者を一覧表示して参加者を検索します。

   ```
   aws ivs-realtime list-participants --stage-arn <arn> –session-id <sessionId>
   ```

1. ステージセッションと参加者のイベントを一覧表示します。

   ```
   aws ivs-realtime list-participant-events --stage-arn <arn> --session-id <sessionId> –-participant-id <participantId>
   ```

`list-participant-events` 呼び出しのサンプルレスポンスを次に示します。

```
{
    "events": [
        {
            "eventTime": "2023-04-04T22:48:41+00:00",
            "name": "JOINED",
            "participantId": "AdRezBl021t0"
        },
        {
            "eventTime": "2023-04-04T22:48:41+00:00",
            "name": "SUBSCRIBE_STARTED",
            "participantId": "AdRezBl021t0",
            "remoteParticipantId": "Ou5b5n5XLMdC"
        },
        {
            "eventTime": "2023-04-04T22:49:45+00:00",
            "name": "SUBSCRIBE_STOPPED",
            "participantId": "AdRezBl021t0",
            "remoteParticipantId": "Ou5b5n5XLMdC"
        },
        {
            "eventTime": "2023-04-04T22:49:45+00:00",
            "name": "LEFT",
            "participantId": "AdRezBl021t0"
        }
    ]
}
```

## CloudWatch メトリクスへのアクセス
<a name="stage-health-access-cloudwatch-metrics"></a>

CloudWatch メトリクスを使用するには、Web 1.5.0 以降、Android 1.12.0 以降、または iOS 1.12.0 以降の IVS Broadcast SDK バージョンが必要です。

### CloudWatch コンソールでの手順
<a name="stage-health-access-cloudwatch-metrics-console"></a>

1. CloudWatch コンソールの [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) を開いてください。

1. サイドナビゲーションで、**[メトリクス]** ドロップダウンをクリックし、**[すべてのメトリクス]** を選択します。

1. **[参照]** タブで、左側のラベルなしのドロップダウンを使用して、チャネルが作成された「ホーム」リージョンを選択します。リージョンの詳細については、「[グローバルソリューション、リージョナルコントロール](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/what-is.html#what-is-aws)」を参照してください。対応するリージョンの一覧については、「[AWS 全般のリファレンス](https://docs.aws.amazon.com/general/latest/gr/ivs.html)」の*Amazon IVS のページ*を参照してください。

1. **[参照]** タブの下部で **[IVSRealtime]** 名前空間を選択します。

1. 次のいずれかを行います。

   1. 検索バーに、リソース ID (ARN の一部、`arn:::ivs:stage/<resource id>`) を入力します。

      次に **[IVSRealTime]、[ステージメトリクス]** の順に選択します。

   1. **[AWS の名前空間]**に **[IVSRealTime]** が選択可能なサービスとして表示されたら選択します。これは、Amazon IVS Real-Time Streaming を使用して、Amazon CloudWatch にメトリクスを送信している場合に表示されます。(**[IVSRealTime]**がリストに表示されない場合、Amazon IVS メトリクスはありません。)

      次に、必要に応じてディメンショングループを選択します。使用可能なディメンションは、以下の「[CloudWatch メトリクス](#stage-health-cloudwatch-metrics)」にリストされています。

1. グラフに追加するメトリクスを選択します。利用可能なメトリックスは、以下の「[CloudWatch メトリクス](#stage-health-cloudwatch-metrics)」にリストされています。

ストリームセッションの詳細ページで **[CloudWatch で表示]** ボタンを選択して、ストリームセッションの CloudWatch グラフにアクセスすることもできます。

### CLI の手順
<a name="stage-health-access-cloudwatch-metrics-cli"></a>

AWS CLI を使用してメトリクスにアクセスすることもできます。そのためには、まず CLI をマシンにダウンロードして設定する必要があります。詳細については、[AWS コマンドラインインターフェイスのユーザーガイド](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)を参照してください。

次に、AWS CLI を使用して Amazon IVS Real-Time Streaming メトリクスにアクセスするために、次の操作を実行します。
+ コマンドプロンプトで、次のコマンドを実行します。

  ```
  aws cloudwatch list-metrics --namespace AWS/IVSRealTime
  ```

詳細については、*Amazon CloudWatch ユーザーガイド*の「[Amazon CloudWatch メトリクスの使用](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)」を参照してください。

## CloudWatch メトリクス: IVS Real-Time Streaming
<a name="stage-health-cloudwatch-metrics"></a>

Amazon IVS は、**AWS/IVSRealTime** 名前空間で以下のメトリクスを提供します。

CloudWatch メトリクスを使用するには、Web Broadcast SDK 1.5.2 以降を使用する必要があります。

ディメンションには以下の有効な値があります。
+ `Stage` ディメンションはリソース ID (ARN の一部、`arn:::stage/<resource id>`) です。
+ `Participant` ディメンションは `participantID` です。
+ `SimulcastLayer` は、video の `MediaType` では hi、mif、low、または none で、audio の `MediaType` では none です。この値は空欄でも構いません。
+ `MediaType` ディメンションは「ビデオ」または「オーディオ」(文字列) です。

参加者のレプリケーションの場合、宛先ステージにおいては、既存のステージヘルスメトリクスにすべてのレプリケートされた参加者 (ソースステージでのパブリッシャーであり、宛先ステージではレプリカ参加者となる) が含まれます。


| メトリクス | ディメンション | 説明 | 
| --- | --- | --- | 
| `ConcurrentPublishers` | — | AWS リージョンのすべてのステージで公開している参加者の数。<br />単位: 数<br />有効な統計: 平均、最大、最小 | 
| `ConcurrentSubscriptions` | — | AWS リージョンのすべてのステージにおけるパブリッシャーからサブスクライバーへの同時接続の数。<br />単位: 数<br />有効な統計: 平均、最大、最小 | 
| `DownloadPacketLoss` | — | サブスクライバーが IVS サーバからのダウンロード中に失ったパッケージの割合。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔での失われたパケットの平均数、最大数、または最小数。 | 
| `DownloadPacketLoss` | `Platform` | サブスクライバープラットフォームで `DownloadPacketLoss` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔での失われたパケットの平均数、最大数、または最小数。 | 
| `DownloadPacketLoss` | `Platform, SDKVersion` | サブスクライバープラットフォームと SDK バージョンで `DownloadPacketLoss` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔での失われたパケットの平均数、最大数、または最小数。 | 
| `DownloadPacketLoss` | `Stage` | サブスクライバーステージで `DownloadPacketLoss` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔での失われたパケットの平均数、最大数、または最小数。 | 
| `DownloadPacketLoss` | `Stage, Participant` | パブリッシャーでもあるサブスクライバーを対象に、参加者別に `DownloadPacketLoss` をフィルタリングします。サンプルは、サブスクライバーが IVS サーバからのダウンロード中に失ったパッケージの割合を表します。サンプルは、参加者がパブリッシャーでもある場合にのみ送信されます。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `DownloadPacketLoss` | `Stage, Platform` | サブスクライバーステージとプラットフォームで `DownloadPacketLoss` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔での失われたパケットの平均数、最大数、または最小数。 | 
| `DownloadPacketLoss` | `Stage, Platform, SDKVersion` | サブスクライバーステージ、プラットフォーム、SDK バージョンで `DownloadPacketLoss` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔での失われたパケットの平均数、最大数、または最小数。 | 
| `DownloadPacketLoss` | `Stage, SubscriberCountryCode` | サブスクライバーステージと国コード (ISO 3166) で `DownloadPacketLoss` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔での失われたパケットの平均数、最大数、または最小数。 | 
| `DownloadPacketLoss` | `SubscriberCountryCode` | サブスクライバーの国コード (ISO 3166) で `DownloadPacketLoss` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔での失われたパケットの平均数、最大数、または最小数。 | 
| `DroppedFrames` | `—` | サブスクライバーの場合: 受信フレームとサブスクライバーがサブスクライブしているすべてのパブリッシャー間でドロップされたフレームを集計して算出される、ビデオフレームのドロップ率。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `DroppedFrames` | `Platform` | サブスクライバーのプラットフォームで `DroppedFrames` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `DroppedFrames` | `Platform, SDKVersion` | サブスクライバーのプラットフォームと SDK バージョンで `DroppedFrames` をフィルタリングします。<br />割合 (%)<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `DroppedFrames` | `Stage` | ステージで `DroppedFrames` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `DroppedFrames` | `Stage, Participant` | ステージと参加者で `DroppedFrames` をフィルタリングします。パブリッシャーでもあるサブスクライバーに対してのみ出力されます。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `DroppedFrames` | `Stage, Platform` | ステージとサブスクライバーのプラットフォームで `DroppedFrames` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `DroppedFrames` | `Stage, Platform, SDKVersion` | ステージ、サブスクライバーのプラットフォーム、SDK バージョンで `DroppedFrames` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `DroppedFrames` | `Stage, SubscriberCountryCode` | ステージとサブスクライバーの国コードで `DroppedFrames` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `DroppedFrames` | `SubscriberCountryCode` | サブスクライバーの国別に `DroppedFrames` をフィルタリングします。<br />単位: パーセント<br />有効な統計: 平均、最大、最小 — 設定された間隔でのドロップされたフレームの平均数、最大数、または最小数。 | 
| `PublishBitrate` | `—` | パブリッシャーがビデオデータとオーディオデータの両方を送信する合計レート (すべてのサイマルキャストレイヤーの合計) を表します。これには再送信されたデータが含まれます。ビットレートは、パケット消失や再送信によって膨らむ可能性があります。これは、パブリッシャーが送信する内容を反映しており、IVSが受信またはサブスクライバーに配信する内容と一致しない可能性があるためです。<br />ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `PublishBitrate` | `Platform` | パブリッシャーのプラットフォームで `PublishBitrate` をフィルタリングします。<br />ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `PublishBitrate` | `Stage` | ステージで `PublishBitrate` をフィルタリングします。<br />単位: ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `PublishBitrate` | `Stage, Participant, SimulcastLayer, MediaType` | ステージ、参加者、サイマルキャストレイヤー、メディアタイプで `PublishBitrate` をフィルタリングします。サイマルキャストレイヤー ID は Broadcast SDK によって設定されます。サイマルキャストを無効にすると、このレイヤー ID は「無効」に設定されます。メディアタイプは「ビデオ」または「オーディオ」です。<br />単位: ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `Publishers` | `Stage` | ステージに公開する参加者の数。<br />単位: 数<br />有効な統計: 平均、最大、最小 | 
| `PublishFramerate` | `Stage, Participant` | 特定のパブリッシャーからビデオフレームを受信する頻度。このメトリクスは、RTMP 経由で公開する参加者のみが使用できます。<br />単位: カウント/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのフレームの平均数、最大数、または最小数。 | 
| `PublishFramerate` | `Stage, Participant, SimulcastLayer, MediaType` | 特定のパブリッシャーからビデオフレームを受信する頻度。このメトリクスは、RTMP 経由で公開する参加者のみが使用できます。<br />単位: カウント/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのフレームの平均数、最大数、または最小数。 | 
| `PublishResolution` | `Stage, Participant, SimulcastLayer, MediaType` | フレームの幅または高さのうち小さい方のピクセル数。例えば、サイズが 1920 x 1080 のランドスケープフレームの場合、PublishResolution は 1080 です。サイズが 720 x 1280 のポートレートフレームの場合、PublishResolution は 720 です。<br />単位: 数<br />有効な統計: 平均、最大、最小 | 
| `SubscribeBitrate` | `—` | サブスクライバーがビデオデータとオーディオデータの両方を受信する合計レートを表します。<br />単位: ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `SubscribeBitrate` | `Platform` | サブスクライバーのプラットフォームで `SubscribeBitrate` をフィルタリングします。<br />単位: ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `SubscribeBitrate` | `Platform, SDKVersion` | サブスクライバーのプラットフォームと SDK バージョンで `SubscribeBitrate` をフィルタリングします。<br />単位: ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `SubscribeBitrate` | `Stage` | ステージで `SubscribeBitrate` をフィルタリングします。<br />単位: ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `SubscribeBitrate` | `Stage, Participant, MediaType` | ステージ、参加者、メディアタイプで `SubscribeBitrate` をフィルタリングします。メディアタイプは「ビデオ」または「オーディオ」です。メトリクスは、サブスクライブしている参加者が公開している間のみ出力されます。<br />単位: ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `SubscribeBitrate` | `Stage, Platform` | ステージとサブスクライバーのプラットフォームで `SubscribeBitrate` をフィルタリングします。<br />ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `SubscribeBitrate` | `Stage, Platform, SDKVersion` | ステージ、サブスクライバーのプラットフォーム、SDK バージョンで `SubscribeBitrate` をフィルタリングします。<br />ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `SubscribeBitrate` | `Stage, SubscriberCountryCode` | ステージ、サブスクライバーの国コードで `SubscribeBitrate` をフィルタリングします。<br />ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `SubscribeBitrate` | `SubscriberCountryCode` | サブスクライバーの国コード (ISO 3166-1 alpha-2) で `SubscribeBitrate` をフィルタリングします。<br />ビット/秒<br />有効な統計: 平均、最大、最小 — 設定された間隔でのビットレートの平均数、最大数、または最小数。 | 
| `Subscribers` | `Stage` | ステージにサブスクライブされる参加者の数。公開とサブスクライブをアクティブに行っている参加者は、パブリッシャーとサブスクライバーの両方としてカウントされます。<br />単位: 数<br />有効な統計: 平均、最大、最小 | 