# Fastly

### **Fastly-loggströmning till S3**

För att skicka realtidsåtkomstloggar från Fastly till en Amazon S3-bucket kan du konfigurera **Fastly-loggströmning** med Amazon S3 som destination. Nedan finns de dokumenterade stegen som krävs för att konfigurera realtidsströmning till en Netacea-värd S3-bucket, med hjälp av Fastlys loggningsfunktionalitet och ett anpassat loggformat som uppfyller Netaceas krav.

### **Förutsättningar**

För att framgångsrikt strömma webbtrafikloggar till Netacea, säkerställ följande:

* Du har ett aktivt Fastly-konto med åtkomst till Fastly Control Panel.
* En Fastly-tjänst är tillgänglig och konfigurerad för att hantera din produktionstrafik.
* Du har fått de nödvändiga AWS S3-bucketdetaljerna (bucketnamn, region, sökväg och autentiseringsuppgifter) från Netacea. Dessa finns [här](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* Du är medveten om de [minsta datamängdsfält](#netacea-minimum-dataset) som krävs av Netacea för logganalys.

### Skicka data: Realtidsströmning

Detta alternativ loggar varje förfrågan och levererar loggar i omgångar. Detta är konfigurerbart för att passa kraven för POV.

### **Implementeringssteg**

1. Logga in på [Fastly control panel](https://manage.fastly.com/).
2. Från [startsidan](https://manage.fastly.com/home), välj lämplig tjänst. Du kan använda sökrutan för att söka efter ID, namn eller domän.
3. Klicka på **Edit configuration** och välj sedan alternativet att klona den aktiva versionen.

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

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

{% hint style="warning" %}
Alla konfigurationsändringar nedan kommer att göras på den **nyligen klonade versionen.**
{% endhint %}

### **Konfiguration av loggströmning**

1. Navigera till området **Logging**.
2. Klicka på knappen **'Create endpoint'** för Amazon S3

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

3. Ange detaljerna från tabellen nedan:

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

<table><thead><tr><th width="196">Fält</th><th>Värde</th></tr></thead><tbody><tr><td>Name</td><td>Ange ett minnesvärt, läsbart namn för endpointen, såsom <strong>Netacea_Logging</strong></td></tr><tr><td>Placement</td><td>Format Version Default</td></tr><tr><td>Log Format</td><td>Klistra in <strong>Log Format</strong> som finns <a href="#log-format">här</a></td></tr><tr><td>Timestamp</td><td>Klistra in <strong>Timestamp Format</strong> som finns <a href="#timestamp-format">här</a></td></tr><tr><td>Bucket Name</td><td>Namnet på Amazon S3-bucketen som tillhandahålls av Netacea i <a href="https://portal.netacea.com/">adminportalen</a></td></tr><tr><td>Domain</td><td>s3.eu-west-1.amazonaws.com</td></tr><tr><td>Access Method</td><td>Välj <strong>'User Credentials'</strong></td></tr><tr><td>Access Key</td><td>Kopiera från Netaceas <a href="https://portal.netacea.com/">adminportal</a></td></tr><tr><td>Secret Key</td><td>Kopiera från Netaceas <a href="https://portal.netacea.com/">adminportal</a></td></tr><tr><td>Period</td><td></td></tr></tbody></table>

4. Expandera sektionen **'Advanced options'** och tillämpa de specifika värdena som anges i tabellen nedan:

| Alternativ             | Värde    |
| ---------------------- | -------- |
| Path                   | /        |
| PGP Public Key         | Blank    |
| Select Log line Format | Blank    |
| Compression            | Gzip     |
| Redundancy Level       | Standard |
| ACL                    | None     |
| Server Side Encryption | None     |
| Maximum Bytes          | 0        |

5. Klicka på **'Create'** för att spara loggningsendpointen.

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

### Tidsstämpelformat

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

### Netaceas minimala datamängd

Ovanstående loggformat gör det möjligt för Netacea att samla in följande minimala datamängd för analys

<table><thead><tr><th width="215">Obligatoriska fält</th><th>Beskrivning</th></tr></thead><tbody><tr><td>Timestamp</td><td>Tidpunkten då förfrågan mottogs</td></tr><tr><td>IP Address</td><td>IP-adressen från vilken förfrågan gjordes</td></tr><tr><td>User Agent</td><td>User agent-strängen som skickades i headern av klienten</td></tr><tr><td>Method</td><td>HTTP-metoden för förfrågan</td></tr><tr><td>Path</td><td>Sökvägen till den begärda resursen</td></tr><tr><td>Query</td><td>Query-strängen för förfrågan</td></tr><tr><td>Status</td><td>HTTP-statuskoden som returnerades av servern</td></tr><tr><td>Referrer</td><td>Webbsidan som användaren följde en länk från</td></tr><tr><td>Bytes Sent</td><td>Antal bytes som skickades som del av serverns svars</td></tr><tr><td>Client JA3</td><td>Klientens JA3-fingerprint</td></tr><tr><td>X-Forwarded-For*</td><td>Ursprunglig IP-adress för en klientförfrågan</td></tr><tr><td>Host</td><td>Destinationsvärden för förfrågan</td></tr><tr><td>Protocol</td><td>Protokollet för förfrågan</td></tr><tr><td>Request Time</td><td>Den totala tiden det tog att behandla förfrågan</td></tr></tbody></table>

\* Användbart när proxyer finns i trafiklinjen från klient > ursprung

### Loggningsöverväganden

Vid konfiguration av Fastly-loggskickning skickas som standard alla förfrågningar, inklusive statiskt och mediainnehåll, till S3-bucketen. Denna data krävs inte av Netacea. För att lösa detta behöver vi lägga till ett loggningsvillkor till tjänsten och koppla det till loggningstjänsten som har skapats enligt stegen ovan.

#### Lägg till ett loggningsvillkor

1. Navigera till den nyligen skapade loggningsendpointen:

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

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

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

3. Ange följande detaljer i popup-fönstret

| Fält     | Värde                                                                                     |
| -------- | ----------------------------------------------------------------------------------------- |
| Name     | t.ex. Netacea\_Log\_Visit                                                                 |
| Apply If | (req.url !\~ "/media/" && req.url !\~ "/static/") && fastly.ff.visits\_this\_service == 0 |
| Priority | 10                                                                                        |

{% hint style="warning" %}
Expandera sektionen **'Advanced option'** för att ange Priority
{% endhint %}

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

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

### Slutförande

* Kontrollera konfigurationen för eventuella felmeddelanden eller varningar.
* När du har bekräftat, distribuera dina ändringar genom att klicka på **Activate**.

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

Din Fastly-loggströmningskonfiguration är nu aktiv och bör skicka data till Netaceas S3-bucket.

### Slutliga steg

När logglevererans är aktiv, **meddela din Netacea Solutions Engineer**. Detta gör det möjligt för oss att:

* Bekräfta mottagande av data
* Validera datamängdens format och fullständighet
* Påbörja analys när en tillräcklig mängd data har samlats in

Om du behöver support under installationen finns Netacea SE-teamet här för att hjälpa till — tveka inte att höra av dig.
