# Övervakningskonfiguration

### Förutsättningar

Innan Netacea kan övervaka din plattform framgångsrikt, vänligen säkerställ att du har:

1. Tillhandahållit en lista över alla kända, säkra och betrodda användare, partners och tredjepartsapplikationer. Detta inkluderar en lista över betrodda botar och automatiserade verktyg. Information om kända skadliga aktörer är också värdefull.
2. Tillhandahållit en lista över skyddsanvändningsfall och de sökvägar som är sårbara för varje fall.
3. Fått de relevanta loggöverföringsändpunkterna och autentiseringsuppgifterna delade via [Netacea-portalen](https://docs.netacea.com/se/netacea-plugininformation/accessing-your-integration-settings).

### Implementeringssteg för loggströmning

* Logga in på Fastly/Magento-webbgränssnittet.
* Navigera till Stores → Configuration → Advanced → System → Full Page Cache → Fastly Configuration → Tools → Real Time Log Streaming.
* Skapa ett nytt Real-Time Log Streaming-jobb genom att klicka på "Create" vid Create Endpoint, välj Amazon S3 och klicka på "Add".

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

* Fyll i loggströmningsjobbet med följande information:

XLOCKX91\`\`\` {"@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} \`\`\`92XLOCKXXLOCKX9798XLOCKX

<table><thead><tr><th width="216">Fält</th><th>Värde</th></tr></thead><tbody><tr><td>Name</td><td>Ange ett minnesvärt läsbart namn för ändpunkten, till exempel Netacea_Logging.</td></tr><tr><td>Log Format</td><td><a href="#log-format">Loggformat</a></td></tr><tr><td>Timestamp</td><td><a href="#undefined">Tidsstämpel</a></td></tr><tr><td>Bucket Name</td><td>Namnet som tillhandahålls av Netacea</td></tr><tr><td>Access Key</td><td>Åtkomstnyckeln som tillhandahålls av Netacea</td></tr><tr><td>Secret Key</td><td>Den hemliga nyckeln som tillhandahålls av Netacea</td></tr><tr><td>Path</td><td>Sökvägen som tillhandahålls av Netacea</td></tr><tr><td>Domain</td><td>s3.eu-west-1.amazonaws.com</td></tr><tr><td>Log Line Format</td><td>Tomt</td></tr><tr><td>Compression</td><td>Gzip</td></tr><tr><td>GZIP Level</td><td></td></tr><tr><td>Period</td><td></td></tr></tbody></table>

{% hint style="warning" %}
Om Shielding är aktiverat för Fastly-värd(ar), vänligen läs stycket nedan kallat "Överväganden för Shielding" innan du skapar en loggningsändpunkt.
{% endhint %}

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

#### **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ämpel

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

### Överväganden för Shielding

Fastly tillåter användare att aktivera värdfunktionen kallad "[Shielding](https://developer.fastly.com/learning/concepts/shielding/)" som har vissa fördelar såsom att minska ursprungsbelastningen, förbättra cache-träffkvoten, etc. Att aktivera denna funktion i en Fastly-tjänst som använder vår integration resulterar i en duplicering av loggar som skickas genom Netacea-loggning. Vi förväntar oss inte detta.\
\
För att lösa detta problem behöver vi bifoga ett villkor till Netacea-loggningen.

* Klicka på kugghjulsikonen bredvid loggningsändpunkten

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

* I popup-fönstret, hitta raden "Condition" och klicka på "Attach a condition"

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

* Därefter kan du 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-c55046df2fc6c26dbd3016fc909858c3466b550b%2Fimage%20(96).png?alt=media" alt=""><figcaption></figcaption></figure>

* Ett popup-fönster öppnas där du behöver ange dessa uppgifter:

<table><thead><tr><th width="186">Fält</th><th>Värde</th></tr></thead><tbody><tr><td>Name</td><td>t.ex. Netacea_Log_Visit</td></tr><tr><td>Apply if</td><td><code>(req.url !~ "/media/" &#x26;&#x26; req.url !~ "/static/") &#x26;&#x26; fastly.ff.visits_this_service == 0</code></td></tr><tr><td>Priority</td><td>10 (standard)</td></tr></tbody></table>

* Klicka på "Create". Du bör nu se att villkoret har bifogats till loggströmmen

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

* Nu kan du klicka på "Create" igen och detta kommer att uppdatera loggningen på lämpligt sätt

### Slutförande

Kontrollera att du har slutfört följande steg:

* Konfigurerat[ loggströmning](#log-streaming) till den tillhandahållna S3-bucket
* Säkerställ att inga felvarningar visas

Du är nu redo att driftsätta genom att klicka på "Save Config"

{% hint style="info" %}
En cache-tömning kan ibland krävas. För att göra detta gå till System -> Cache Management och klicka på "Flush Magento Cache".
{% endhint %}

Övervakning kommer nu att driftsättas i Fastly/Magento-miljön. Du kan verifiera att driftsättningen är aktiv genom att:

* Granska den aktiva versionen för det nya loggöverföringsjobbet.
* Begära att Netacea granskar interna inmatningsstatistik.
* Begära att Netacea validerar datainnehållet och formatet.
