

# IVS Chat のログ記録
<a name="chat-logging"></a>

チャットのログ記録機能を使用すると、ルーム内のすべてのメッセージを Amazon S3 バケット、Amazon CloudWatch Logs、または Amazon Kinesis Data Firehose のいずれかに記録できます。その後、ライブビデオセッションにリンクするチャットリプレイの作成や分析にログを使用できます。

## ルームでチャットのログ記録を有効にする
<a name="chat-logging-enable"></a>

チャットのログ記録は、ログ記録設定をルームに関連付けることで有効にできる詳細オプションです。ログ記録設定は、ルームのメッセージが記録される場所のタイプ (Amazon S3 バケット、Amazon CloudWatch Logs、または Amazon Kinesis Data Firehose) を指定できるリソースです。ログ記録設定の作成と管理の詳細については、「[Amazon IVS Chatの開始方法](getting-started-chat.md)」および「[Amazon IVS Chat API リファレンス](https://docs.aws.amazon.com//ivs/latest/ChatAPIReference/Welcome.html)」を参照してください。

新しいルームの作成 ([CreateRoom](https://docs.aws.amazon.com//ivs/latest/ChatAPIReference/API_CreateRoom.html))、または既存のルームの更新 ([UpdateRoom](https://docs.aws.amazon.com//ivs/latest/ChatAPIReference/API_UpdateRoom.html)) のいずれかで、各ルームに最大 3 つのログ記録設定を関連付けることができます。複数のルームを同じログ記録設定に関連付けることができます。

アクティブなログ記録設定がルームに少なくとも 1 つ関連付けられている場合、そのルームに送信されたすべてのメッセージリクエストが、[Amazon IVS Chat メッセージング API](https://docs.aws.amazon.com//ivs/latest/chatmsgapireference/welcome.html) を介して指定された場所に自動的に記録されます。伝播遅延の平均値 (メッセージリクエストが送信されてから指定した場所で利用可能になるまで) は次の通りです。
+ Amazon S3 バケット: 5 分
+ Amazon CloudWatch Logs または Amazon Kinesis Data Firehose: 10 秒

## メッセージの内容
<a name="chat-logging-message-content"></a>

### 形式
<a name="message-content-format"></a>

```
{
   "event_timestamp": "string",
   "type": "string",
   "version": "string",
   "payload": { "string": "string" }
}
```

### フィールド
<a name="message-content-fields"></a>


| フィールド | 説明 | 
| --- | --- | 
| `event_timestamp` | Amazon IVS Chat でメッセージが受信された時刻の UTC タイムスタンプ。 | 
| `payload` | クライアントが Amazon IVS Chat サービスから受け取る[メッセージ (サブスクライブ)](https://docs.aws.amazon.com//ivs/latest/chatmsgapireference/actions-message-subscribe.html) または[イベント (サブスクライブ)](https://docs.aws.amazon.com//ivs/latest/chatmsgapireference/actions-event-subscribe.html) の JSON ペイロード。 | 
| `type` | チャットメッセージのタイプ。 [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/ivs/latest/ChatUserGuide/chat-logging.html)  | 
| `version` | メッセージおよびコンテンツ形式のバージョン。 | 

## Amazon S3 バケット
<a name="chat-logging-s3-bucket"></a>

### 形式
<a name="s3-bucket-format"></a>

メッセージログは、次の S3 プレフィックスとファイル形式で整理および保存されます。

```
AWSLogs/<account_id>/IVSChatLogs/<version>/<region>/room_<resource_id>/<year>/<month>/<day>/<hours>/<account_id>_IVSChatLogs_<version>_<region>_room_<resource_id>_<year><month><day><hours><minutes>_<hash>.log.gz
```

### フィールド
<a name="s3-bucket-fields"></a>


| フィールド | 説明 | 
| --- | --- | 
| `<account_id>` | ルームの作成元となる AWS アカウントの ID。 | 
| `<hash>` | 一意性を確保するためシステムにより生成されるハッシュ値。 | 
| `<region>` | ルームが作成された AWS サービスのリージョン。 | 
| `<resource_id>` | ルーム ARN のリソース ID 部分。 | 
| `<version>` | メッセージおよびコンテンツ形式のバージョン。 | 
| `<year> / <month> / <day> / <hours> / <minute>` | Amazon IVS Chat でメッセージが受信された時刻の UTC タイムスタンプ。 | 

### 例
<a name="s3-bucket-example"></a>

```
AWSLogs/123456789012/IVSChatLogs/1.0/us-west-2/room_abc123DEF456/2022/10/14/17/123456789012_IVSChatLogs_1.0_us-west-2_room_abc123DEF456_20221014T1740Z_1766dcbc.log.gz
```

## Amazon CloudWatch Logs
<a name="chat-logging-cloudwatch-logs"></a>

### 形式
<a name="cloudwatch-logs-format"></a>

メッセージログは、次のログストリーム名の形式で整理および保存されます。

```
aws/IVSChatLogs/<version>/room_<resource_id>
```

### フィールド
<a name="cloudwatch-logs-fields"></a>


| フィールド | 説明 | 
| --- | --- | 
| `<resource_id>` | ルーム ARN のリソース ID 部分。 | 
| `<version>` | メッセージおよびコンテンツ形式のバージョン。 | 

### 例
<a name="cloudwatch-logs-example"></a>

```
aws/IVSChatLogs/1.0/room_abc123DEF456
```

## Amazon Kinesis Data Firehose
<a name="chat-logging-kinesis-firehose"></a>

メッセージログは、リアルタイムのストリーミングデータとして配信ストリームに送信されます。送信先は、Amazon Redshift、Amazon OpenSearch Service、Splunk、およびカスタム HTTP エンドポイントまたはサードパーティのサービスプロバイダーが所有する HTTP エンドポイントなどです。詳細については、「[What Is Amazon Kinesis Data Firehose](https://docs.aws.amazon.com/firehose/latest/dev/what-is-this-service.html?icmpid=docs_console_unmapped)」(Amazon Kinesis Data Firehose とは何ですか?) を参照してください。

## 制約
<a name="chat-logging-constraints"></a>
+ メッセージが保存されるログ記録の場所を所有している必要があります。
+ ルーム、ログ記録設定、およびログ記録の場所は、同じ AWS リージョン内にある必要があります。
+ チャットのログ記録に使用できるのは、アクティブなログ記録設定だけです。
+ どのルームにも関連付けられていないログ記録設定は削除できます。

所有する場所にメッセージをログ記録するには、AWS 認証情報を使用した認可が必要です。IVS チャットに必要なアクセス権を付与するため、ログ記録設定の作成時に、リソースポリシー (Amazon S3 バケットまたは CloudWatch Logs の場合) または AWS IAM の[サービスにリンクされたロール](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html) (SLR) (Amazon Kinesis Data Firehose の場合) が自動的に生成されます。ロールやポリシーを変更すると、チャットのログ記録のアクセス許可に影響する可能性があることに注意してください。

## Amazon CloudWatch によるエラーのモニタリング
<a name="chat-logging-monitor-errors"></a>

Amazon CloudWatch を使用して、チャットのログ記録で発生するエラーをモニタリングできます。また、アラームやダッシュボードを作成して、特定のエラーの変化を表示したり対応できます。

エラーにはいくつかの種類があります。詳細については、「[Monitoring Amazon IVS Chat](chat-health.md)」 を参照してください。