# Fastly

### **Fastlyn lokisuoratoisto S3:een**

Lähettääksesi reaaliaikaiset pääsylokit Fastlysta Amazon S3 -säilöön voit määrittää **Fastlyn lokisuoratoiston** käyttämällä Amazon S3:a kohteena. Alla on dokumentoidut vaiheet, jotka vaaditaan reaaliaikaisen suoratoiston määrittämiseen Netaicean isännöimään S3-säilöön Fastlyn lokitoiminnallisuuden ja mukautetun lokimuodon avulla, joka täyttää Netaicean vaatimukset.

### **Edellytykset**

Verkkoliikenteen lokien onnistuneeksi suoratoistamiseksi Netaiceaan varmista seuraavat asiat:

* Sinulla on aktiivinen Fastly-tili, jolla on pääsy Fastlyn hallintapaneeliin.
* Fastly-palvelu on käytettävissä ja määritetty käsittelemään tuotantoliikennettäsi.
* Olet saanut tarvittavat AWS S3 -säilötiedot (säilön nimi, alue, polku ja tunnistetiedot) Netaicealta. Nämä löytyvät [täältä](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* Tunnet [vähimmäistietojoukko](#netacea-minimum-dataset)-kentät, joita Netacea tarvitsee lokianalyysiin.

### Datan lähettäminen: Reaaliaikainen suoratoisto

Tämä vaihtoehto kirjaa jokaisen pyynnön ja toimittaa lokit erissä. Tämä on määritettävissä POV:n vaatimusten mukaisesti.

### **Toteutusvaiheet**

1. Kirjaudu sisään [Fastlyn hallintapaneeliin](https://manage.fastly.com/).
2. Valitse [Aloitussivulta](https://manage.fastly.com/home) sopiva palvelu. Voit käyttää hakukenttää hakeaksesi tunnuksen, nimen tai verkkotunnuksen perusteella.
3. Klikkaa **Muokkaa määritystä** ja valitse sitten vaihtoehto aktiivisen version kloonaamiseksi.

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

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

{% hint style="warning" %}
Kaikki alla olevat määritysmuutokset tehdään **äskettäin kloonattuun versioon.**
{% endhint %}

### **Lokisuoratoiston määritys**

1. Siirry **Lokitus**-alueelle.
2. Klikkaa **'Luo päätepiste'** -painiketta Amazon S3:lle

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

3. Syötä alla olevan taulukon tiedot:

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

<table><thead><tr><th width="196">Kenttä</th><th>Arvo</th></tr></thead><tbody><tr><td>Nimi</td><td>Syötä muistettava, ihmisen luettavissa oleva nimi päätepisteelle, kuten <strong>Netacea_Logging</strong></td></tr><tr><td>Sijoitus</td><td>Muodon versio Oletus</td></tr><tr><td>Lokimuoto</td><td>Liitä <strong>Lokimuoto</strong>, joka löytyy <a href="#log-format">täältä</a></td></tr><tr><td>Aikaleim</td><td>Liitä <strong>Aikaleimamuoto</strong>, joka löytyy <a href="#timestamp-format">täältä</a></td></tr><tr><td>Säilön nimi</td><td>Netaicean toimittaman Amazon S3 -säilön nimi, joka löytyy <a href="https://portal.netacea.com/">hallintaportaalista</a></td></tr><tr><td>Verkkotunnus</td><td>s3.eu-west-1.amazonaws.com</td></tr><tr><td>Pääsytapa</td><td>Valitse <strong>'Käyttäjätunnistetiedot'</strong></td></tr><tr><td>Pääsyavain</td><td>Kopioi Netaicean <a href="https://portal.netacea.com/">hallintaportaalista</a></td></tr><tr><td>Salainen avain</td><td>Kopioi Netaicean <a href="https://portal.netacea.com/">hallintaportaalista</a></td></tr><tr><td>Jakso</td><td></td></tr></tbody></table>

4. Laajenna **'Lisäasetukset'**-osio ja käytä alla olevassa taulukossa lueteltuja arvoja:

| Vaihtoehto               | Arvo     |
| ------------------------ | -------- |
| Polku                    | /        |
| PGP-julkinen avain       | Tyhjä    |
| Valitse lokirivien muoto | Tyhjä    |
| Pakkaus                  | Gzip     |
| Redundanssitaso          | Standard |
| ACL                      | None     |
| Palvelinpuolen salaus    | None     |
| Enimmäistavut            | 0        |

5. Klikkaa **'Luo'** tallentaaksesi lokituspäätepisteen.

### Lokimuoto

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

### Aikaleimamuoto

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

### Netaicean vähimmäistietojoukko

Yllä oleva lokimuoto mahdollistaa Netaicean kerätä seuraavan vähimmäistietojoukon analyysiin

<table><thead><tr><th width="215">Pakolliset kentät</th><th>Kuvaus</th></tr></thead><tbody><tr><td>Aikaleima</td><td>Ajankohta, jolloin pyyntö vastaanotettin</td></tr><tr><td>IP-osoite</td><td>IP-osoite, josta pyyntö tehtii</td></tr><tr><td>Käyttäjäagentti</td><td>Asiakkaan otsikossa lähettämä käyttäjäagenttimerkkinjono</td></tr><tr><td>Metodi</td><td>Pyynnön HTTP-metodi</td></tr><tr><td>Polku</td><td>Pyydetyn resurssin polku</td></tr><tr><td>Kysely</td><td>Pyynnön kyselymerkkijono</td></tr><tr><td>Tila</td><td>Palvelimen palauttama HTTP-tilakoodi</td></tr><tr><td>Viittaaja</td><td>Verkkosivi, jolta käyttäjä seurasi linkkiä</td></tr><tr><td>Lähetetyt tavut</td><td>Palvelimen vastauksena lähetetyt tavut</td></tr><tr><td>Asiakas JA3</td><td>Asiakkaan JA3-sormenjälki</td></tr><tr><td>X-Forwarded-For*</td><td>Asiakaspyynnön alkuperäinen IP-osoite</td></tr><tr><td>Isäntä</td><td>Pyynnön kohdeiäntä</td></tr><tr><td>Protokolla</td><td>Pyynnön protokolla</td></tr><tr><td>Pyyntöaika</td><td>Pyynnön käsittelyyn kulunut kokonaisaika</td></tr></tbody></table>

\* Hyödyllinen, kun välityspalvelimia on liikenteen linjalla asiakkaalta > lähtöpalvelimelle

### Lokitushuomiot

Fastlyn lokitoimitusta määritettäessä se lähettää oletuksena kaikki pyynnöt, mukaan lukien staattiset ja mediatiedostot S3-säilöön. Netacea ei tarvitse tätä dataa. Tämän ratkaisemiseksi meidän on lisättävä lokitusehto palveluun ja liitettävä se yllä olevien vaiheiden mukaisesti luotuun lokituspalveluun.

#### Lokitusehdon lisääminen

1. Siirry äskettäin luotuun lokituspäätepisteeseen:

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

2. Klikkaa **'Luo uusi vastausehto'**

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

3. Syötä seuraavat tiedot ponnahdusikkunaan

| Kenttä       | Arvo                                                                                      |
| ------------ | ----------------------------------------------------------------------------------------- |
| Nimi         | esim. Netacea\_Log\_Visit                                                                 |
| Käytä jos    | (req.url !\~ "/media/" && req.url !\~ "/static/") && fastly.ff.visits\_this\_service == 0 |
| Prioriteetti | 10                                                                                        |

{% hint style="warning" %}
Laajenna **'Lisäasetus'**-osio asettaaksesi Prioriteetin
{% endhint %}

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

4. Klikkaa **'Tallenna ja ota käyttöön'**

### Viimeistely

* Tarkista määritys
