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

# Google Cloud CDN

> ログシンクを使用して、Google Cloud CDN のログを Profound Agent Analytics プラットフォームに配信する設定方法を説明します。

## 概要

この統合では、トピック、サブスクリプション、ログシンクを使用して Google Cloud CDN のログを取得し、Profound Agent Analytics プラットフォームに転送します。

## 前提条件

* Google Cloud CDN が有効になっている GCP アカウント

* GCP プロジェクトへのアクセス権と編集権限

* Profound Agent Analytics プラットフォームの API エンドポイントの詳細

## 設定

<img src="https://mintcdn.com/profound-37face47/tg0qbLRw_vFMInTl/images/agent-analytics/gcp/gcp_setup.png?fit=max&auto=format&n=tg0qbLRw_vFMInTl&q=85&s=afcaea65e6de8c8cf41bf68e5da11fe4" alt="GCP のセットアップ" width="3680" height="2390" data-path="images/agent-analytics/gcp/gcp_setup.png" />

<Steps>
  <Step title="ステップ 1">
    GCP Console にサインインし、`Topics` に移動します。検索バーで「topics」と検索することもできます。
  </Step>

  <Step title="ステップ 2">
    上部付近にある `Create Topic` ボタンをクリックして、新しいトピックを作成します。

    <img src="https://mintcdn.com/profound-37face47/tg0qbLRw_vFMInTl/images/agent-analytics/gcp/create_topic.png?fit=max&auto=format&n=tg0qbLRw_vFMInTl&q=85&s=b562468b14ddb5f2958332a7cf80ded3" alt="トピックを作成" width="3680" height="2390" data-path="images/agent-analytics/gcp/create_topic.png" />

    トピックに名前を付けて `Create` をクリックします。
  </Step>

  <Step title="ステップ 3">
    左サイドバーの `Subscriptions` タブに移動します。上部付近にある `Create Subscription` ボタンをクリックします。

    <img src="https://mintcdn.com/profound-37face47/tg0qbLRw_vFMInTl/images/agent-analytics/gcp/create_a_subscription.png?fit=max&auto=format&n=tg0qbLRw_vFMInTl&q=85&s=9dd8d288cad258acaed3fba9b4fc23f2" alt="サブスクリプションを作成" width="3680" height="2390" data-path="images/agent-analytics/gcp/create_a_subscription.png" />

    1. サブスクリプションに名前を付けます。
    2. ステップ 2 で作成したトピックを選択します。
    3. 配信タイプに `Push` を使用します
       * エンドポイントとして `https://artemis.api.tryprofound.com/v1/logs/gcp_log_sink` を入力します
       * 認証を有効にします
       * このサブスクリプションが使用するサービスアカウントを `Service account` フィールドに貼り付けます
       * `Audience` は空欄のままにします
       * ペイロードのアンラップ (payload unwrapping) を有効にします
  </Step>

  <Step title="ステップ 4">
    必要に応じて保持ポリシーを設定します。

    <img src="https://mintcdn.com/profound-37face47/tg0qbLRw_vFMInTl/images/agent-analytics/gcp/subscription_retention_policy.png?fit=max&auto=format&n=tg0qbLRw_vFMInTl&q=85&s=99f1706b09abb9289f362878cd3c0239" alt="保持ポリシー" width="3680" height="2390" data-path="images/agent-analytics/gcp/subscription_retention_policy.png" />
  </Step>

  <Step title="ステップ 5">
    `Add a Transform` ボタンをクリックします。関数名として `profound_agent_analytics_reduce` を入力します。

    関数本体に次のコードを貼り付けます。

    ```javascript theme={null}
    /* This UDF is used to filter the unused fields before sending to Profound.
     * 
     * @param {Object} message - The message to reduce.
     * @param {Object} metadata - The metadata of the message.
     * @returns {Object} The reduced message.
    */

    function profound_agent_analytics_reduce(message, metadata) {
        // parse the message
        const data = JSON.parse(message.data);

        // remove unused fields
        delete data['insertId'];
        delete data['jsonPayload'];
        delete data['logName'];
        delete data['receiveTimestamp'];
        delete data['resource'];
        delete data['severity'];
        delete data['spanId'];
        delete data['trace'];

        message.data = JSON.stringify(data);

        return message;

    }
    ```

    <Info>この関数は、Profound に送信する前に不要なフィールドを削除するために使用されます。これにより、ログのエクスポート量が削減され、パフォーマンスが向上し、データセキュリティが強化されます。</Info>

    <img src="https://mintcdn.com/profound-37face47/tg0qbLRw_vFMInTl/images/agent-analytics/gcp/subscription_transform.png?fit=max&auto=format&n=tg0qbLRw_vFMInTl&q=85&s=30c80cbdc54364c310f5b1aaeea9477d" alt="変換関数" width="3680" height="2390" data-path="images/agent-analytics/gcp/subscription_transform.png" />

    `Validate` をクリックして、関数が有効であることを確認します。
  </Step>

  <Step title="ステップ 6">
    必要に応じて追加の設定を行います。

    <img src="https://mintcdn.com/profound-37face47/tg0qbLRw_vFMInTl/images/agent-analytics/gcp/subscription_optional_config.png?fit=max&auto=format&n=tg0qbLRw_vFMInTl&q=85&s=c863a14ff66be1824ce1878df86bee24" alt="追加の設定" width="3680" height="2390" data-path="images/agent-analytics/gcp/subscription_optional_config.png" />

    `Create` をクリックしてサブスクリプションを作成します。
  </Step>

  <Step title="ステップ 7">
    検索バーで「log router」と検索して、`Log Router` タブに移動します。上部付近にある `Create sink` ボタンをクリックします。

    シンクに名前と、必要に応じて説明を付けます。
  </Step>

  <Step title="ステップ 8">
    `Sink destination` セクションで、`sink service` として `Cloud Pub/Sub topic` を選択します。`sink destination` フィールドで、ステップ 2 で作成したトピックを選択します。

    <img src="https://mintcdn.com/profound-37face47/tg0qbLRw_vFMInTl/images/agent-analytics/gcp/sink_service.png?fit=max&auto=format&n=tg0qbLRw_vFMInTl&q=85&s=fc04900889359ece1c61f29f3c0f6645" alt="シンクサービス" width="3680" height="2390" data-path="images/agent-analytics/gcp/sink_service.png" />
  </Step>

  <Step title="ステップ 9">
    `Choose logs to include in sink` セクションで、シンクに次のフィルターを追加します。

    <Warning>プレースホルダーは、実際のロードバランサー名と URL マップ名に必ず置き換えてください。**これは単なる例です。**</Warning>

    ```toml theme={null}
    resource.type="http_load_balancer"
    resource.labels.forwarding_rule_name="MY-FORWARDING-RULE-NAME"
    resource.labels.url_map_name="MY-URL-MAP-NAME"
    ```

    <img src="https://mintcdn.com/profound-37face47/tg0qbLRw_vFMInTl/images/agent-analytics/gcp/sink_filters.png?fit=max&auto=format&n=tg0qbLRw_vFMInTl&q=85&s=5b2447b42a4b3bb85515a7fff4f9c275" alt="シンクフィルター" width="3680" height="2390" data-path="images/agent-analytics/gcp/sink_filters.png" />

    最後に、下部にある `Create sink` をクリックします。

    <Info>
      複数のロードバランサーと URL マップがある場合は、次のようにフィルターを変更して複数のリソースを含めることができます。

      ```toml theme={null}
      resource.type="http_load_balancer"
      AND (
      (resource.labels.forwarding_rule_name="MY-FORWARDING-RULE-NAME"
      AND resource.labels.url_map_name="MY-URL-MAP-NAME")
      OR
      (resource.labels.forwarding_rule_name="MY-FORWARDING-RULE-NAME-2"
      AND resource.labels.url_map_name="MY-URL-MAP-NAME-2")
      )
      ```
    </Info>
  </Step>

  <Step title="ステップ 10">
    <Warning>
      複数の GCP ドメインを Profound に登録する場合は、ドメインごとに個別のサービスアカウントを作成する必要があります。このアカウントは、JWT トークンをデコードして送信元ドメインを確認するために使用されます。
    </Warning>

    Profound に戻ります。Agent Analytics のオンボーディングページで、ステップ 3 で使用したものと同じサービスアカウントのメールアドレスを `GCP Service Account` フィールドに貼り付けます。メールアドレスを貼り付けた後、必ず `Save` をクリックしてください。

    <img src="https://mintcdn.com/profound-37face47/tg0qbLRw_vFMInTl/images/agent-analytics/gcp/gcp_setup.png?fit=max&auto=format&n=tg0qbLRw_vFMInTl&q=85&s=afcaea65e6de8c8cf41bf68e5da11fe4" alt="サービスアカウント" width="3680" height="2390" data-path="images/agent-analytics/gcp/gcp_setup.png" />

    `Continue` をクリックしてオンボーディングプロセスを完了します。
  </Step>
</Steps>

<Check>
  以上です。これで Google Cloud CDN がリアルタイムログを Profound に送信するようになります。数分以内にダッシュボードにデータが表示され始めます。
</Check>

## トラブルシューティング

* サブスクリプションの作成に使用したものと同じサービスアカウントのメールアドレスを Profound に共有していることを確認してください。

* Profound の `Logs` タブで、ログが受信されていることを確認してください。

* サービスアカウントに、Pub/Sub としてトピックにアクセスするために必要な権限があることを確認してください。

* トピックが作成され、有効になっていることを確認してください。

* サブスクリプションが作成され、有効になっていることを確認してください。

## その他のリソース

* [サードパーティへのログルーティングに関するドキュメント](https://docs.cloud.google.com/logging/docs/export/pubsub#integrate-thru-pubsub)

* [サービスアカウント管理に関するドキュメント](https://docs.cloud.google.com/iam/docs/create-service-agents#grant-role)

* API に関するご質問は [support@tryprofound.com](mailto:support@tryprofound.com) までお問い合わせください
