# Monitoring Configuratie

### Vereisten

Voordat Netacea uw platform succesvol kan monitoren, dient u ervoor te zorgen dat u:

1. Netacea uw Fastly [IAM Role](https://docs.fastly.com/en/guides/creating-an-aws-iam-role-for-fastly-logging) hebt verstrekt, indien gevraagd.
2. De relevante log shipping-eindpunten en inloggegevens hebt gedeeld via het [Netacea portal](https://docs.netacea.com/nl/netacea-plugin-informatie/accessing-your-integration-settings).
3. Een lijst hebt verstrekt van alle bekende, veilige en vertrouwde gebruikers, partners en externe applicaties. Dit omvat een lijst van vertrouwde bots en geautomatiseerde tools. Informatie over bekende kwaadwillende actoren is eveneens waardevol.
4. Een lijst hebt verstrekt van beveiligingsscenario's en de paden die kwetsbaar zijn voor elk daarvan.

### Minimaal Vereiste Dataset

Om gegevens succesvol te analyseren, worden de volgende gegevens gemonitord:

<table><thead><tr><th width="234">Vereiste Velden</th><th>Beschrijving</th></tr></thead><tbody><tr><td>Timestamp</td><td>Het tijdstip waarop het verzoek is ontvangen</td></tr><tr><td>IP Address</td><td>Het IP-adres van waaruit het verzoek is gedaan</td></tr><tr><td>User Agent</td><td>De user agent-string die door de client in de header is verstuurd</td></tr><tr><td>Method</td><td>De HTTP-methode van het verzoek</td></tr><tr><td>Path</td><td>Het pad van de opgevraagde resource</td></tr><tr><td>Query</td><td>De querystring van het verzoek</td></tr><tr><td>Status</td><td>De HTTP-statuscode die door de server is geretourneerd</td></tr><tr><td>Referrer</td><td>De webpagina waarvan de gebruiker een link heeft gevolgd</td></tr><tr><td>Bytes Sent</td><td>Het aantal bytes verzonden als onderdeel van het verzoek van de gebruiker</td></tr><tr><td>Protocol</td><td>Het protocol van de request-response-cyclus.</td></tr><tr><td>Request Time</td><td>Hoe lang het verzoek duurde in microseconden.</td></tr><tr><td>Request Host</td><td>De huidige Host request header.</td></tr><tr><td>JA3 Fingerprint</td><td>JA3 is een methode voor het maken van SSL/TLS client fingerprints.</td></tr></tbody></table>

{% hint style="info" %}
Naast de bovenstaande standaardvelden voegt de Netacea-integratie verschillende aangepaste velden toe aan het logformaat.\
\
Deze omvatten:<br>

`bc_type`, `user_id`, `integration_type` en `integration_version`.
{% endhint %}

### Implementatiestappen

1. Log in op de Fastly-webinterface.
2. Selecteer vanaf de startpagina de juiste service. U kunt het zoekvak gebruiken om te zoeken op ID, naam of domein.
3. Klik op de knop configuratie bewerken en selecteer vervolgens de optie om de actieve versie te klonen. De pagina Domeinen verschijnt.

Alle onderstaande configuratiewijzigingen worden aangebracht in de nieuw gekloonde versie.

{% hint style="info" %}
Noteer de huidige actieve versie voor het geval u in de toekomst moet terugdraaien.
{% endhint %}

### Log Streaming

* Navigeer naar het gedeelte Logging.
* Klik op de knop "Create endpoint" voor Amazon S3

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

* Voer de volgende gegevens in:

XLOCKX168

<table><thead><tr><th width="186">Veld</th><th>Waarde</th></tr></thead><tbody><tr><td>Name</td><td>Voer een goed te onthouden, leesbare naam in voor het eindpunt, zoals Netacea_Logging.</td></tr><tr><td>Placement</td><td>Format Version Default</td></tr><tr><td>Log Format</td><td><a href="#undefined">Log Format</a></td></tr><tr><td>Timestamp</td><td><a href="#timestamp">Timestamp</a></td></tr><tr><td>Bucket Name</td><td>De naam van de Amazon S3-bucket verstrekt door <a href="../accessing-your-integration-settings">Netacea portal</a>.</td></tr><tr><td>Access Method</td><td>De IAM Role ARN of User Credentials verstrekt door <a href="../accessing-your-integration-settings">Netacea portal</a>.</td></tr><tr><td>Period</td><td></td></tr></tbody></table>

169XLOCKX

| Path                     | /                                                                                                                                                              |
| ------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Domain                   | <p>Het domein van het Amazon S3-eindpunt dat door Netacea is verstrekt.</p><p>Indien niet gespecificeerd, gebruik <code>s3.eu-west-1.amazonaws.com</code>.</p> |
| Select a log line format | Blank                                                                                                                                                          |
| Compression              | Gzip                                                                                                                                                           |

{% hint style="info" %}
Elke optie die hierboven niet is gespecificeerd, dient op de standaardwaarde te blijven staan.
{% endhint %}

#### Log Format

{% code overflow="wrap" fullWidth="false" %}

```
{"@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
```

### Overwegingen bij logging

Fastly stelt gebruikers in staat om de hostfunctie genaamd "[Shielding](https://developer.fastly.com/learning/concepts/shielding/)" in te schakelen, die voordelen biedt zoals het verminderen van de origin-belasting, het verbeteren van de cache hit ratio, enz. Het inschakelen van deze functie in een Fastly-service die onze integratie gebruikt, resulteert in een duplicatie van logs.

Bij het configureren van Fastly log shipping worden standaard alle verzoeken verzonden, inclusief statische en mediacontent die niet door Netacea vereist wordt.\
\
Om dit probleem op te lossen, moeten we een Condition toevoegen aan de service en deze koppelen aan Netacea Logging.

* Navigeer naar het gedeelte Conditions
* Klik op "Create Condition"

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

* Voer de volgende gegevens in het pop-upvenster in:

<table><thead><tr><th width="186">Veld</th><th>Waarde</th></tr></thead><tbody><tr><td>Type</td><td>Response</td></tr><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 "Save" en navigeer naar het gedeelte Logging
* Zoek Netacea Logging 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-2eff7aca41eb2212627ed8279214562586b2c974%2Fimage%20(2)%20(1).png?alt=media" alt=""><figcaption></figcaption></figure>

* Selecteer in het pop-upvenster de nieuw aangemaakte condition

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

### Afronden

Controleer of u de volgende stappen hebt voltooid:

* Zorg ervoor dat er geen foutmeldingen verschijnen

U bent nu klaar om de versie die u hebt bewerkt te deployen door op "Activate" te klikken.

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

Log shipping wordt nu gedeployed op de service waarvoor het is geconfigureerd. U kunt verifiëren dat de deployment correct is door:

* De actieve versie te controleren op de nieuwe log shipping-taak.
* Netacea te verzoeken de interne ingest-metrics te bekijken.
* Netacea te verzoeken de data-inhoud en het formaat te valideren.


---

# 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/nl/netacea-plugin-informatie/fastly/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.
