> ## 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

> Esta documentación explica cómo configurar el envío de logs de Google Cloud CDN a la plataforma Profound Agent Analytics mediante un log sink.

## Descripción general

Esta integración usa un tema, una suscripción y un log sink para capturar los logs de Google Cloud CDN y reenviarlos a la plataforma Profound Agent Analytics.

## Requisitos previos

* Una cuenta de GCP con Google Cloud CDN habilitado

* Permisos de acceso y edición en el proyecto de GCP

* Detalles del endpoint de la API de la plataforma Profound Agent Analytics

## Configuración

<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="Configuración de GCP" width="3680" height="2390" data-path="images/agent-analytics/gcp/gcp_setup.png" />

<Steps>
  <Step title="Paso 1">
    Inicia sesión en la consola de GCP y ve a `Topics`; puedes buscar 'topics' en la barra de búsqueda.
  </Step>

  <Step title="Paso 2">
    Crea un nuevo tema haciendo clic en el botón `Create Topic` en la parte superior.

    <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="Crear un tema" width="3680" height="2390" data-path="images/agent-analytics/gcp/create_topic.png" />

    Asigna un nombre a tu tema y haz clic en `Create`
  </Step>

  <Step title="Paso 3">
    Ve a la pestaña `Subscriptions` en la barra lateral izquierda. Haz clic en el botón `Create Subscription` en la parte superior.

    <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="Crear suscripción" width="3680" height="2390" data-path="images/agent-analytics/gcp/create_a_subscription.png" />

    1. Asigna un nombre a tu suscripción.
    2. Selecciona el tema que creaste en el paso 2.
    3. Usa el tipo de entrega `Push`
       * Ingresa `https://artemis.api.tryprofound.com/v1/logs/gcp_log_sink` como endpoint
       * Habilita la autenticación
       * Pega la cuenta de servicio que usará esta suscripción en el campo `Service account`
       * Deja `Audience` en blanco
       * Habilita el desempaquetado del payload
  </Step>

  <Step title="Paso 4">
    Agrega las configuraciones de política de retención que consideres oportunas.

    <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="Política de retención" width="3680" height="2390" data-path="images/agent-analytics/gcp/subscription_retention_policy.png" />
  </Step>

  <Step title="Paso 5">
    Haz clic en el botón `Add a Transform`. Ingresa `profound_agent_analytics_reduce` como nombre de la función.

    Pega el siguiente código en el cuerpo de la función:

    ```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>Esta función se usa para descartar campos innecesarios antes de enviarlos a Profound. Esto reduce el volumen de exportación de logs, mejora el rendimiento y refuerza la seguridad de los datos.</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="Función de transformación" width="3680" height="2390" data-path="images/agent-analytics/gcp/subscription_transform.png" />

    Haz clic en `Validate` para asegurarte de que la función sea válida.
  </Step>

  <Step title="Paso 6">
    Agrega las configuraciones adicionales que consideres oportunas.

    <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="Configuraciones adicionales" width="3680" height="2390" data-path="images/agent-analytics/gcp/subscription_optional_config.png" />

    Haz clic en `Create` para crear la suscripción.
  </Step>

  <Step title="Paso 7">
    Ve a la pestaña `Log Router` buscando 'log router' en la barra de búsqueda. Haz clic en el botón `Create sink` en la parte superior.

    Asigna un nombre a tu sink y, opcionalmente, una descripción.
  </Step>

  <Step title="Paso 8">
    En la sección `Sink destination`, selecciona `Cloud Pub/Sub topic` como `sink service`. En el campo `sink destination`, selecciona el tema que creaste en el paso 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="Servicio del sink" width="3680" height="2390" data-path="images/agent-analytics/gcp/sink_service.png" />
  </Step>

  <Step title="Paso 9">
    Agrega los siguientes filtros a tu sink en la sección `Choose logs to include in sink`.

    <Warning>Asegúrate de reemplazar los marcadores de posición con los nombres reales de tu balanceador de carga y de tu URL map. **Esto es solo un ejemplo.**</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="Filtros del sink" width="3680" height="2390" data-path="images/agent-analytics/gcp/sink_filters.png" />

    Por último, haz clic en `Create sink` en la parte inferior.

    <Info>
      Si tienes varios balanceadores de carga y URL maps, puedes modificar los filtros para incluir varios recursos, por ejemplo:

      ```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="Paso 10">
    <Warning>
      Si vas a registrar varios dominios de GCP en Profound, deberás crear una cuenta de servicio independiente para cada dominio. La cuenta se usa para decodificar el token JWT y confirmar el dominio de origen.
    </Warning>

    Regresa a Profound. En la página de incorporación de Agent Analytics, pega el mismo correo electrónico de la cuenta de servicio que usaste en el paso 3 en el campo `GCP Service Account`. Asegúrate de hacer clic en `Save` después de pegar el correo electrónico.

    <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="Cuenta de servicio" width="3680" height="2390" data-path="images/agent-analytics/gcp/gcp_setup.png" />

    Haz clic en `Continue` para completar el proceso de incorporación.
  </Step>
</Steps>

<Check>
  ¡Eso es todo! Google Cloud CDN ahora enviará logs en tiempo real a Profound. Los datos deberían empezar a aparecer en tu dashboard en unos minutos.
</Check>

## Solución de problemas

* Asegúrate de haber compartido con Profound el mismo correo electrónico de la cuenta de servicio que usaste para crear la suscripción.

* Revisa la pestaña `Logs` en Profound para verificar que se estén recibiendo los logs.

* Verifica que la cuenta de servicio tenga los permisos necesarios para acceder al tema como pub/sub.

* Verifica que el tema esté creado y activo.

* Verifica que la suscripción esté creada y activa.

## Recursos adicionales

* [Documentación sobre el enrutamiento de logs a terceros](https://docs.cloud.google.com/logging/docs/export/pubsub#integrate-thru-pubsub)

* [Documentación sobre la gestión de cuentas de servicio](https://docs.cloud.google.com/iam/docs/create-service-agents#grant-role)

* Escribe a [support@tryprofound.com](mailto:support@tryprofound.com) si tienes preguntas relacionadas con la API
