# Akamai DataStream 2

### **Entrega de logs do Akamai DataStream 2 para S3**

Para enviar logs de acesso do Akamai para um bucket Amazon S3, você pode usar o **Akamai DataStream 2**, que é o método padrão e recomendado da Akamai para entrega de logs em tempo real. Abaixo estão as etapas documentadas com foco na configuração do **DataStream 2**, com orientações de configuração específicas para entrega em um bucket S3 hospedado pela Netacea.

### Pré-requisitos

Para transmitir com sucesso os logs de tráfego web para a Netacea, certifique-se do seguinte:

* Você possui uma conta Akamai ativa com acesso completo ao Painel da Akamai.
* O Akamai DataStream 2 está habilitado.

{% hint style="info" %}
O DataStream 2 está incluído na entrega de conteúdo e não possui custo adicional. Para habilitar este recurso, entre em contato com sua equipe de conta da Akamai.
{% endhint %}

* Você recebeu os detalhes necessários do bucket AWS S3 (caminho do bucket, nome, região e credenciais) da Netacea. Estes podem ser encontrados [aqui](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* Você está ciente dos campos do [conjunto de dados mínimo necessário](#step-2-data-set) exigidos pela Netacea para análise de logs.

## Configuração do DataStream 2

Siga a documentação da Akamai encontrada [aqui](https://techdocs.akamai.com/datastream2/docs/quick-start) para criar e ativar um stream do DataStream 2, com base na seguinte configuração:

#### Etapa 1: Configuração

Use a aba **Configuration** para inserir os detalhes básicos do stream e escolher quaisquer propriedades que você deseja monitorar.

#### Etapa 2: Conjunto de Dados

Durante a etapa de configuração do Data Set, use o seguinte conjunto de dados mínimo, definido pela Netacea:

| **Campo Obrigatório**                          | **Descrição**                                                                                                                                             |
| ---------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Request time                                   | O horário em que a requisição foi recebida                                                                                                                |
| Bytes                                          | Os bytes enviados como parte da requisição do usuário                                                                                                     |
| Client IP                                      | O endereço IP de onde a requisição foi feita                                                                                                              |
| HTTP status codes                              | O código de status HTTP retornado pelo servidor                                                                                                           |
| Protocol type                                  | O protocolo do ciclo de requisição-resposta.                                                                                                              |
| Request host                                   | O valor do cabeçalho host na requisição                                                                                                                   |
| Request method                                 | O método HTTP da requisição                                                                                                                               |
| Request path                                   | O caminho do recurso solicitado                                                                                                                           |
| Query string                                   | A query string da requisição                                                                                                                              |
| User-Agent<mark style="color:red;">\*</mark>   | A string do user agent enviada no cabeçalho pelo cliente                                                                                                  |
| Referer<mark style="color:red;">\*</mark>      | A página web de onde o usuário seguiu um link                                                                                                             |
| Turn around time                               | O tempo decorrido em milissegundos entre quando o último cabeçalho da requisição é recebido e o primeiro byte da resposta é escrito no socket do cliente. |
| Custom field<mark style="color:red;">\*</mark> | Este campo suporta variáveis e é necessário para registrar campos personalizados específicos da Netacea.                                                  |
| True-Client-IP\*\*                             | A fonte confiável do IP original do cliente                                                                                                               |
| X-Forwarded-For\*\*                            | Endereço IP de conexão \[array] de uma requisição de cliente, se estiver sendo feita via proxy                                                            |

\*Para monitorar esses campos, você precisa habilitar o registro de parâmetros personalizados do conjunto de dados no behavior **Log Request Details** da propriedade Akamai associada. Consulte [Log custom parameters](https://techdocs.akamai.com/datastream2/docs/log-custom-parameters) para mais detalhes.

\*\* Útil quando há proxies na linha de tráfego do cliente > origem

{% hint style="warning" %}
Certifique-se de selecionar **JSON** como o formato de Log.
{% endhint %}

#### Etapa 3: Entrega

1. Selecione **Amazon S3** como Destino.
2. Em **Name**, insira uma descrição legível para o destino.
3. Em **Bucket**, insira o nome do Bucket S3 relevante hospedado pela Netacea.
4. Em **Folder path**, preencha com "**`logs/"`** a menos que instruído de outra forma pela Netacea.
5. Em **Region**, insira o código da região AWS onde o bucket está localizado. Este deve ser `eu-west-1` (tudo em minúsculas) a menos que orientado de outra forma.
6. Em **Access key ID** e **Secret access key**, insira as credenciais fornecidas pela Netacea.
7. Clique em **Validate & Save** para validar a conexão com o destino e salvar a configuração.
8. Certifique-se de que **Push frequency** esteja definido para o menor valor possível.

#### Etapa 4: Resumo e Ativação

1. Na aba **Summary**, revise todos os detalhes configurados cuidadosamente.
2. Uma vez confirmado, marque a caixa **Activate stream upon saving**.
3. Clique em **Save stream** para concluir a configuração.

#### Etapa 5: Habilitar o DataStream via uma Regra

A ativação do stream pode levar até uma hora. No entanto, os dados só serão coletados e transmitidos **após** você adicionar e habilitar o [behavior DataStream](https://techdocs.akamai.com/datastream2/docs/enable-datastream-behavior) via uma regra na configuração da propriedade do seu site.

Para fazer isso:

1. Crie uma nova versão da propriedade da sua propriedade atualmente ativa.
2. Edite a nova versão.
3. Em **Property Configuration Settings**, clique em **+Rules** para adicionar uma nova regra.
4. Selecione o **Blank Rule Template**, forneça um nome significativo e clique em **Insert Rule**.

<figure><img src="https://3103183613-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ0VONni9fqVKgqwRyueW%2Fuploads%2Fgit-blob-481665751f49c248bbbf7453af292208532af100%2Fimage%20(5)%20(4).png?alt=media" alt=""><figcaption></figcaption></figure>

**Configurar a regra**

* **Seção Criteria**\
  Adicione a seguinte condição de correspondência:
  * **If Hostname is one of `<hostname>`**

<figure><img src="https://3103183613-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ0VONni9fqVKgqwRyueW%2Fuploads%2Fgit-blob-abf200ab839be8f43c24f23110fc719b3c059867%2Fimage%20(9)%20(3).png?alt=media" alt=""><figcaption><p>Rule Criteria</p></figcaption></figure>

{% hint style="info" %}
Se a Netacea está monitorando múltiplos sites, você pode incluir múltiplos hostnames. Inclua apenas aqueles que se destinam a ser monitorados pelo DataStream criado anteriormente.
{% endhint %}

**Seção Behaviors**

* Adicione um behavior para **habilitar o DataStream** criado anteriormente.

  > Você também pode duplicar e reutilizar uma regra existente, se apropriado.

<figure><img src="https://3103183613-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ0VONni9fqVKgqwRyueW%2Fuploads%2Fgit-blob-10d0e74a162432cba13d424d98267487b6e7a857%2Fimage%20(1)%20(1)%20(3).png?alt=media" alt=""><figcaption><p>Rule Behaviors</p></figcaption></figure>

* Adicione outro behavior: **Log Request Details**
  * Defina **Include Custom Log Field** como `on`
  * Defina **Custom Log Field** como `{{user.PMUSER_NETACEA_DS2_CUSTOM_FIELD}}`

<figure><img src="https://3103183613-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJ0VONni9fqVKgqwRyueW%2Fuploads%2Fgit-blob-904e3b8952ca40de8eb9533cf912bdc84f8ad8fb%2Fimage%20(11).png?alt=media" alt=""><figcaption><p>Log Request Details</p></figcaption></figure>

O DataStream e a Regra associada estão agora criados.

{% hint style="info" %}
**Repita o procedimento acima para cada site separado (ou grupo de sites) que a Netacea irá monitorar.**
{% endhint %}

### Ativar a Propriedade

Quando todos os DataStreams e Regras tiverem sido criados, clique em **Save** e use a aba **Activate** para ativar (implantar) suas alterações na configuração da propriedade.

{% hint style="success" %}
A configuração de monitoramento será agora implantada na propriedade na qual foi configurada. Você pode confirmar que a implantação está correta:

* Solicitando que a Netacea revise as métricas internas de monitoramento.
* Solicitando que a Netacea valide o conteúdo e formato dos dados.
  {% endhint %}

### Etapas Finais

Uma vez que a entrega de logs esteja ativa, **notifique seu Engenheiro de Soluções da Netacea**. Isso nos permite:

* Confirmar o recebimento dos dados
* Validar o formato e completude do conjunto de dados
* Iniciar a análise assim que um volume suficiente de dados tiver sido coletado

Se você precisar de suporte durante a configuração, a equipe de SE da Netacea está aqui para ajudar — não hesite em entrar em contato.
