# Ö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.


---

# 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/se/netacea-plugininformation/fastly-magento/monitoring-configuration.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.
