# Fastly

### **Fastly log streaming til S3**

For at sende real-time adgangslogs fra Fastly til en Amazon S3 bucket kan du konfigurere **Fastly log streaming** ved at bruge Amazon S3 som destination. Nedenfor er de dokumenterede trin, der kræves for at opsætte real-time streaming til en Netacea-hostet S3 bucket ved hjælp af Fastlys logningsfunktionalitet og et tilpasset logformat, der opfylder Netaceas krav.

### **Forudsætninger**

For at kunne streame webtrafiklogs til Netacea skal du sikre følgende:

* Du har en aktiv Fastly-konto med adgang til Fastly Control Panel.
* En Fastly-service er tilgængelig og konfigureret til at håndtere din produktionstrafik.
* Du har modtaget de nødvendige AWS S3 bucket-oplysninger (bucket-navn, region, sti og legitimationsoplysninger) fra Netacea. Disse kan findes [her](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* Du er bekendt med de [minimumskrav til datasæt](#netacea-minimum-dataset)-felter, som Netacea har brug for til loganalyse.

### Afsendelse af data: Real-Time Streaming

Denne mulighed logger hver forespørgsel og leverer logs i batches. Dette kan konfigureres til at passe til kravene for POV'en.

### **Implementeringstrin**

1. Log ind på [Fastly control panel](https://manage.fastly.com/).
2. Fra [Home](https://manage.fastly.com/home)-siden vælger du den relevante service. Du kan bruge søgefeltet til at søge efter ID, navn eller domæne.
3. Klik på **Edit configuration** og vælg derefter muligheden for at klone den aktive version.

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

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

{% hint style="warning" %}
Alle konfigurationsændringer nedenfor vil blive foretaget på den **nyligt klonede version.**
{% endhint %}

### **Opsætning af Log Streaming**

1. Naviger til **Logging**-området.
2. Klik på knappen **'Create endpoint'** for Amazon S3

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

3. Indtast oplysningerne fra tabellen nedenfor:

XLOCKX109![](https://4249910968-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FUvBdg0TpfmPcaNVS4gPi%2Fuploads%2Fgit-blob-f00f50dce3b60448c39d99de0aa7c19a8881d494%2Fimage%20\(120\).png?alt=media)110XLOCKX

<table><thead><tr><th width="196">Felt</th><th>Værdi</th></tr></thead><tbody><tr><td>Name</td><td>Indtast et letgenkendeligt navn til endpointet, f.eks. <strong>Netacea_Logging</strong></td></tr><tr><td>Placement</td><td>Format Version Default</td></tr><tr><td>Log Format</td><td>Indsæt <strong>Log Format</strong> fundet <a href="#log-format">her</a></td></tr><tr><td>Timestamp</td><td>Indsæt <strong>Timestamp Format</strong> fundet <a href="#timestamp-format">her</a></td></tr><tr><td>Bucket Name</td><td>Navnet på Amazon S3 bucket leveret af Netacea i <a href="https://portal.netacea.com/">admin portalen</a></td></tr><tr><td>Domain</td><td>s3.eu-west-1.amazonaws.com</td></tr><tr><td>Access Method</td><td>Vælg <strong>'User Credentials'</strong></td></tr><tr><td>Access Key</td><td>Kopier fra Netacea <a href="https://portal.netacea.com/">admin portalen</a></td></tr><tr><td>Secret Key</td><td>Kopier fra Netacea <a href="https://portal.netacea.com/">admin portalen</a></td></tr><tr><td>Period</td><td></td></tr></tbody></table>

4. Udvid sektionen **'Advanced options'** og anvend de specifikke værdier angivet i tabellen nedenfor:

| Indstilling            | Værdi    |
| ---------------------- | -------- |
| Path                   | /        |
| PGP Public Key         | Tom      |
| Select Log line Format | Tom      |
| Compression            | Gzip     |
| Redundancy Level       | Standard |
| ACL                    | None     |
| Server Side Encryption | None     |
| Maximum Bytes          | 0        |

5. Klik på **'Create'** for at gemme logging-endpointet.

### Logformat

{% 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 minimumdatasæt

Ovenstående logformat vil gøre det muligt for Netacea at indsamle følgende minimumdatasæt til analyse

<table><thead><tr><th width="215">Påkrævede felter</th><th>Beskrivelse</th></tr></thead><tbody><tr><td>Timestamp</td><td>Tidspunktet hvor forespørgslen blev modtaget</td></tr><tr><td>IP-adresse</td><td>IP-adressen hvorfra forespørgslen blev sendt fra</td></tr><tr><td>User Agent</td><td>User agent-strengen sendt i headeren af klienten</td></tr><tr><td>Metode</td><td>HTTP-metoden for forespørgslen</td></tr><tr><td>Sti</td><td>Stien til den anmodede ressource</td></tr><tr><td>Query</td><td>Query-strengen for forespørgslen</td></tr><tr><td>Status</td><td>HTTP-statuskoden returneret af serveren</td></tr><tr><td>Referrer</td><td>Websiden brugeren fulgte et link fra</td></tr><tr><td>Bytes Sendt</td><td>Bytes sendt som del af serverens svar</td></tr><tr><td>Client JA3</td><td>Klientens JA3-fingerprint</td></tr><tr><td>X-Forwarded-For*</td><td>Oprindelig IP-adresse for en klientforespørgsel</td></tr><tr><td>Host</td><td>Destinationsværten for forespørgslen</td></tr><tr><td>Protokol</td><td>Protokollen for forespørgslen</td></tr><tr><td>Request Time</td><td>Den samlede tid det tog at behandle forespørgslen</td></tr></tbody></table>

\* Nyttig når proxyer er i trafiklinjen fra klient > origin

### Overvejelser vedrørende logning

Når du konfigurerer Fastly log shipping, vil det som standard sende alle forespørgsler, inklusiv statisk indhold og medieindhold til S3 bucket. Disse data er ikke nødvendige for Netacea. For at løse dette skal vi tilføje en logningsbetingelse til servicen og tilknytte den til den logningsservice, der er blevet oprettet ved at følge trinene ovenfor.

#### Tilføj en logningsbetingelse

1. Naviger til det nyligt oprettede logging-endpoint:

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

2. Klik på **'Create a new response condition'**

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

3. Indtast følgende oplysninger i pop op-vinduet

| Felt     | Værdi                                                                                     |
| -------- | ----------------------------------------------------------------------------------------- |
| Name     | f.eks. Netacea\_Log\_Visit                                                                |
| Apply If | (req.url !\~ "/media/" && req.url !\~ "/static/") && fastly.ff.visits\_this\_service == 0 |
| Priority | 10                                                                                        |

{% hint style="warning" %}
Udvid sektionen **'Advanced option'** for at indstille Priority
{% endhint %}

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

4. Klik på **'Save and apply'**

### Afslutning

* Kontroller konfigurationen for eventuelle fejlmeddelelser eller advarsler.
* Når det er bekræftet, skal du implementere dine ændringer ved at klikke på **Activate**.

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

Din Fastly log streaming-konfiguration er nu live og bør sende data til Netacea S3 bucket.

### Afsluttende trin

Når loglevering er aktiv, skal du **underrette din Netacea Solutions Engineer**. Dette giver os mulighed for at:

* Bekræfte modtagelse af data
* Validere datasætformatet og fuldstændigheden
* Begynde analyse når en tilstrækkelig mængde data er blevet indsamlet

Hvis du har brug for support under opsætningen, er Netacea SE-teamet her for at hjælpe — tøv ikke med at kontakte os.


---

# 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/dk/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.
