> For the complete documentation index, see [llms.txt](https://docs.airops.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.airops.com/docs/pt/insights/onsite/traffic/cloudfront-agent-analytics.md).

# CloudFront

Este guia mostra como configurar os registos em tempo real do Amazon CloudFront para serem transmitidos para o AirOps via Amazon Kinesis Data Firehose.

Este guia mostra como configurar o Amazon CloudFront **registos em tempo real** para transmitir para a AirOps através de **Amazon Kinesis Data Firehose**. Depois de ligado, a AirOps analisará automaticamente o seu tráfego, classificará visitas de bots de IA (ChatGPT, Claude, Perplexity, Google e mais) e apresentará insights no seu painel Agent Analytics.

***

### Pré-requisitos

* Uma **AirOps** conta ativa com o Agent Analytics ativado
* Uma **conta AWS** com acesso ao CloudFront, Kinesis Data Firehose e IAM
* Uma **distribuição CloudFront** que serve o seu website
* Sua **Chave de API do Workspace:** disponível em Definições (barra de navegação à esquerda) > Workspace
* Sua **ID do Brand Kit:** disponível na URL ao navegar para Contexto (barra de navegação à esquerda) > BrandKits, algo no formato de `https://app.airops.com/<YOUR_WORKSPACE_SLUG>/data/brand_kits/<YOUR_BRAND_KIT_ID>`

***

### Passo 1: Criar um stream de entrega do Kinesis Data Firehose

1. Abra o **Amazon Kinesis** consola e navegue para **Data Firehose**.
2. Clique em **Criar stream Firehose**.
3. Configure a origem e o destino:
   * **Origem:** `PUT direto`
   * **Destino:** `Ponto final HTTP`
4. Dê um nome ao seu stream (por exemplo, `airops-cloudfront-analytics`).

#### Configure o destino do ponto final HTTP

| Definição                   | Valor                                                                    |
| --------------------------- | ------------------------------------------------------------------------ |
| **URL do ponto final HTTP** | `https://ingest.airops.com/api/v1/cloudfront/<YOUR_BRAND_KIT_ID>/ingest` |
| **Chave de acesso**         | A sua chave de API do Workspace da AirOps                                |
| **Codificação de conteúdo** | `GZIP`                                                                   |
| **Duração da repetição**    | `300` segundos (recomendado)                                             |

<figure><img src="https://31915162-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2FVj41I6mzmUrWTy5eAlr2%2FScreenshot%202026-04-02%20at%206.52.32%E2%80%AFPM.png?alt=media&amp;token=33c45fe0-7d89-4008-9a49-c85f7a823972" alt=""><figcaption></figcaption></figure>

#### Configure as sugestões de buffer

| Definição               | Valor recomendado |
| ----------------------- | ----------------- |
| **Tamanho do buffer**   | `5 MiB`           |
| **Intervalo do buffer** | `60` segundos     |

Estas definições controlam a frequência com que o Firehose entrega lotes à AirOps. Estas são as definições recomendadas para não receber erros 429 dos nossos servidores.

#### Configure as definições de backup

* **Bucket S3 de backup:** Selecione ou crie um bucket S3 para backups de entregas falhadas.
* **Modo de backup:** `Apenas dados falhados` (recomendado).

5. Clique em **Criar stream Firehose**.

***

### Passo 2: Criar uma configuração de registo em tempo real do CloudFront

1. Abra o **CloudFront** consola.
2. Na navegação à esquerda, vá para **Registos > Adicionar > Amazon Cloudwatch Logs**.
3. Selecione Entregar para Amazon Kinesis Firehose.
4. Selecione Stream de destino: o seu Firehose configurado
5. Configure as seguintes definições adicionais:

| Definição            | Valor   |
| -------------------- | ------- |
| **Campos**           | `todos` |
| **Formato de saída** | `JSON`  |

#### Selecionar campos de registo

Selecione **todos** dos seguintes campos. Todos são obrigatórios, e os registos que não tiverem algum deles não podem ser processados:

| Campo                 | Obrigatório |
| --------------------- | ----------- |
| `timestamp(data)`     | Sim         |
| `timestamp(hora)`     | Sim         |
| `cs-method`           | Sim         |
| `cs-uri-stem`         | Sim         |
| `cs(User-Agent)`      | Sim         |
| `cs(Referer)`         | Sim         |
| `cs-protocol-version` | Sim         |
| `cs-protocol`         | Sim         |
| `cs-bytes`            | Sim         |
| `sc-status`           | Sim         |
| `sc-bytes`            | Sim         |
| `sc-content-type`     | Sim         |
| `time-taken`          | Sim         |
| `time-to-first-byte`  | Sim         |
| `ssl-protocol`        | Sim         |
| `ssl-cipher`          | Sim         |
| `x-edge-location`     | Sim         |
| `x-edge-result-type`  | Sim         |
| `x-host-header`       | Sim         |

`c-ip` como no `cs-uri-query` não são obrigatórios, e a AirOps não armazena endereços IP dos visitantes nem strings de consulta. Selecionar `todos` campos envia-os, mas nós ignoramo-los. Se preferir não partilhá-los, deixe-os de fora.

5. Clique em **Criar configuração**.

***

### Passo 3: Anexar a configuração de registo à sua distribuição

1. Vá para **CloudFront > Distribuições** e selecione a sua distribuição.
2. Aceda ao **Comportamentos** separador.
3. Selecione o comportamento que quer monitorizar (normalmente `Predefinido (*)`) e clique em **Editar**.
4. Em **configuração de registo em tempo real**, selecione a `airops-analytics` configuração que acabou de criar.
5. Clique em **Guardar alterações**.

Repita para quaisquer comportamentos de cache adicionais que queira monitorizar.

***

### Passo 4: Verificar a ligação

Depois de anexar a configuração, os dados devem começar a fluir dentro de **2-5 minutos**.

1. Gere algum tráfego para a sua distribuição CloudFront (visite o seu website).
2. Verifique o separador Firehose **Monitorização** na consola da AWS para confirmar que os registos estão a ser entregues.
3. No seu **painel do AirOps**, navegue até **Agent Analytics** — deverá ver os dados de tráfego a aparecer em breve.

#### Resolução de problemas

| Sintoma                                  | Causa provável                      | Correção                                                                                               |
| ---------------------------------------- | ----------------------------------- | ------------------------------------------------------------------------------------------------------ |
| O Firehose mostra erros de entrega (401) | Chave de API inválida               | Verifique a sua chave de API em AirOps Definições > Integrações                                        |
| O Firehose mostra erros de entrega (429) | Limite de taxa excedido             | Aumente o intervalo do buffer ou o tamanho do buffer para reduzir a frequência de entrega              |
| Sem dados na monitorização do Firehose   | Configuração de registo não anexada | Confirme que a configuração de registo em tempo real está anexada ao comportamento da sua distribuição |
| Dados no Firehose, mas não na AirOps     | Atraso de processamento             | Espere até 10 minutos; verifique se o seu Brand Kit ID está correto no URL do ponto final              |

***

### Limites de taxa

O ingestor do AirOps impõe um limite de taxa de **5 solicitações por minuto por chave de API**. Com as definições de buffer recomendadas (5 MiB / 60 segundos), ficará bem dentro deste limite. Se tiver distribuições com muito tráfego, aumente o tamanho do buffer ou o intervalo em conformidade.

***

### O que o AirOps rastreia

Depois de conectado, o AirOps automaticamente:

* **Ingere todos os pedidos CloudFront** — visualizações de páginas, ativos, chamadas de API
* **Classifica o tráfego de bots de IA** — identifica visitas do ChatGPT, Claude, Google, Perplexity, Meta, Apple, Bing, Bytedance, Common Crawl e outros
* **Categoriza o comportamento de rastreamento** — distingue entre rastreadores de treino de IA, pesquisas de IA, indexação de IA e navegação em IA iniciada pelo utilizador
* **Exibe análises** — repartições de tráfego, rácios bot-vs-human e tendências de rastreio no seu painel


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.airops.com/docs/pt/insights/onsite/traffic/cloudfront-agent-analytics.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
