# Configuração de Monitoramento

### Pré-requisitos

Antes que a Netacea possa monitorar sua plataforma com sucesso, certifique-se de que você:

1. Forneceu à Netacea sua [Função IAM do Fastly](https://docs.fastly.com/en/guides/creating-an-aws-iam-role-for-fastly-logging), se solicitado.
2. Teve os endpoints de envio de logs e credenciais relevantes compartilhados via [portal Netacea](/br/informacoes-do-plugin-netacea/accessing-your-integration-settings.md).
3. Forneceu uma lista de todos os usuários conhecidos, seguros e confiáveis, parceiros e aplicativos de terceiros. Isso inclui uma lista de bots confiáveis e ferramentas automatizadas. Qualquer informação sobre atores maliciosos conhecidos também é valiosa.
4. Forneceu uma lista de casos de uso de proteção e os caminhos vulneráveis a cada um.

### Conjunto Mínimo de Dados Necessário

Para analisar os dados com sucesso, os seguintes dados serão monitorados:

<table><thead><tr><th width="234">Campos Obrigatórios</th><th>Descrição</th></tr></thead><tbody><tr><td>Timestamp</td><td>A hora em que a requisição foi recebida</td></tr><tr><td>Endereço IP</td><td>O endereço IP de onde a requisição foi feita</td></tr><tr><td>User Agent</td><td>A string de user agent enviada no cabeçalho pelo cliente</td></tr><tr><td>Método</td><td>O método HTTP da requisição</td></tr><tr><td>Caminho</td><td>O caminho do recurso solicitado</td></tr><tr><td>Query</td><td>A query string da requisição</td></tr><tr><td>Status</td><td>O código de status HTTP retornado pelo servidor</td></tr><tr><td>Referrer</td><td>A página da web de onde o usuário seguiu um link</td></tr><tr><td>Bytes Enviados</td><td>OS bytes enviados como parte da requisição do usuário</td></tr><tr><td>Protocolo</td><td>O protocolo do ciclo de requisição-resposta.</td></tr><tr><td>Tempo de Requisição</td><td>Quanto tempo a requisição levou em microssegundos.</td></tr><tr><td>Host da Requisição</td><td>O cabeçalho Host da requisição atual.</td></tr><tr><td>Fingerprint JA3</td><td>JA3 é um método para criar fingerprints de clientes SSL/TLS.</td></tr></tbody></table>

{% hint style="info" %}
Além dos campos padrão acima, a integração Netacea adicionará vários campos personalizados ao formato de log.\
\
Estes incluem:<br>

`bc_type`, `user_id`, `integration_type` e `integration_version`.
{% endhint %}

### Etapas de Implementação

1. Faça login na interface web do Fastly.
2. Na página inicial, selecione o serviço apropriado. Você pode usar a caixa de pesquisa para buscar por ID, nome ou domínio.
3. Clique no botão de editar configuração e selecione a opção para clonar a versão ativa. A página de Domínios será exibida.

Todas as alterações de configuração abaixo serão feitas na versão recém-clonada.

{% hint style="info" %}
Anote a versão atualmente ativa caso precise fazer rollback no futuro.
{% endhint %}

### Streaming de Logs

* Navegue até a área de Logging.
* Clique no botão "Create endpoint" para Amazon S3

<figure><img src="/files/9ccJLfrszFc3eRBEDlnu" alt=""><figcaption></figcaption></figure>

* Insira os seguintes detalhes:

XLOCKX168

<table><thead><tr><th width="186">Campo</th><th>Valor</th></tr></thead><tbody><tr><td>Name</td><td>Insira um nome memorável e legível para o endpoint, como Netacea_Logging.</td></tr><tr><td>Placement</td><td>Format Version Default</td></tr><tr><td>Log Format</td><td><a href="#undefined">Log Format</a></td></tr><tr><td>Timestamp</td><td><a href="#timestamp">Timestamp</a></td></tr><tr><td>Bucket Name</td><td>O nome do bucket Amazon S3 fornecido pelo <a href="/pages/ZYEEDXJBIpflP2MF4oTR">portal Netacea</a>.</td></tr><tr><td>Access Method</td><td>O ARN da Função IAM ou Credenciais de Usuário fornecidos pelo <a href="/pages/ZYEEDXJBIpflP2MF4oTR">portal Netacea</a>.</td></tr><tr><td>Period</td><td></td></tr></tbody></table>

169XLOCKX

| Path                     | /                                                                                                                                              |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------- |
| Domain                   | <p>O domínio do endpoint Amazon S3 que foi fornecido pela Netacea.</p><p>Se não especificado, use <code>s3.eu-west-1.amazonaws.com</code>.</p> |
| Select a log line format | Blank                                                                                                                                          |
| Compression              | Gzip                                                                                                                                           |

{% hint style="info" %}
Qualquer opção não especificada acima deve ser deixada com o valor padrão.
{% endhint %}

#### Log Format

{% code overflow="wrap" fullWidth="false" %}

```
{"@timestamp": "%{%Y-%m-%dT%H:%M:%S%z}t","bc_type": %{if(req.http.netacea_bctype_string, "%u0022" + json.escape(req.http.netacea_bctype_string) + "%u0022", "null")}V,"bytes_sent": "%B","cookie_session_status": %{if(req.http.x-netacea:cookie_session_status, "%u0022" + json.escape(req.http.x-netacea:cookie_session_status) + "%u0022", "null")}V,"client": "%{json.escape(client.ip)}V","domain": %{if(req.http.host, "%u0022" + json.escape(req.http.host) + "%u0022", "null")}V,"integration_mode": %{"%u0022" + json.escape(req.http.x-netacea:integration_mode) + "%u0022"}V,"integration_type": %{if(req.http.integration_type, "%u0022" + json.escape(req.http.integration_type) + "%u0022", "null")}V,"integration_version": %{if(req.http.integration_version, "%u0022" + json.escape(req.http.integration_version) + "%u0022", "null")}V,"method": "%{json.escape(req.method)}V","path": "%{json.escape(req.url.path)}V","mit_svc_latency":%{if(req.http.x-netacea:mit_svc_latency, "%u0022" + json.escape(req.http.x-netacea:mit_svc_latency) + "%u0022", "0")}V,"mit_status":%{if(req.http.x-netacea:mit_status, "%u0022" + json.escape(req.http.x-netacea:mit_status) + "%u0022", "0")}V,"protocol": "%{json.escape(req.proto)}V","query": "%{json.escape(req.url.qs)}V","referrer": %{if(req.http.referer, "%u0022" + json.escape(req.http.referer) + "%u0022", "null")}V,"request_time": %{time.elapsed}V,"status": "%{json.escape(resp.status)}V","user_agent": %{if(req.http.user-agent, "%u0022" + json.escape(req.http.user-agent) + "%u0022", "null")}V,"user_id": %{if(req.http.x-netacea-userid, "%u0022" + json.escape(req.http.x-netacea-userid) + "%u0022", "null")}V,"client_ja3_md5": %{if(tls.client.ja3_md5, "%u0022" + json.escape(tls.client.ja3_md5) + "%u0022", "null")}V,"x_forwarded_for": %{if(req.http.X-Forwarded-For, "%u0022" + json.escape(req.http.X-Forwarded-For) + "%u0022", "null")}V}
```

{% endcode %}

#### Timestamp

```
%Y-%m-%dT%H:%M:%S.000
```

### Considerações sobre Logging

O Fastly permite que os usuários habilitem o recurso do Host chamado "[Shielding](https://developer.fastly.com/learning/concepts/shielding/)" que tem alguns benefícios como reduzir a carga na origem, melhorar a taxa de acerto de cache, etc. Habilitar esse recurso em um serviço Fastly que usa nossa Integração resulta em duplicação de logs.

Ao configurar o envio de logs do Fastly por padrão, ele enviará todas as requisições, incluindo conteúdo estático e de mídia que não é necessário para a Netacea.\
\
Para resolver esse problema, precisamos adicionar uma Condição ao serviço e anexá-la ao Netacea Logging.

* Navegue até a área de Conditions
* Clique em "Create Condition"

<figure><img src="/files/NYbrcXxL4bq9TQsSKHTD" alt=""><figcaption></figcaption></figure>

* Insira os seguintes detalhes na janela popup:

<table><thead><tr><th width="186">Campo</th><th>Valor</th></tr></thead><tbody><tr><td>Type</td><td>Response</td></tr><tr><td>Name</td><td>ex.: Netacea_Log_Visit</td></tr><tr><td>Apply if</td><td><code>(req.url !~ "/media/" &#x26;&#x26; req.url !~ "/static/") &#x26;&#x26; fastly.ff.visits_this_service == 0</code></td></tr><tr><td>Priority</td><td>10 (padrão)</td></tr></tbody></table>

* Clique em "Save" e navegue até a área de Logging
* Encontre Netacea Logging e clique em "Attach a condition"

<figure><img src="/files/HiSMP8IPF5OtTIvWReCT" alt=""><figcaption></figcaption></figure>

* Na janela popup, selecione a condição recém-criada

<figure><img src="/files/0gXCKVBlNgV7Y6Iu43sn" alt=""><figcaption></figcaption></figure>

### Finalizando

Verifique se você completou as seguintes etapas:

* Certifique-se de que nenhum aviso de erro esteja aparecendo

Agora você está pronto para implantar a versão que estava editando clicando em "Activate".

<figure><img src="/files/8LLL2FZd84GDD6Hwxh4T" alt=""><figcaption></figcaption></figure>

O envio de logs agora será implantado no serviço para o qual foi configurado. Você pode verificar se a implantação está correta:

* Revisando a versão ativa para o novo job de envio de logs.
* Solicitando que a Netacea revise as métricas internas de ingestão.
* Solicitando que a Netacea valide o conteúdo e formato dos dados.


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.netacea.com/br/informacoes-do-plugin-netacea/fastly/monitoring-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
