> ## Documentation Index
> Fetch the complete documentation index at: https://auth0.generaltranslation.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhookを使用してカスタムログストリームを作成する

> カスタムWebhookを使用して、ログイベントを任意のURLにストリーミングするログストリームを構成する方法を学びましょう。

Webhookは外部のWebサーバーにイベントを届けるようにします。Auth0はサードパーティのログ管理や分析システムに自動的にイベントをプッシュする複数の統合を提供します。サードパーティのシステムがサポートされていない場合、カスタムのWebhook統合をセットアップできます。

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Webhookの構成につきペイロードURLを1つだけサブスクライブできますが、同じURLを複数のストリームに使用できます。ペイロードはJSON Lines形式で配信されます。Webhookの構成でログを使用する際には、この点に留意してください。
</Callout>

<div id="configure-api-endpoint">
  ## APIエンドポイントを構成
</div>

1つのルート（`/api/logs`など）を提供するAPIを構築し、`HTTP POST`要求を受け入れます。

<Warning>
  自己署名付きHTTP証明書は、サポート対象外です。
</Warning>

<div id="configure-log-stream">
  ## ログストリームを構成する
</div>

1. [［Dashboard］>［Monitoring（モニタリング）］>［Streams（ストリーム）］](https://manage.auth0.com/#/log-streams)に移動して、 **［Create Stream（ストリームの作成）］** をクリックします。

   <Frame>
     <img src="https://mintcdn.com/generaltranslationinc/xVHOwZwVA1KVCQay/docs/images/ja-jp/cdy7uua7fh8z/5ZY6sT68DabXNL9Dr4bhss/ff0f7306fcf9d64247a61a48b12a39a9/log_stream.png?fit=max&auto=format&n=xVHOwZwVA1KVCQay&q=85&s=d367377c89d5754f9ce3d845a1283dfe" alt="Dashboard Monitoring Streams" width="1924" height="1336" data-path="docs/images/ja-jp/cdy7uua7fh8z/5ZY6sT68DabXNL9Dr4bhss/ff0f7306fcf9d64247a61a48b12a39a9/log_stream.png" />
   </Frame>

2. **［Custom Webhook（カスタムWebhook）］** を選択し、新しいストリームに対して一意の名前を入力します。

3. 次の設定を行います。

   <Frame>
     <img src="https://mintcdn.com/generaltranslationinc/RaaDNrCsuR3m7a0Z/docs/images/ja-jp/cdy7uua7fh8z/5vJVD09aqSF0xEZZFk6wh2/3886c59282d49515e58ac5f9f972e97b/Custom_Webhook_config_form.png?fit=max&auto=format&n=RaaDNrCsuR3m7a0Z&q=85&s=b8b5e9715b54c67f29005660eb8f60bb" alt="Dashboard モニタリング ストリーム カスタムウェブフック設定タブ" width="1274" height="1935" data-path="docs/images/ja-jp/cdy7uua7fh8z/5vJVD09aqSF0xEZZFk6wh2/3886c59282d49515e58ac5f9f972e97b/Custom_Webhook_config_form.png" />
   </Frame>

   <table class="table">
     <thead>
       <tr>
         <th><b>設定</b></th>
         <th><b>説明</b></th>
       </tr>
     </thead>

     <tbody>
       <tr>
         <td><b>Name（名前）</b></td>
         <td>この統合を他の統合と区別する一意の表示名です。</td>
       </tr>

       <tr>
         <td><b>Payload URL（ペイロードURL）</b></td>
         <td>イベントのペイロードをHTTP POST要求として送信するURLです。</td>
       </tr>

       <tr>
         <td><b>Authorization Token（認可トークン）</b></td>
         <td>（任意）要求のAuthorizationヘッダーに含まれる値です。</td>
       </tr>

       <tr>
         <td><b>Content Type（コンテンツタイプ）</b></td>
         <td>Webhookに転送されるペイロードのメディアタイプです。</td>
       </tr>

       <tr>
         <td><b>Content Format（コンテンツ形式）</b></td>
         <td>JSONの行、配列またはオブジェクトでデータを受信します。</td>
       </tr>

       <tr>
         <td><b>Filter by Event Category（イベントカテゴリーでフィルター）</b></td>
         <td>ログストリームフィルターのリストです。</td>
       </tr>

       <tr>
         <td><b>Starting Cursor（開始カーソル）</b></td>
         <td>（任意）ストリームを開始する日時を指定します。</td>
       </tr>
     </tbody>
   </table>

4. **［Save（保存）］** をクリックします。

<div id="test-configuration">
  ## 構成をテストする
</div>

1. **［Health（ヘルス）］** ビューに切り替え、 **［Stream Status（ストリームステータス）］** が **［Active（アクティブ）］** になっていることを確認してください。
2. ログイン、トークン交換、Auth0 Management APIの呼び出しなどのテナントログイベントを作成するアクションを実行します。
3. イベントがテナントログに作成されたことを確認します。
4. APIがイベントデータと一緒に`HTTP POST`要求を受け取ったことを確認します。
5. **［Health（ヘルス）］** ビューに移動し、エラーが起きていないことを確認します。

<div id="troubleshoot-webhooks">
  ## Webhookのトラブルシューティング
</div>

Webhookが動作しない場合、トラブルシューティングや原因の特定が困難なことがあります。Webhookは非同期なため、テストするためには、Webhookをトリガーして待機し、応答を確認しなければなりません（応答があったと仮定した場合）。

しかし、もっと効率の良い方法が他にあります。この記事では、個々のWebhookのトラブルシューティング方法を詳しく説明することはできませんが、デバッグのためにできるいくつかのステップをご紹介しておきます。

1. [［Auth0 Dashboard］>［Monitoring（モニタリング）］>［Logs（ログ）］](/docs/ja-JP/ja-jp/deploy-monitor/logs)で役に立つメッセージを確認してください。
2. [Mockbin](http://mockbin.io/)、[Beeceptor](https://beeceptor.com/)、または（自己ホスト型の）[RequestBin](https://github.com/Runscope/requestbin)などのツールを使用して、Webhookが出している要求を分析します。
3. cURLまたは[Postman](https://www.getpostman.com/)を使用して要求をモックします。
4. [localtunnel](https://github.com/localtunnel/localtunnel)や[ngrok](https://ngrok.com/)などを使用して、Webhookコードをローカルでテストします。
5. [Runscope](https://www.runscope.com/)や[Assertible](https://assertible.com/)などのツールを使用して、実行フロー全体を監視します。

<div id="learn-more">
  ## もっと詳しく
</div>

* [ログストリームの正常性を確認する](/docs/ja-JP/ja-jp/customize/log-streams/check-log-stream-health)
* [ログイベントにフィルターをかける](/docs/ja-JP/ja-jp/deploy-monitor/logs/log-event-filters)
* [ログイベントタイプのコード](/docs/ja-JP/ja-jp/deploy-monitor/logs/log-event-type-codes)
