

# 监控 Amazon IVS Real-Time Streaming
<a name="stage-health"></a>

本文档提供有关可用于监控 IVS 实时直播应用程序的选项的详细信息。

## 什么是舞台会话？
<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 Management Console](https://console.aws.amazon.com/) 访问 Amazon IVS 控制台。）

1. 在导航窗格中，选择**舞台**。（如果导航窗格已折叠，请首先选择汉堡包图标以将其打开。）

1. 选择舞台以跳转至该舞台的详细信息页面。

1. 向下滚动页面，直到看到**舞台会话**部分，然后选择一个舞台会话以查看该舞台的详细信息页面。

1. 要查看会话中的参与者，请向下滚动，直到看到**参与者**部分，然后选择一个参与者以查看该参与者的详细信息页面，包括 Amazon CloudWatch 指标的图表。

## 查看参与者的事件
<a name="stage-health-view-participant-events"></a>

舞台中的参与者状态发生变化（例如加入舞台或在尝试发布到舞台时遇到错误）时，会发送事件。并非所有错误都会导致发生事件；例如，客户端网络错误和令牌签名错误不会作为事件发送。要处理客户端应用程序中的这些错误，请使用 [IVS 广播 SDK](broadcast.md)。

### 控制台说明
<a name="stage-health-view-participant-events-console"></a>

1. 按照上面的说明导航到参与者详细信息页面。

1. 向下滚动，直到看到**事件**部分。此部分将显示参与者事件的有序列表。请参阅[将 Amazon EventBridge 与 Amazon IVS 配合使用](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 指标可用，必须使用以下 IVS 广播 SDK 版本：Web 1.5.0 或更高版本、Android 1.12.0 或更高版本、iOS 1.12.0 或更高版本。

### CloudWatch 控制台说明
<a name="stage-health-access-cloudwatch-metrics-console"></a>

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在侧导航栏中，展开 **Metrics**（指标）下拉菜单，然后选择 **All metrics**（所有指标）。

1. 在**浏览**选项卡上，使用左侧未标记的下拉菜单，选择您的“主”区域，即创建通道的区域。有关区域的详细信息，请参阅[全球解决方案，区域控制](https://docs.aws.amazon.com/ivs/latest/RealTimeUserGuide/what-is.html#what-is-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 > Stage 指标**。

   1. 如果 **IVSRealTime** 显示为 **Amazon 命名空间**下的一个可选服务，选择该服务。如果您使用 Amazon IVS 实时直播功能并将指标发送给 Amazon CloudWatch，则将会列出 IVS。（如果 **IVSRealTime** 未列出，则说明您没有任何 Amazon IVS 指标。）

      然后根据需要选择*维度*分组；可用维度将在下面的 [CloudWatch 指标](#stage-health-cloudwatch-metrics) 中列出。

1. 选择要添加到图表的指标。可用维度将在下面的 [CloudWatch 指标](#stage-health-cloudwatch-metrics) 中列出。

您还可以从流会话的详细信息页面访问流会话的 CloudWatch 图表，方法是选择 **View in CloudWatch**（在 CloudWatch 中查看）按钮。

### CLI 说明
<a name="stage-health-access-cloudwatch-metrics-cli"></a>

您也可以使用 Amazon CLI 访问指标。这需要首先在计算机上下载并配置 CLI。有关详细信息，请参阅 [Amazon 命令行界面用户指南](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html)。

然后，使用 Amazon CLI 访问 Amazon IVS 实时直播功能指标：
+ 在命令提示符下，运行：

  ```
  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 实时直播功能
<a name="stage-health-cloudwatch-metrics"></a>

Amazon IVS 在 **Amazon/IVSRealTime** 命名空间中提供了以下指标。

要使 CloudWatch 指标可用，必须使用 Web 广播 SDK 1.5.2 或更高版本。

该维度可能的有效值如下：
+ `Stage` 维度是一个资源 ID（ARN `arn:::stage/<resource id>` 的一部分）。
+ `Participant` 维度是一个 `participantID`。
+ 对于“video”的 `MediaType`，`SimulcastLayer` 为“hi”、“mid”、“low”或“none”，对于“audio”的 `MediaType`，则为“none”。该值也可以为空。
+ `MediaType` 维度为“视频”或“音频”（字符串）。

在进行参与者复制时，对于目标暂存区，现有的暂存区运行状况指标包括所有复制的参与者（源暂存区中的发布者，即目标暂存区的副本参与者）。


| 指标 | Dimensions | 说明 | 
| --- | --- | --- | 
| `ConcurrentPublishers` | — |  一个 AWS 区域的所有舞台中可以进行发布的最大参与者数量。 单位：个 有效统计数据：平均值、最大值、最小值  | 
| `ConcurrentSubscriptions` | — |  一个 AWS 区域的所有舞台可以同时建立的最大发布者到订阅用户连接数量。 单位：个 有效统计数据：平均值、最大值、最小值  | 
| `DownloadPacketLoss` | — |  订阅用户从 IVS 服务器下载时的丢包百分比。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内掉帧的平均数、最大数或最小数。  | 
| `DownloadPacketLoss` | `Platform` |  按订阅用户平台筛选 `DownloadPacketLoss`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内掉帧的平均数、最大数或最小数。  | 
| `DownloadPacketLoss` | `Platform, SDKVersion` |  按订阅用户平台和 SDK 版本筛选 `DownloadPacketLoss`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内掉帧的平均数、最大数或最小数。  | 
| `DownloadPacketLoss` | `Stage` |  按订阅用户舞台筛选 `DownloadPacketLoss`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内掉帧的平均数、最大数或最小数。  | 
| `DownloadPacketLoss` | `Stage, Participant` |  对于同时也是发布者的订阅用户，按参与者筛选 `DownloadPacketLoss`。样本代表订阅用户从 IVS 服务器下载时的丢包百分比。仅当参与者同时也是发布者时，才会发出样本。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `DownloadPacketLoss` | `Stage, Platform` |  按订阅用户舞台和平台筛选 `DownloadPacketLoss`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内掉帧的平均数、最大数或最小数。  | 
| `DownloadPacketLoss` | `Stage, Platform, SDKVersion` |  按订阅用户舞台、平台和 SDK 版本筛选 `DownloadPacketLoss`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内掉帧的平均数、最大数或最小数。  | 
| `DownloadPacketLoss` | `Stage, SubscriberCountryCode` |  按订阅用户舞台以及国家/地区代码（ISO 3166）筛选 `DownloadPacketLoss`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内掉帧的平均数、最大数或最小数。  | 
| `DownloadPacketLoss` | `SubscriberCountryCode` |  按订阅用户国家/地区代码（ISO 3166）筛选 `DownloadPacketLoss`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内掉帧的平均数、最大数或最小数。  | 
| `DroppedFrames` | `—` |  对于订阅用户：视频丢帧的百分比，计算方法是汇总订阅用户订阅的所有发布者收到的帧数和丢帧数。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `DroppedFrames` | `Platform` |  按订阅用户的平台筛选 `DroppedFrames`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `DroppedFrames` | `Platform, SDKVersion` |  按订阅用户的平台和 SDK 版本筛选 `DroppedFrames`。 百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `DroppedFrames` | `Stage` |  按舞台筛选 `DroppedFrames`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `DroppedFrames` | `Stage, Participant` |  按舞台和参与者筛选 `DroppedFrames`。仅针对同时也是发布者的订阅用户发出。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `DroppedFrames` | `Stage, Platform` |  按舞台和订阅用户的平台筛选 `DroppedFrames`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `DroppedFrames` | `Stage, Platform, SDKVersion` |  按舞台、订阅用户的平台和 SDK 版本筛选 `DroppedFrames`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `DroppedFrames` | `Stage, SubscriberCountryCode` |  按舞台和订阅用户的国家/地区筛选 `DroppedFrames`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `DroppedFrames` | `SubscriberCountryCode` |  按订阅用户的国家/地区筛选 `DroppedFrames`。 单位：百分比 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内丢帧的平均数、最大数或最小数。  | 
| `PublishBitrate` | `—` |  发布者发送视频和音频数据的总速率（所有联播层的总和）。这包括重新传输的数据。该比特率反映的是发布者发送的内容，可能与 IVS 接收或交付给订阅用户的内容不匹配，因此可能会因上传丢包和重新传输而被夸大。 位/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `PublishBitrate` | `Platform` |  按发布者的平台筛选 `PublishBitrate`。 位/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `PublishBitrate` | `Stage` |  按舞台筛选 `PublishBitrate`。 单位：比特/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `PublishBitrate` | `Stage, Participant, SimulcastLayer, MediaType` |  按舞台、参与者、联播层和媒体类型筛选 `PublishBitrate`。联播层 ID 由广播 SDK 设置。禁用联播时，此层 ID 将设置为“已禁用”。媒体类型为“视频”或“音频”。 单位：比特/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `Publishers` | `Stage` |  发布到舞台的参与者人数。 单位：个 有效统计数据：平均值、最大值、最小值  | 
| `PublishFramerate` | `Stage, Participant` |  从给定发布者接收视频帧的频率。此指标仅适用于通过 RTMP 发布的参与者。 单位：计数/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内帧率的平均数、最大数或最小数  | 
| `PublishFramerate` | `Stage, Participant, SimulcastLayer, MediaType` |  从给定发布者接收视频帧的频率。此指标仅适用于通过 RTMP 发布的参与者。 单位：计数/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内帧率的平均数、最大数或最小数  | 
| `PublishResolution` | `Stage, Participant, SimulcastLayer, MediaType` |  帧宽和帧高两者中较小者的像素数。例如，对于大小为 1920x1080 的横向帧，PublishResolution 为 1080。对于大小为 720x1280 的竖向帧，PublishResolution 为 720。 单位：个 有效统计数据：平均值、最大值、最小值  | 
| `SubscribeBitrate` | `—` |  订阅用户同时接收视频和音频数据的总速率 单位：比特/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `SubscribeBitrate` | `Platform` |  按订阅用户的平台筛选 `SubscribeBitrate`。 单位：比特/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `SubscribeBitrate` | `Platform, SDKVersion` |  按订阅用户的平台和 SDK 版本筛选 `SubscribeBitrate`。 单位：比特/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `SubscribeBitrate` | `Stage` |  按舞台筛选 `SubscribeBitrate`。 单位：比特/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `SubscribeBitrate` | `Stage, Participant, MediaType` |  按舞台、参与者和媒体类型筛选 `SubscribeBitrate`。媒体类型为“视频”或“音频”。仅当订阅参与者也发布时才会发出此指标。 单位：比特/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `SubscribeBitrate` | `Stage, Platform` |  按舞台和订阅用户的平台筛选 `SubscribeBitrate`。 位/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `SubscribeBitrate` | `Stage, Platform, SDKVersion` |  按舞台、订阅用户的平台和 SDK 版本筛选 `SubscribeBitrate`。 位/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `SubscribeBitrate` | `Stage, SubscriberCountryCode` |  按舞台和订阅用户的国家/地区代码筛选 `SubscribeBitrate`。 位/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `SubscribeBitrate` | `SubscriberCountryCode` |  按订阅用户的国家/地区代码（ISO 3166-1 alpha-2）筛选 `SubscribeBitrate`。 位/秒 有效统计数据：平均值、最大值、最小值 –（分别为）在配置的时间间隔内比特率的平均数、最大数或最小数。  | 
| `Subscribers` | `Stage` |  订阅该舞台的参与者人数。请注意，主动发布和订阅的参与者才被视为发布者和订阅用户。 单位：个 有效统计数据：平均值、最大值、最小值  | 