# Fastly

### **Fastly loggstrømming til S3**

For å sende sanntids tilgangslogger fra Fastly til en Amazon S3-bøtte, kan du konfigurere **Fastly loggstrømming** med Amazon S3 som destinasjon. Nedenfor finner du de dokumenterte trinnene som kreves for å sette opp sanntidsstrømming til en Netacea-hostet S3-bøtte, ved bruk av Fastlys loggfunksjonalitet og et tilpasset loggformat som oppfyller Netaceas krav.

### **Forutsetninger**

For å kunne strømme webtrafikk-logger til Netacea, vennligst sørg for følgende:

* Du har en aktiv Fastly-konto med tilgang til Fastly-kontrollpanelet.
* En Fastly-tjeneste er tilgjengelig og konfigurert til å håndtere produksjonstrafikken din.
* Du har mottatt nødvendige AWS S3-bøttedetaljer (bøttenavn, region, sti og legitimasjon) fra Netacea. Disse finner du [her](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* Du er kjent med feltene i [minimum nødvendig datasett](#netacea-minimum-dataset) som Netacea trenger for logganalyse.

### Sende data: Sanntidsstrømming

Dette alternativet logger hver forespørsel og leverer logger i bunter. Dette kan konfigureres for å passe kravene til POV-en.

### **Implementeringstrinn**

1. Logg inn på [Fastly-kontrollpanelet](https://manage.fastly.com/).
2. Fra [Hjem-siden](https://manage.fastly.com/home) velger du den aktuelle tjenesten. Du kan bruke søkeboksen for å søke etter ID, navn eller domene.
3. Klikk på **Rediger konfigurasjon** og velg deretter alternativet for å klone den aktive versjonen.

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

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

{% hint style="warning" %}
Alle konfigurasjonsendringer nedenfor vil bli gjort på den **nylig klonede versjonen.**
{% endhint %}

### **Oppsett av loggstrømming**

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

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

3. Fyll inn detaljene fra tabellen nedenfor:

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

<table><thead><tr><th width="196">Felt</th><th>Verdi</th></tr></thead><tbody><tr><td>Navn</td><td>Skriv inn et minneverdig, menneskelesbart navn for endepunktet, for eksempel <strong>Netacea_Logging</strong></td></tr><tr><td>Plassering</td><td>Format Version Default</td></tr><tr><td>Loggformat</td><td>Lim inn <strong>Loggformatet</strong> som finnes <a href="#log-format">her</a></td></tr><tr><td>Tidsstempel</td><td>Lim inn <strong>Tidsstempelformatet</strong> som finnes <a href="#timestamp-format">her</a></td></tr><tr><td>Bøttenavn</td><td>Navnet på Amazon S3-bøtten levert av Netacea i <a href="https://portal.netacea.com/">admin-portalen</a></td></tr><tr><td>Domene</td><td>s3.eu-west-1.amazonaws.com</td></tr><tr><td>Tilgangsmetode</td><td>Velg <strong>'User Credentials'</strong></td></tr><tr><td>Tilgangsnøkkel</td><td>Kopier fra Netacea <a href="https://portal.netacea.com/">admin-portalen</a></td></tr><tr><td>Hemmelig nøkkel</td><td>Kopier fra Netacea <a href="https://portal.netacea.com/">admin-portalen</a></td></tr><tr><td>Periode</td><td></td></tr></tbody></table>

4. Utvid seksjonen **'Advanced options'** og bruk de spesifikke verdiene som er listet i tabellen nedenfor:

| Alternativ             | Verdi    |
| ---------------------- | -------- |
| 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. Klikk på **'Create'** for å lagre loggendepunktet.

### Loggformat

{% 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 %}

### Tidsstempelformat

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

### Netacea Minimum datasett

Loggformatet ovenfor vil gjøre det mulig for Netacea å samle inn følgende minimumdatasett for analyse

<table><thead><tr><th width="215">Påkrevde felter</th><th>Beskrivelse</th></tr></thead><tbody><tr><td>Tidsstempel</td><td>Tidspunktet da forespørselen ble mottatt</td></tr><tr><td>IP-adresse</td><td>IP-adressen som forespørselen ble gjort fra</td></tr><tr><td>Brukeragent</td><td>Brukeragent-strengen som ble sendt i headeren av klienten</td></tr><tr><td>Metode</td><td>HTTP-metoden for forespørselen</td></tr><tr><td>Sti</td><td>Stien til den forespurte ressursen</td></tr><tr><td>Spørring</td><td>Spørrestrengen til forespørselen</td></tr><tr><td>Status</td><td>HTTP-statuskoden returnert av serveren</td></tr><tr><td>Referer</td><td>Nettsiden brukeren fulgte en lenke fra</td></tr><tr><td>Sendte byte</td><td>Bytene sendt som del av serverens respons</td></tr><tr><td>Klient JA3</td><td>Klientens JA3-fingeravtrykk</td></tr><tr><td>X-Forwarded-For*</td><td>Opprinnelig IP-adresse for en klientforespørsel</td></tr><tr><td>Vert</td><td>Målverten for forespørselen</td></tr><tr><td>Protokoll</td><td>Protokollen for forespørselen</td></tr><tr><td>Forespørselstid</td><td>Total tid det tok å behandle forespørselen</td></tr></tbody></table>

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

### Loggingshensyn

Når du konfigurerer Fastly logglevering, vil den som standard sende alle forespørsler, inkludert statisk og medieinnhold, til S3-bøtten. Disse dataene er ikke nødvendige for Netacea. For å løse dette må vi legge til en loggbetingelse i tjenesten og knytte den til loggtjenesten som ble opprettet ved å følge trinnene ovenfor.

#### Legg til en loggbetingelse

1. Naviger til det nylig opprettede loggendepunktet:

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

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

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

3. Fyll inn følgende detaljer i popup-vinduet

| Felt      | Verdi                                                                                     |
| --------- | ----------------------------------------------------------------------------------------- |
| Navn      | f.eks. Netacea\_Log\_Visit                                                                |
| Apply If  | (req.url !\~ "/media/" && req.url !\~ "/static/") && fastly.ff.visits\_this\_service == 0 |
| Prioritet | 10                                                                                        |

{% hint style="warning" %}
Utvid seksjonen **'Advanced option'** for å angi prioritet
{% endhint %}

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

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

### Fullføring

* Kontroller konfigurasjonen for eventuelle feilmeldinger eller advarsler.
* Når det er bekreftet, distribuer endringene dine ved å klikke på **Aktiver**.

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

Din Fastly loggstrømmingskonfigurasjon er nå aktiv og skal sende data til Netacea S3-bøtten.

### Siste trinn

Når logglevering er aktiv, **varsle din Netacea Solutions Engineer**. Dette gjør at vi kan:

* Bekrefte mottak av data
* Validere datasettformatet og fullstendigheten
* Starte analyse når et tilstrekkelig datavolum er samlet inn

Hvis du trenger støtte under oppsettet, er Netacea SE-teamet her for å hjelpe — ikke nøl med å ta kontakt.
