# Fastly

### **Fastly log streaming naar S3**

Om real-time toegangslogs van Fastly naar een Amazon S3-bucket te verzenden, kunt u **Fastly log streaming** configureren met Amazon S3 als bestemming. Hieronder vindt u de gedocumenteerde stappen die nodig zijn om real-time streaming naar een door Netacea gehoste S3-bucket in te stellen, met behulp van de logging-functionaliteit van Fastly en een aangepast logformaat dat voldoet aan de vereisten van Netacea.

### **Vereisten**

Om webverkeerslogs succesvol naar Netacea te streamen, dient u het volgende te controleren:

* U heeft een actief Fastly-account met toegang tot het Fastly Control Panel.
* Een Fastly-service is beschikbaar en geconfigureerd om uw productieverkeer te verwerken.
* U heeft de benodigde AWS S3-bucketgegevens (bucketnaam, regio, pad en inloggegevens) van Netacea ontvangen. Deze zijn te vinden [hier](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* U bent op de hoogte van de [minimaal vereiste dataset](#netacea-minimum-dataset)-velden die Netacea nodig heeft voor loganalyse.

### Gegevens verzenden: Real-Time Streaming

Deze optie logt elk verzoek en levert logs in batches. Dit is configureerbaar om aan de vereisten van de POV te voldoen.

### **Implementatiestappen**

1. Log in op het [Fastly control panel](https://manage.fastly.com/).
2. Selecteer vanaf de [Home](https://manage.fastly.com/home)-pagina de juiste service. U kunt het zoekvak gebruiken om te zoeken op ID, naam of domein.
3. Klik op **Edit configuration** en selecteer vervolgens de optie om de actieve versie te klonen.

<figure><img src="/files/3X0uWTKTHd5OiBvH6wbd" alt=""><figcaption></figcaption></figure>

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

{% hint style="warning" %}
Alle configuratiewijzigingen hieronder worden aangebracht in de **nieuw gekloonde versie.**
{% endhint %}

### **Log Streaming instellen**

1. Navigeer naar het **Logging**-gebied.
2. Klik op de knop **'Create endpoint'** voor Amazon S3

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

3. Voer de gegevens uit de onderstaande tabel in:

XLOCKX109![](/files/ZjIatv1PVyN4lD1ayk2A)110XLOCKX

<table><thead><tr><th width="196">Veld</th><th>Waarde</th></tr></thead><tbody><tr><td>Name</td><td>Voer een gemakkelijk te onthouden, leesbare naam in voor het eindpunt, zoals <strong>Netacea_Logging</strong></td></tr><tr><td>Placement</td><td>Format Version Default</td></tr><tr><td>Log Format</td><td>Plak het <strong>Log Format</strong> te vinden <a href="#log-format">hier</a></td></tr><tr><td>Timestamp</td><td>Plak het <strong>Timestamp Format</strong> te vinden <a href="#timestamp-format">hier</a></td></tr><tr><td>Bucket Name</td><td>De naam van de Amazon S3-bucket verstrekt door Netacea binnen het <a href="https://portal.netacea.com/">admin portal</a></td></tr><tr><td>Domain</td><td>s3.eu-west-1.amazonaws.com</td></tr><tr><td>Access Method</td><td>Selecteer <strong>'User Credentials'</strong></td></tr><tr><td>Access Key</td><td>Kopieer vanuit het Netacea <a href="https://portal.netacea.com/">admin portal</a></td></tr><tr><td>Secret Key</td><td>Kopieer vanuit het Netacea <a href="https://portal.netacea.com/">admin portal</a></td></tr><tr><td>Period</td><td></td></tr></tbody></table>

4. Vouw de sectie **'Advanced options'** uit en pas de specifieke waarden toe die in de onderstaande tabel staan vermeld:

| Optie                  | Waarde   |
| ---------------------- | -------- |
| Path                   | /        |
| PGP Public Key         | Leeg     |
| Select Log line Format | Leeg     |
| Compression            | Gzip     |
| Redundancy Level       | Standard |
| ACL                    | None     |
| Server Side Encryption | None     |
| Maximum Bytes          | 0        |

5. Klik op **'Create'** om het logging-eindpunt op te slaan.

### Log Format

{% code overflow="wrap" %}

```
{"@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 Format

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

### Netacea minimale dataset

Het bovenstaande logformaat stelt Netacea in staat om de volgende minimale dataset voor analyse te verzamelen

<table><thead><tr><th width="215">Vereiste velden</th><th>Beschrijving</th></tr></thead><tbody><tr><td>Timestamp</td><td>Het tijdstip waarop het verzoek werd ontvangen</td></tr><tr><td>IP Address</td><td>Het IP-adres van waaruit het verzoek werd gedaan</td></tr><tr><td>User Agent</td><td>De user agent-string die door de client in de header werd verzonden</td></tr><tr><td>Method</td><td>De HTTP-methode van het verzoek</td></tr><tr><td>Path</td><td>Het pad van de gevraagde resource</td></tr><tr><td>Query</td><td>De querystring van het verzoek</td></tr><tr><td>Status</td><td>De HTTP-statuscode die door de server werd geretourneerd</td></tr><tr><td>Referrer</td><td>De webpagina van waaruit de gebruiker een link volgde</td></tr><tr><td>Bytes Sent</td><td>Het aantal bytes verzonden als onderdeel van de serverrespons</td></tr><tr><td>Client JA3</td><td>De JA3-vingerafdruk van de client</td></tr><tr><td>X-Forwarded-For*</td><td>Het oorspronkelijke IP-adres van een clientverzoek</td></tr><tr><td>Host</td><td>De bestemmingshost van het verzoek</td></tr><tr><td>Protocol</td><td>Het protocol van het verzoek</td></tr><tr><td>Request Time</td><td>De totale tijd die nodig was om het verzoek te verwerken</td></tr></tbody></table>

\* Nuttig wanneer proxy's zich in de verkeerslijn van client > origin bevinden

### Overwegingen bij logging

Bij het configureren van Fastly log shipping worden standaard alle verzoeken, inclusief statische en media-content, naar de S3-bucket verzonden. Deze gegevens zijn niet vereist door Netacea. Om dit op te lossen, moeten we een logging-conditie aan de service toevoegen en deze koppelen aan de logging-service die is aangemaakt door de bovenstaande stappen te volgen.

#### Een logging-conditie toevoegen

1. Navigeer naar het nieuw aangemaakte logging-eindpunt:

<figure><img src="/files/08tGHLU4TDLZgsGG7N6Z" alt=""><figcaption></figcaption></figure>

2. Klik op **'Create a new response condition'**

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

3. Voer de volgende gegevens in het pop-upvenster in

| Veld     | Waarde                                                                                    |
| -------- | ----------------------------------------------------------------------------------------- |
| Name     | bijv. Netacea\_Log\_Visit                                                                 |
| Apply If | (req.url !\~ "/media/" && req.url !\~ "/static/") && fastly.ff.visits\_this\_service == 0 |
| Priority | 10                                                                                        |

{% hint style="warning" %}
Vouw de sectie **'Advanced option'** uit om de Priority in te stellen
{% endhint %}

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

4. Klik op **'Save and apply'**

### Afronden

* Controleer de configuratie op eventuele foutmeldingen of waarschuwingen.
* Zodra bevestigd, implementeer uw wijzigingen door op **Activate** te klikken.

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

Uw Fastly log streaming-configuratie is nu actief en zou gegevens naar de Netacea S3-bucket moeten verzenden.

### Laatste stappen

Zodra de loglevering actief is, **informeer uw Netacea Solutions Engineer**. Dit stelt ons in staat om:

* De ontvangst van gegevens te bevestigen
* Het datasetformaat en de volledigheid te valideren
* Met de analyse te beginnen zodra een voldoende volume aan gegevens is verzameld

Als u ondersteuning nodig heeft tijdens de installatie, staat het Netacea SE-team klaar om te helpen — aarzel niet om contact op te nemen.


---

# 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/nl/fastly.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.
