# Configurazione del monitoraggio

### Prerequisiti

Prima che Netacea possa monitorare correttamente la vostra piattaforma, assicuratevi di aver:

1. Fornito a Netacea il vostro [Ruolo IAM](https://docs.fastly.com/en/guides/creating-an-aws-iam-role-for-fastly-logging) di Fastly, se richiesto.
2. Ricevuto gli endpoint di log shipping e le relative credenziali condivise tramite il [portale Netacea](https://docs.netacea.com/it/informazioni-sul-plugin-netacea/accessing-your-integration-settings).
3. Fornito un elenco di tutti gli utenti, partner e applicazioni di terze parti noti, sicuri e affidabili. Questo include un elenco di bot e strumenti automatizzati attendibili. Sono preziose anche eventuali informazioni su attori malevoli noti.
4. Fornito un elenco dei casi d'uso di protezione e dei percorsi vulnerabili a ciascuno di essi.

### Set di Dati Minimo Richiesto

Per analizzare correttamente i dati, verranno monitorati i seguenti dati:

<table><thead><tr><th width="234">Campi Obbligatori</th><th>Descrizione</th></tr></thead><tbody><tr><td>Timestamp</td><td>L'orario in cui è stata ricevuta la richiesta</td></tr><tr><td>Indirizzo IP</td><td>L'indirizzo IP da cui è stata effettuata la richiesta</td></tr><tr><td>User Agent</td><td>La stringa user agent inviata nell'header dal client</td></tr><tr><td>Metodo</td><td>Il metodo HTTP della richiesta</td></tr><tr><td>Percorso</td><td>Il percorso della risorsa richiesta</td></tr><tr><td>Query</td><td>La stringa di query della richiesta</td></tr><tr><td>Stato</td><td>Il codice di stato HTTP restituito dal server</td></tr><tr><td>Referrer</td><td>La pagina web da cui l'utente ha seguito un link</td></tr><tr><td>Byte Inviati</td><td>I byte inviati come parte della richiesta dell'utente</td></tr><tr><td>Protocollo</td><td>Il protocollo del ciclo richiesta-risposta.</td></tr><tr><td>Tempo di Richiesta</td><td>La durata della richiesta in microsecondi.</td></tr><tr><td>Host della Richiesta</td><td>L'header Host della richiesta corrente.</td></tr><tr><td>Fingerprint JA3</td><td>JA3 è un metodo per creare fingerprint dei client SSL/TLS.</td></tr></tbody></table>

{% hint style="info" %}
Oltre ai campi standard sopra indicati, l'integrazione Netacea aggiungerà diversi campi personalizzati al formato di log.\
\
Questi includono:<br>

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

### Passaggi di Implementazione

1. Accedete all'interfaccia web di Fastly.
2. Dalla home page, selezionate il servizio appropriato. Potete utilizzare la casella di ricerca per cercare per ID, nome o dominio.
3. Cliccate sul pulsante di modifica della configurazione e selezionate l'opzione per clonare la versione attiva. Verrà visualizzata la pagina Domini.

Tutte le modifiche alla configurazione riportate di seguito verranno apportate alla versione appena clonata.

{% hint style="info" %}
Prendete nota della versione attualmente attiva nel caso dobbiate effettuare un rollback in futuro.
{% endhint %}

### Log Streaming

* Navigate nell'area Logging.
* Cliccate sul pulsante "Create endpoint" per Amazon S3

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-abbcbac1293cdea7b300d226ce1b4b68e72f589b%2Fimage%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

* Inserite i seguenti dettagli:

XLOCKX168

<table><thead><tr><th width="186">Campo</th><th>Valore</th></tr></thead><tbody><tr><td>Name</td><td>Inserite un nome leggibile e facilmente identificabile per l'endpoint, ad esempio 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>Il nome del bucket Amazon S3 fornito dal <a href="../accessing-your-integration-settings">portale Netacea</a>.</td></tr><tr><td>Access Method</td><td>L'ARN del Ruolo IAM o le Credenziali Utente fornite dal <a href="../accessing-your-integration-settings">portale Netacea</a>.</td></tr><tr><td>Period</td><td></td></tr></tbody></table>

169XLOCKX

| Path                     | /                                                                                                                                           |
| ------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
| Domain                   | <p>Il dominio dell'endpoint Amazon S3 fornito da Netacea.</p><p>Se non specificato, utilizzate <code>s3.eu-west-1.amazonaws.com</code>.</p> |
| Select a log line format | Blank                                                                                                                                       |
| Compression              | Gzip                                                                                                                                        |

{% hint style="info" %}
Qualsiasi opzione non specificata sopra deve essere lasciata al valore predefinito.
{% 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
```

### Considerazioni sul Logging

Fastly consente agli utenti di abilitare la funzionalità dell'Host chiamata "[Shielding](https://developer.fastly.com/learning/concepts/shielding/)" che offre alcuni vantaggi come la riduzione del carico sull'origin, il miglioramento del cache hit ratio, ecc. L'abilitazione di questa funzionalità in un servizio Fastly che utilizza la nostra Integrazione comporta una duplicazione dei log.

Quando si configura il log shipping di Fastly, per impostazione predefinita vengono inviate tutte le richieste, inclusi i contenuti statici e multimediali che non sono richiesti da Netacea.\
\
Per risolvere questo problema è necessario aggiungere una Condition al servizio e associarla al Logging di Netacea.

* Navigate nell'area Conditions
* Cliccate su "Create Condition"

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-01f9ffacc8cd724d6e509de7ddae8d0ecf403a4a%2Fimage%20(1)%20(1)%20(1)%20(1)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

* Inserite i seguenti dettagli nella finestra popup:

<table><thead><tr><th width="186">Campo</th><th>Valore</th></tr></thead><tbody><tr><td>Type</td><td>Response</td></tr><tr><td>Name</td><td>es. 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 (predefinito)</td></tr></tbody></table>

* Cliccate su "Save" e navigate nell'area Logging
* Trovate Netacea Logging e cliccate su "Attach a condition"

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-2eff7aca41eb2212627ed8279214562586b2c974%2Fimage%20(2)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

* Nella finestra popup, selezionate la condition appena creata

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-f4ce847ed63fb722d1bfdb5f38d0f269ce5b686b%2Fimage%20(3).png?alt=media" alt=""><figcaption></figcaption></figure>

### Conclusione

Verificate di aver completato i seguenti passaggi:

* Assicuratevi che non vengano visualizzati messaggi di errore

Ora siete pronti per distribuire la versione che avete modificato cliccando su "Activate".

<figure><img src="https://2460428468-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FMcNTU10K5f93vQq5fvkT%2Fuploads%2Fgit-blob-d8a873b16f5962dbf29435aaa23055f7cca33664%2Fimage%20(12)%20(2).png?alt=media" alt=""><figcaption></figcaption></figure>

Il log shipping sarà ora distribuito sul servizio per cui è stato configurato. Potete verificare che il deployment sia corretto:

* Esaminando la versione attiva per il nuovo job di log shipping.
* Richiedendo a Netacea di verificare le metriche di ingest interne.
* Richiedendo a Netacea di validare il contenuto e il formato dei dati.


---

# 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/it/informazioni-sul-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.
