

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 监控指标和 API 调用


监控是使用 WebRTC 和您的解决方案维护 Amazon Kinesis Video Streams 的可靠性、可用性和性能的重要组成部分。 Amazon 您应该从 Amazon 解决方案的所有部分收集监控数据，以便在出现多点故障时可以更轻松地对其进行调试。不过，在开始监控 Kinesis Video Streams with WebRTC 之前，您应制定监控计划并在计划中回答下列问题：
+ 监控目的是什么？
+ 您将监控哪些资源？
+ 监控这些资源的频率如何？
+ 您将使用哪些监控工具？
+ 谁负责执行监控任务？
+ 出现错误时应通知谁？

在定义监控目标并创建监控计划后，下一步是在您的环境中建立 Kinesis Video Streams with WebRTC 正常性能的基准。您应该在不同时间和不同负载条件下测量 Kinesis Video Streams with WebRTC 性能。监控 Kinesis Video Streams with WebRTC 时，您应存储所收集的监控数据的历史记录。您可将当前 Kinesis Video Streams with WebRTC 性能与这些历史数据进行比较，这样有助于您确定性能的正常模式和异常模式，以及找出方法来应对可能出现的问题。

**Topics**
+ [

# 使用 WebRTC 监控 Kinesis Video Streams
](kvswebrtc-monitoring-cw.md)
+ [

# 使用记录 API 调用 Amazon CloudTrail
](kvswebrtc-monitoring-ct.md)

# 使用 WebRTC 监控 Kinesis Video Streams


您可以使用亚马逊通过 WebRTC 监控亚马逊 Kinesis Video Streams，亚马逊通过 WebRTC 收集来自 CloudWatch亚马逊 Kinesis Video Streams 的原始数据，并将其处理为可读的、近乎实时的指标。这些统计数据会保存 15 个月，从而使您能够访问历史信息，并能够更好地了解您的 Web 应用程序或服务的执行情况。

亚马逊 Kinesis Video Streams 提供以下指标：

