# Monitoring Configuratie

### Vereisten

Voordat Netacea uw platform succesvol kan monitoren, dient u het volgende te hebben geregeld:

1. Een lijst aangeleverd van alle bekende, veilige en vertrouwde gebruikers, partners en applicaties van derden. Dit omvat een lijst van vertrouwde bots en geautomatiseerde tools. Informatie over bekende kwaadwillende actoren is eveneens waardevol.
2. Een lijst aangeleverd van beschermingsscenario's en de paden die kwetsbaar zijn voor elk scenario.
3. De relevante log-streaming-eindpunten en inloggegevens gedeeld via het [Netacea-portal](https://docs.netacea.com/nl/netacea-plugin-informatie/accessing-your-integration-settings).

### Implementatiestappen voor Log Streaming

* Log in op de Fastly/Magento webinterface.
* Navigeer naar Stores → Configuration → Advanced → System → Full Page Cache → Fastly Configuration → Tools → Real Time Log Streaming.
* Maak een nieuwe Real-Time Log Streaming-taak aan door te klikken op "Create" bij Create Endpoint, selecteer Amazon S3 en klik op "Add".

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

* Vul de log-streaming-taak in met de volgende informatie:

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">Veld</th><th>Waarde</th></tr></thead><tbody><tr><td>Name</td><td>Voer een herkenbare, leesbare naam in voor het eindpunt, zoals Netacea_Logging.</td></tr><tr><td>Log Format</td><td><a href="#log-format">Log Format</a></td></tr><tr><td>Timestamp</td><td><a href="#undefined">Timestamp</a></td></tr><tr><td>Bucket Name</td><td>De naam verstrekt door Netacea</td></tr><tr><td>Access Key</td><td>De toegangssleutel verstrekt door Netacea</td></tr><tr><td>Secret Key</td><td>De geheime sleutel verstrekt door Netacea</td></tr><tr><td>Path</td><td>Het pad verstrekt door Netacea</td></tr><tr><td>Domain</td><td>s3.eu-west-1.amazonaws.com</td></tr><tr><td>Log Line Format</td><td>Leeg</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" %}
Als Shielding is ingeschakeld voor Fastly Host(s), raadpleeg dan de onderstaande paragraaf "Shielding-overwegingen" voordat u een logging-eindpunt aanmaakt.
{% endhint %}

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

#### **Log Format**

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

#### Timestamp

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

### Shielding-overwegingen

Fastly biedt gebruikers de mogelijkheid om de Host-functie "[Shielding](https://developer.fastly.com/learning/concepts/shielding/)" in te schakelen, die voordelen biedt zoals het verminderen van de belasting op de origin-server, het verbeteren van de cache-hitratio, enzovoort. Het inschakelen van deze functie in een Fastly-service die onze integratie gebruikt, resulteert in een duplicatie van logs die via Netacea-logging worden verzonden. Dit is niet de bedoeling.\
\
Om dit probleem op te lossen, moeten we een Condition koppelen aan de Netacea Logging.

* Klik op het tandwielpictogram naast het logging-eindpunt

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

* Zoek in het pop-upvenster de rij "Condition" en klik op "Attach a condition"

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

* Daarna kunt u klikken op "Create a new response condition"

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

* Er opent een pop-upvenster waarin u de volgende gegevens moet invoeren:

<table><thead><tr><th width="186">Veld</th><th>Waarde</th></tr></thead><tbody><tr><td>Name</td><td>bijv. 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 (standaard)</td></tr></tbody></table>

* Klik op "Create". U zou nu moeten zien dat de Condition is gekoppeld aan de Logging-stream

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

* Nu kunt u nogmaals op "Create" klikken en dit zal de Logging correct bijwerken

### Afronden

Controleer of u de volgende stappen hebt voltooid:

* [Log streaming](#log-streaming) geconfigureerd naar de verstrekte S3-bucket
* Controleer of er geen foutmeldingen verschijnen

U bent nu klaar om te deployen door te klikken op "Save Config"

{% hint style="info" %}
Soms is het nodig om de cache te legen. Ga hiervoor naar System -> Cache Management en klik op "Flush Magento Cache".
{% endhint %}

Monitoring is nu gedeployed in de Fastly/Magento-omgeving. U kunt verifiëren of de deployment actief is door:

* De actieve versie te controleren voor de nieuwe log-streaming-taak.
* Netacea te vragen om de interne ingest-metrics te controleren.
* Netacea te vragen om de data-inhoud en het formaat te valideren.
