英語からAIを使用して翻訳されました
この記事はAI技術を使用して翻訳されたことにご注意ください。正確性を維持するよう努めていますが、一部の詳細は元のテキストを完全に反映していない場合があります。情報に不明な点がある場合は、英語版を参照してください。
APIエラー収集ルールを設定して、これらのエラーに関する詳細情報(ヘッダー、リクエスト/レスポンスボディの内容)を収集し、4XX-5XX範囲内だけでなく、ステータスコードを持つAPIエラーを収集して、エラーのトラブルシューティングを迅速に行えるようにします。
APIエラー収集を設定するには:
- HTTPステータスコードが4XX-5XX範囲内でないネットワークリクエストのAPIエラー収集を設定します。
- Session ReplayでAPIエラーをトラブルシューティングして、以下の詳細を確認します:
- リクエストとレスポンスのHTTPヘッダー
- ボディ(リクエストによって送信されたデータまたはレスポンスで受信したデータ)
- ボディ要素(リクエスト/レスポンスボディの特定の要素)
- リクエストエンドポイントのクエリパラメータ(要求する情報のURL)
- Errors Dashboard & AlertsおよびAnalysis Contextで、レスポンスボディの内容に基づいてエラーを監視、特定、定量的にするために、暗号化されていないレスポンスボディ要素を活用します。
設定が完了したら、APIエラーのトラブルシューティング詳細を活用する方法についてさらに詳しく学びます。
個人データの保護
追加するカスタムヘッダーによっては、トラブルシューティングの詳細に個人データが含まれる可能性があります。誰でも簡単に復号化できないようにデータを保護するために、個人データを含むカスタムヘッダーは暗号化することができますし、すべきです。
ヘッダーとボディ要素は、トラブルシューティングの詳細を公開する際の利便性と速度のために、暗号化されていない状態で収集するオプションがあります。このオプションは、追加するデータポイントが個人データを含まないことが確実な場合にのみ使用するべきです。
リクエストおよび/またはレスポンスボディ全体やクエリパラメータは、暗号化された状態でのみ収集できます。
個人データを含む特定のヘッダー(クッキー、認証、プロキシ認証ヘッダー)を収集することは許可されていません。これらは処理できない機密データを含んでいます。
詳細については、プライバシーと個人データに関する記事をご覧ください。
トラブルシューティングの詳細の暗号化
暗号化設定の前提条件:暗号化されたカスタムヘッダーのAPIトラブルシューティング詳細を追加および公開する前に、公開鍵/秘密鍵ペアを事前に設定する必要があります。
暗号化キーの設定手順は、 こちらで確認できます。
制限
ウェブ上では、私たちの暗号化メカニズムは、ほとんどの人気ブラウザで広くサポートされている2つのブラウザAPI(CryptoKey APIおよびWeb Cryptography API)に依存しています。ただし、一部のブラウザや古いブラウザのバージョンはこれらをサポートしていません。その場合、タグは暗号化されたデータの収集を進めません。
APIエラー収集ルールの概要
リストされた各ルールについて、以下の情報を確認できます(左から右へ):
- ルール名
- ルールのステータスコード
- リクエストURL
- ルールが作成された日付と最終更新日(および著者の名前)
新しいルールを作成するか、既存のルールを編集するかを決定するために、以下のアクションを使用してください:
- ルールを検索:名前に含まれる用語やドメインのステータスコードに基づいて既存のルールを検索します。
- ルールを並べ替え:カラムの見出しをクリックして、名前、ステータスコード、ドメイン、または日付(作成日または最終更新日)でルールを並べ替えます。
-
ルールの詳細を表示:ルールの右側にある「目」アイコンをクリックしてサイドパネルを開き、収集条件と収集されたデータポイントを確認します。
「デフォルトルール」
このルールは、4XX-500範囲内のステータスコードを持つすべてのネットワークリクエストを収集するデフォルトの動作を表しており、デフォルトのデータポイント(リクエストURL、ステータスコード、メソッド)のみを含みます。編集または削除することはできません。
事前定義されたルール
これらの事前定義されたルールは、すでにプロジェクトに含まれており、APIエラーおよびAPIエラーの詳細を自動的に収集することを可能にします:
- GraphQL:このルールは、通常ステータスコードが200であるため、デフォルトでは収集されない基本的なGraphQLエラーを収集するために設計されています。このルールは必要に応じて編集および削除できます。
- すべてのエンドポイントのヘッダー:このルールは、すべてのAPI 4XX-5XXエラーのヘッダー収集を設定するために使用されます。ヘッダーのリストは編集できますが、ルールは削除できません。
新しいルールの作成
APIエラー収集ルール設定にアクセスする方法
APIエラー収集ルール設定にアクセスする方法は2つあります:
コンソールから
- プロフィールアイコンをクリックし、次に'コンソール'をクリックします。
- '体験モニタリング設定'タブをクリックします。
- APIエラーセクションまでスクロールして、APIエラー収集ルールを表示および作成します。
エラー分析ページから
- '設定'をクリックします。
- '構成'をクリックします。
これにより、コンソールの体験モニタリング設定に直接移動し、APIエラー収集ルールにアクセスできます。
ステップ1: ルール条件の命名と追加
1. ‘+ 新しいルール’ボタンをクリックします。
2. ルール名: ルール名フィールドにルールの名前を付けます。この名前は一意でなければなりません。
3. リクエストURL: ルールは、フィールドに追加した値を含むすべてのリクエストに一致します。注意、他の既存のルールと同じ条件の集合を使用することはできません。
例(リクエストURLに一致させたい場合): https://subdomain.domain.com/path/sub-path?query=param
次の値が一致します:
完全なURL: https://subdomain.domain.com/path/sub-path?query=param
ドメイン&HTTPプロトコル: https://subdomain.domain.com
ドメインのみ: domain.com
パスのみ: /path/sub-path
ドメイン + パス: subdomain.domain.com/path/sub-path
4. ステータスコード: 4XX-5XXグループを選択してHTTPステータスコードをエラーに一致させるか、特定のステータスコードを定義できます。
5. レスポンスボディコンテンツ: このルールが収集されるために、ボディコンテンツフィールドにレスポンスのボディに書かれる必要がある内容を指定します。最大64文字まで入力できます。このフィールドは、ステータスコードが“200”の場合を除き、すべてのステータスコードに対してオプションです。200ステータスコードが指定されている場合は、エラーを特定するためにレスポンスボディコンテンツを指定する必要があります。これは、すべてのネットワークリクエストをAPIエラーとして収集するのを避けるために行われます。
レスポンスボディコンテンツのロジックと制限
これはフィルタリングロジックであり、ロジックは'含む'ですので、正確なテストは必要ありません。レスポンスボディコンテンツは大文字と小文字を区別しません(“無効”は“INVALID_CODE”のような値に一致します)。
例:
レスポンスにエラーが含まれている場合にリクエストを収集したい。
レスポンスボディサンプル:
{
"errors": [
{
"message": "フィールド 'age' をタイプ 'Customer' でクエリできません。",
"code": "1003"
}
],
"data": {
"customer": {
"id": "123",
"name": "ジョン・ドー"
}
}
}
使用するボディコンテンツ値: errors
使用するボディコンテンツ値(特殊文字を含む): errors\"\:\[\{
レスポンスボディコンテンツの制限:
- Androidモバイルアプリでは、レスポンスボディのサイズが最大1MBの場合にボディコンテンツの一致が機能します。
- iOSモバイルアプリでは、レスポンスボディコンテンツサイズに制限はありません。
- ウェブでは、レスポンスボディコンテンツサイズに制限はありません。
6. ‘次へ’をクリックしてルール作成を続けます。
ステップ2: 収集したデータポイントの追加
名前、条件、リクエストURLをルールに入力した後(およびステータスコードが200の場合はボディコンテンツ)、収集したデータポイントを追加できます。デフォルトでは、ContentsquareはリクエストURL、ステータスコード、およびメソッドを収集します。
ヘッダー
1. “+ 追加”をクリックします。注意、同じ条件(リクエストまたはレスポンス、暗号化または非暗号化)を共有する場合は、“+”ボタンをクリックして複数のヘッダーを一度に追加できます。
2. ヘッダー名を入力します。
3. 暗号化:
- 暗号化が設定されている場合、デフォルトの状態は“暗号化済み”になります。ヘッダーを非暗号化で収集するには、オフに切り替えます。
- 暗号化が設定されていない場合、ヘッダーは非暗号化でのみ収集できます。個人情報を含むヘッダーを収集しないようにしてください。
4. デフォルトでは“リクエスト”が選択されています。これを更新してレスポンスを収集することもできます。
5. “適用”をクリックします。
ボディ要素
JSON形式でリクエストまたはレスポンスボディの特定の要素を収集することで、活用したいデータポイントの柔軟性を高めることができます。JSON Pathベースのクエリ言語を使用して。
注: ボディ要素を編集することはできませんが、削除して再作成することはできます。
JSON Pathの長さは60文字に制限されています。
分析用のレスポンスボディ要素
エラーのグループ化とフィルタリング(分析のコンテキスト内)およびダッシュボードウィジェットとアラートの作成に使用される、収集される非暗号化のレスポンスボディの要素です。
分析のために収集するレスポンスボディ要素を定義するには:
1. “+ 追加”をクリックします。
2. 収集したい要素のJSONパスを入力します。“+”ボタンをクリックして複数のエントリを一度に追加することもできます。
3. “適用”をクリックします。
トラブルシューティング用のレスポンスボディ要素
セッションリプレイの個別イベントレベルで表示される、トラブルシューティングのために収集したいリクエスト/レスポンスボディの要素です。
トラブルシューティングのために収集するレスポンスボディ要素を定義するには:
1. “+ 追加”をクリックします。
2. 収集したい要素のJSONパスを入力します。“+”ボタンをクリックして複数のエントリを一度に追加することもできます。
3. 暗号化:
- 暗号化が設定されている場合、デフォルトの状態は「暗号化済み」となります。ボディ要素を暗号化されていない状態で収集するには、オフに切り替えてください。
- レスポンスについて:トラブルシューティングのためのボディ要素は暗号化された状態でのみ収集可能です。暗号化されていないレスポンスボディ要素は分析のために追加されます(上記のセクションにて)。
- 暗号化が設定されていない場合、リクエストボディ要素のみが暗号化されていない状態で収集可能です。個人情報を含むボディ要素を収集しないようにしてください。
4. デフォルトでは「レスポンス」が選択されています。レスポンスまたはリクエストのボディ要素を収集できます。
5. 「適用」をクリックします。
サポートされているボディの種類
ボディ要素の収集は、以下の条件下でリクエスト/レスポンスボディに対して利用可能です:
| ウェブ | モバイルアプリ |
| ‘content-type’ヘッダーが‘application/json’または‘application/graphql’に設定されている必要があります | ボディフォーマットは任意のJSONタイプである必要があります |
| サイズは64,000バイト未満でなければなりません | サイズは64,000バイト未満でなければなりません |
ボディ要素の例:
「errors[0].message」でエラーメッセージを暗号化されていない状態で収集
「errors[0].code」でエラーコードを暗号化されていない状態で収集
「data.emailAddress」で個人データとして暗号化されたEメールアドレスを収集
全体のボディ(暗号化済み)
リクエストまたはレスポンスボディ、またはその両方を収集するには、ボックスにチェックを入れてください。表示または追跡できない機密データを含むエンドポイントやフィールドを含めないようにしてください。この情報は許可されていません。
サポートされているボディの種類と制限
| ウェブ | モバイルアプリケーション |
| application/json application/graphql application/xml text/plain text/csv text/xml text/html |
SDKは、フォーマットに関わらずボディを文字列として解析しようとします
|
全体のボディ収集の制限:
リクエストボディは、そのサイズが64KBを超えない場合に収集されます。
レスポンスボディは、そのサイズが5KBを超えない場合に収集されます。
クエリパラメータ(暗号化済み)
クエリパラメータを収集するには、ボックスにチェックを入れてください。クエリパラメータは、そのサイズが2KBを超えない場合に収集されます。
デフォルトのデータポイント
デフォルトでは、リクエストURL、ステータスコード、メソッドを収集します。
ルールの編集と削除
ルールリストから、ルールの右側にある「目」アイコンをクリックしてルールサイドパネルを開きます。
編集するには:
1. ルール名または条件セクションの鉛筆アイコンをクリックします。
2. ステップ1でルールモーダルを開きます。
3. 収集されたデータポイントセクションの鉛筆アイコンをクリックして、ステップ2でルールモーダルを開きます。
4. 変更を適用します。
5. 必要に応じて他のモーダルに移動して追加の変更を適用します。
6. 変更を適用するには「保存」をクリックします。
削除するには:
1. 下部の「ルールを削除」ボタンをクリックします。
2. 「削除」を再度クリックして削除アクションを確認します。
よくある質問
エラーのトラブルシューティングの詳細を遡って追跡できますか?
いいえ、エラーのトラブルシューティングの詳細は、設定が定義された後にのみ収集されます。
リクエストが受け入れられた制限を超えた場合はどうなりますか?
以下の制限を持つ3つのデータポイントがあります:
- クエリパラメータの制限:2KB
- リクエストボディサイズの制限:64KB
- レスポンスボディサイズの制限:5KB
これらのデータポイントはそれぞれ独立して評価されます。制限に達した場合、データは収集されません。それぞれに対して"..."を暗号化されていない状態でプッシュします。これはリプレイのトラブルシューティングの詳細に反映されます。
リクエストまたはレスポンスボディが復号化後もエンコードされているように見えるのはなぜですか?
これは、リクエストにヘッダー Transfer-Encodingが gzip値に設定されている場合に発生する可能性があります。Chrome DevToolsは自動的にボディを解凍するため、使用しているときには目立ちません。しかし、Playerのトラブルシューティングモーダルで見ると、ボディは自動的に解凍されません。サードパーティツールを使用して、復号化後に解凍することができます。