**Topics**
+ [

## 信令指标
](#kvswebrtc-monitoring-cw-signaling)
+ [

## TURN 指标
](#kvswebrtc-monitoring-cw-turn)
+ [

## WebRTC 摄取指标
](#kvswebrtc-monitoring-cw-ingest)

## 信令指标


本节提供有关如何使用日志监控和解决与信号相关的问题的信息。 CloudWatch 


| 指标名称 | 说明 | 单位 | Dimensions | 
| --- | --- | --- | --- | 
| Failure | 如果维度中提到的操作返回 200 状态代码响应，则会发出“0”。否则为“1”。 | 计数 | 操作， SignalingChannelName | 
| 延迟 | 衡量服务接收请求和返回响应所花费的时间。 | 毫秒 | 操作， SignalingChannelName | 
| MessagesTransferred.Count | 一个频道发送和接收的消息总数。 | 计数 | SignalingChannelName | 

该`Operation`维度适用于以下内容 APIs：
+ ConnectAsMaster
+ ConnectAsViewer
+ SendSdpOffer
+ SendSdpAnswer
+ SendCandidate
+ SendAlexaOfferToMaster
+ GetIceServerConfig
+ Disconnect

## TURN 指标


本节提供有关如何使用 CloudWatch 日志监控和解决回合相关问题的信息。


| 指标名称 | 说明 | 单位 | Dimensions | 
| --- | --- | --- | --- | 
| TURNConnected分钟 | 对于一分钟内用于流式传输数据的每个 TURN 分配都发出“1”。 | 计数 | SignalingChannelName | 

## WebRTC 摄取指标


本节提供有关如何使用日志监控和解决WebRTC摄取相关问题的信息。 CloudWatch 


| 指标名称 | 说明 | 单位 | Dimensions | 
| --- | --- | --- | --- | 
| Failure | 如果维度中提到的操作返回 200 状态代码响应，则会发出“0”。否则为“1”。 | 计数 | 操作， SignalingChannelName | 
| 延迟 | 衡量服务接收请求和返回响应所花费的时间。 | 毫秒 | 操作， SignalingChannelName | 
| TotalBitrate | 发送的总比特率。如果指定了 “角色”，则表示主参与者发送的总比特率或 VIEWER 参与者发送的总比特率。 | bps | 操作、 SignalingChannelName、角色 | 
| TotalPacketCount | 发送的数据包总数。如果指定了 “角色”，则表示主参与者发送的总比特率或 VIEWER 参与者发送的总比特率。 | 计数 | 操作、 SignalingChannelName、角色 | 
| 网络RTCRecording会议纪要 | 频道出现的网络RTCRecording分钟数。 | 计数 | 操作、 SignalingChannelName、角色 | 
| 网络RTCViewer会议纪要 | 频道出现的网络RTCViewer分钟数。 | 计数 | 操作、 SignalingChannelName、角色 | 

该`Operation`维度适用于以下内容 APIs：
+ JoinStorageSession
+ JoinStorageSessionAsViewer

`Role`维度：
+ 主人
+ VIEWER

# 使用记录 API 调用 Amazon CloudTrail
使用记录 API 调用 CloudTrail

带有 WebRTC 的 Amazon Kinesis Video Streams Amazon CloudTrail与 WebRTC 集成，该服务提供用户、角色或 Amazon 服务在 WebRTC 的亚马逊 Kinesis Video Streams 中采取的操作记录。 CloudTrail 以 WebRTC 作为事件捕获亚马逊 Kinesis Video Streams 的所有 API 调用。捕获的调用包括来自 Amazon Kinesis Video Streams 控制台的调用以及对 Amazon Kinesis Video Streams with WebRTC API 操作的代码调用。如果您创建跟踪，则可以允许将 CloudTrail 事件持续传输到 Amazon S3 存储桶，包括通过 WebRTC 为亚马逊 Kinesis Video Streams 提供的事件。如果您不配置跟踪记录，则仍可在 CloudTrail 控制台的 **Event history**（事件历史记录）中查看最新事件。使用收集的信息 CloudTrail，您可以确定通过 WebRTC 向 Amazon Kinesis Video Streams 发出的请求、发出请求的 IP 地址、谁提出请求、何时发出请求以及其他详细信息。

要了解更多信息 CloudTrail，包括如何配置和启用它，请参阅*[Amazon CloudTrail 用户指南](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/)*。

## 亚马逊 Kinesis Video 通过 WebRTC 直播 Kinesis Video Streams 和 CloudTrail


CloudTrail 在您创建 Amazon 账户时已在您的账户上启用。**当支持的事件活动出现在带有 WebRTC 的 Amazon Kinesis Video Streams 中时，该活动将 Amazon 与其他服务事件一起记录在 CloudTrail 事件历史记录中。**您可以在自己的 Amazon 账户中查看、搜索和下载最近发生的事件。有关更多信息，请参阅[使用事件历史记录查看 CloudTrail 事件](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/view-cloudtrail-events.html)。

要持续记录您的 Amazon 账户中的事件，包括使用 WebRTC 的 Amazon Kinesis Video Streams 的事件，请创建跟踪。*跟踪*允许 CloudTrail 将日志文件传输到 Amazon S3 存储桶。默认情况下，在控制台中创建跟踪记录时，此跟踪记录应用于所有 Amazon Web Services 区域。跟踪记录 Amazon 分区中所有区域的事件，并将日志文件传送到您指定的 Amazon S3 存储桶。此外，您可以配置其他 Amazon 服务，以进一步分析和处理 CloudTrail 日志中收集的事件数据。有关更多信息，请参阅下列内容：
+ [创建跟踪概述](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail 支持的服务和集成](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations)
+ [配置 Amazon SNS 通知 CloudTrail](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/getting_notifications_top_level.html)
+ [接收来自多个区域的 CloudTrail 日志文件](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html)和[接收来自多个账户的 CloudTrail 日志文件](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Amazon Kinesis Video Streams with WebRTC 支持在 CloudTrail 日志文件中将以下操作记录为事件：
+ [ CreateSignalingChannel](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_CreateSignalingChannel.html)
+ [DeleteSignalingChannel](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_DeleteSignalingChannel.html)
+ [DescribeSignalingChannel](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_DescribeSignalingChannel.html)
+ [GetSignalingChannelEndpoint](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_GetSignalingChannelEndpoint.html)
+ [ListSignalingChannels](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_ListSignalingChannels.html)
+ [ListTagsForResource](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_ListTagsForResource.html)
+ [TagResource](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_TagResource.html)
+ [UntagResource](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_UntagResource.html)
+ [UpdateSignalingChannel](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_UpdateSignalingChannel.html)

每个事件或日志条目都包含有关生成请求的人员信息。身份信息有助于您确定以下内容：
+ 请求是使用根证书还是 Amazon Identity and Access Management (IAM) 用户凭证发出。
+ 请求是使用角色还是联合用户的临时安全凭证发出的。
+ 请求是否由其他 Amazon 服务发出。

有关更多信息，请参阅 [CloudTrail userIdentity 元素](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html)。

## 示例：日志文件条目


 跟踪是一种配置，允许将事件作为日志文件传输到您指定的 Amazon S3 存储桶。 CloudTrail 日志文件包含一个或多个日志条目。事件代表来自任何来源的单个请求，包括有关请求的操作、操作的日期和时间、请求参数等的信息。 CloudTrail 日志文件不是公共 API 调用的有序堆栈跟踪，因此它们不会按任何特定顺序出现。

以下示例显示了演示该[CreateSignalingChannel](https://docs.amazonaws.cn//kinesisvideostreams/latest/dg/API_CreateSignalingChannel.html)操作的 CloudTrail 日志条目。

```
{ 
   "eventVersion":"1.05",
   "userIdentity":{ 
      "type":"IAMUser",
      "principalId":"EX_PRINCIPAL_ID",
      "arn":"arn:aws:iam::123456789012:user/Alice",
      "accountId":"123456789012",
      "accessKeyId":"EXAMPLE_KEY_ID",
      "userName":"Alice"
   },
   "eventTime":"2019-11-19T22:49:04Z",
   "eventSource":"kinesisvideo.amazonaws.com",
   "eventName":"CreateSignalingChannel",
   "awsRegion":"us-west-2",
   "sourceIPAddress":"127.0.0.1",
   "userAgent":"aws-sdk-java/unknown-version Linux/x.xx",
   "requestParameters":{ 
      "channelName":"YourChannelName"
   },
   "responseElements":{ 
      "channelARN":"arn:aws:kinesisvideo:us-west-2:123456789012:channel/YourChannelName/1574203743620"
   },
   "requestID":"df3c99c4-1d97-49da-8569-7de6c92b4856",
   "eventID":"bb74bac2-964c-49b0-903a-3501c6bde632"
}
```