# Configuration de la surveillance

### Prérequis

Avant que Netacea puisse surveiller votre plateforme avec succès, veuillez vous assurer que vous avez :

1. Fourni une liste de tous les utilisateurs, partenaires et applications tierces connus, sûrs et de confiance. Cela inclut une liste des bots et outils automatisés de confiance. Toute information sur les acteurs malveillants connus est également précieuse.
2. Fourni une liste des cas d'utilisation de protection et des chemins vulnérables à chacun d'eux.
3. Fait partager les points de terminaison et identifiants pertinents pour l'envoi des logs via le [portail Netacea](/fr/informations-sur-les-plugins-netacea/accessing-your-integration-settings.md).

### Étapes d'implémentation du streaming de logs

* Connectez-vous à l'interface web Fastly/Magento.
* Naviguez vers Stores → Configuration → Advanced → System → Full Page Cache → Fastly Configuration → Tools → Real Time Log Streaming.
* Créez une nouvelle tâche de streaming de logs en temps réel en cliquant sur « Create » dans Create Endpoint, en sélectionnant Amazon S3 et en cliquant sur « Add ».

<figure><img src="/files/QeoiBeSmGOlZ5x29DIju" alt=""><figcaption></figcaption></figure>

* Renseignez la tâche de streaming de logs avec les informations suivantes :

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">Champ</th><th>Valeur</th></tr></thead><tbody><tr><td>Name</td><td>Saisissez un nom lisible et mémorable pour le point de terminaison, tel que 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>Le nom fourni par Netacea</td></tr><tr><td>Access Key</td><td>La clé d'accès fournie par Netacea</td></tr><tr><td>Secret Key</td><td>La clé secrète fournie par Netacea</td></tr><tr><td>Path</td><td>Le chemin fourni par Netacea</td></tr><tr><td>Domain</td><td>s3.eu-west-1.amazonaws.com</td></tr><tr><td>Log Line Format</td><td>Blank</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" %}
Si le Shielding est activé pour le(s) hôte(s) Fastly, veuillez consulter le paragraphe ci-dessous intitulé « Considération relative au Shielding » avant de créer un point de terminaison de journalisation.
{% endhint %}

<figure><img src="/files/Eb9zbrh26cDGWauzYpao" 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
```

### Considération relative au Shielding

Fastly permet aux utilisateurs d'activer la fonctionnalité d'hôte appelée « [Shielding](https://developer.fastly.com/learning/concepts/shielding/) » qui offre certains avantages comme la réduction de la charge sur l'origine, l'amélioration du taux de succès du cache, etc. L'activation de cette fonctionnalité dans un service Fastly qui utilise notre intégration entraîne une duplication des logs envoyés par celle-ci via la journalisation Netacea. Ce n'est pas le comportement attendu.\
\
Afin de résoudre ce problème, nous devons attacher une condition à la journalisation Netacea.

* Cliquez sur l'icône d'engrenage à côté du point de terminaison de journalisation

<figure><img src="/files/oTjT1wl08rndxH4OSdMe" alt=""><figcaption></figcaption></figure>

* Dans la fenêtre contextuelle, veuillez trouver la ligne « Condition » et cliquez sur « Attach a condition »

<figure><img src="/files/KUmbfEj2YNDB622dsX4u" alt=""><figcaption></figcaption></figure>

* Ensuite, vous pouvez cliquer sur « Create a new response condition »

<figure><img src="/files/xPVwnPFaB9wwB4BUBMqW" alt=""><figcaption></figcaption></figure>

* Une fenêtre contextuelle s'ouvrira où vous devrez saisir ces détails :

<table><thead><tr><th width="186">Champ</th><th>Valeur</th></tr></thead><tbody><tr><td>Name</td><td>par 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 (par défaut)</td></tr></tbody></table>

* Cliquez sur « Create ». Vous devriez maintenant voir que la condition a été attachée au flux de journalisation

<figure><img src="/files/oBDgKa8ps163Zj6KS5tC" alt=""><figcaption></figcaption></figure>

* Vous pouvez maintenant cliquer à nouveau sur « Create » et cela mettra à jour la journalisation de manière appropriée

### Finalisation

Vérifiez que vous avez effectué les étapes suivantes :

* Configuré le [streaming de logs](#log-streaming) vers le bucket S3 fourni
* Assuré qu'aucun avertissement d'erreur n'apparaît

Vous êtes maintenant prêt à déployer en cliquant sur « Save Config »

{% hint style="info" %}
Un vidage du cache peut parfois être nécessaire. Pour ce faire, allez dans System -> Cache Management et cliquez sur « Flush Magento Cache ».
{% endhint %}

La surveillance sera désormais déployée sur l'environnement Fastly/Magento. Vous pouvez vérifier que le déploiement est actif en :

* Examinant la version active pour la nouvelle tâche d'envoi de logs.
* Demandant à Netacea d'examiner les métriques d'ingestion internes.
* Demandant à Netacea de valider le contenu et le format des données.


---

# 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/fr/informations-sur-les-plugins-netacea/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.
