# Akamai DataStream 2

### **Livraison des logs Akamai DataStream 2 vers S3**

Pour envoyer les logs d'accès d'Akamai vers un bucket Amazon S3, vous pouvez utiliser **Akamai DataStream 2**, qui est la méthode standard et recommandée par Akamai pour la livraison de logs en temps réel. Vous trouverez ci-dessous les étapes documentées pour configurer **DataStream 2**, avec des instructions de configuration spécifiques à la livraison vers un bucket S3 hébergé par Netacea.

### Prérequis

Pour transmettre avec succès les logs de trafic web à Netacea, veuillez vous assurer des points suivants :

* Vous disposez d'un compte Akamai actif avec un accès complet au tableau de bord Akamai.
* Akamai DataStream 2 est activé.

{% hint style="info" %}
DataStream 2 est inclus avec la livraison de contenu et ne génère aucun frais supplémentaire. Pour activer cette fonctionnalité, contactez votre équipe de compte Akamai.
{% endhint %}

* Vous avez reçu les informations nécessaires concernant le bucket AWS S3 (chemin du bucket, nom, région et identifiants) de la part de Netacea. Celles-ci sont disponibles [ici](https://netacea.gitbook.io/portal-docs/user-guides-and-videos/portal-setup-and-log-shipping-guide).
* Vous connaissez les champs du [jeu de données minimum requis](#step-2-data-set) nécessaires à Netacea pour l'analyse des logs.

## Configuration de DataStream 2

Veuillez suivre la documentation Akamai disponible [ici](https://techdocs.akamai.com/datastream2/docs/quick-start) pour créer et activer un flux DataStream 2, en vous basant sur la configuration suivante :

#### Étape 1 : Configuration

Utilisez l'onglet **Configuration** pour saisir les informations de base du flux et choisir les propriétés que vous souhaitez surveiller.

#### Étape 2 : Jeu de données

Lors de l'étape de configuration du jeu de données, utilisez le jeu de données minimum suivant, défini par Netacea :

| **Champ requis**                               | **Description**                                                                                                                                      |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| Request time                                   | L'heure à laquelle la requête a été reçue                                                                                                            |
| Bytes                                          | Les octets envoyés dans le cadre de la requête de l'utilisateur                                                                                      |
| Client IP                                      | L'adresse IP à partir de laquelle la requête a été effectuée                                                                                         |
| HTTP status codes                              | Le code de statut HTTP renvoyé par le serveur                                                                                                        |
| Protocol type                                  | Le protocole du cycle requête-réponse.                                                                                                               |
| Request host                                   | La valeur de l'en-tête host dans la requête                                                                                                          |
| Request method                                 | La méthode HTTP de la requête                                                                                                                        |
| Request path                                   | Le chemin de la ressource demandée                                                                                                                   |
| Query string                                   | La chaîne de requête de la requête                                                                                                                   |
| User-Agent<mark style="color:red;">\*</mark>   | La chaîne user agent envoyée dans l'en-tête par le client                                                                                            |
| Referer<mark style="color:red;">\*</mark>      | La page web à partir de laquelle l'utilisateur a suivi un lien                                                                                       |
| Turn around time                               | Le temps écoulé en millisecondes entre la réception du dernier en-tête de requête et l'écriture du premier octet de la réponse sur le socket client. |
| Custom field<mark style="color:red;">\*</mark> | Ce champ prend en charge les variables et est nécessaire pour enregistrer les champs personnalisés spécifiques à Netacea.                            |
| True-Client-IP\*\*                             | La source fiable de l'adresse IP du client d'origine                                                                                                 |
| X-Forwarded-For\*\*                            | Adresse(s) IP de connexion \[tableau] d'une requête client, si elle passe par un proxy                                                               |

\*Pour surveiller ces champs, vous devez activer la journalisation des paramètres de jeu de données personnalisés dans le comportement **Log Request Details** de la propriété Akamai associée. Consultez [Log custom parameters](https://techdocs.akamai.com/datastream2/docs/log-custom-parameters) pour plus de détails.

\*\* Utile lorsque des proxys se trouvent sur le chemin du trafic entre le client et l'origine

{% hint style="warning" %}
Assurez-vous de sélectionner **JSON** comme format de log.
{% endhint %}

#### Étape 3 : Livraison

1. Sélectionnez **Amazon S3** comme destination.
2. Dans **Name**, saisissez une description lisible pour la destination.
3. Dans **Bucket**, saisissez le nom du bucket S3 concerné hébergé par Netacea.
4. Dans **Folder path**, renseignez « **`logs/"`** sauf instruction contraire de Netacea.
5. Dans **Region**, saisissez le code de région AWS où se trouve le bucket. Celui-ci doit être `eu-west-1` (tout en minuscules) sauf indication contraire.
6. Dans **Access key ID** et **Secret access key**, saisissez les identifiants fournis par Netacea.
7. Cliquez sur **Validate & Save** pour valider la connexion à la destination et enregistrer la configuration.
8. Assurez-vous que **Push frequency** est défini sur la valeur la plus basse possible.

#### Étape 4 : Résumé et activation

1. Dans l'onglet **Summary**, vérifiez attentivement tous les détails configurés.
2. Une fois confirmé, cochez la case **Activate stream upon saving**.
3. Cliquez sur **Save stream** pour terminer la configuration.

#### Étape 5 : Activer le DataStream via une règle

L'activation du flux peut prendre jusqu'à une heure. Cependant, les données ne seront collectées et transmises **qu'après** avoir ajouté et activé le [comportement DataStream](https://techdocs.akamai.com/datastream2/docs/enable-datastream-behavior) via une règle dans la configuration de propriété de votre site.

Pour ce faire :

1. Créez une nouvelle version de propriété de votre propriété actuellement active.
2. Modifiez la nouvelle version.
3. Sous **Property Configuration Settings**, cliquez sur **+Rules** pour ajouter une nouvelle règle.
4. Sélectionnez le **Blank Rule Template**, donnez-lui un nom significatif, puis cliquez sur **Insert Rule**.

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-481665751f49c248bbbf7453af292208532af100%2Fimage%20(5)%20(4).png?alt=media" alt=""><figcaption></figcaption></figure>

**Configurer la règle**

* **Section Criteria**\
  Ajoutez la condition de correspondance suivante :
  * **If Hostname is one of `<hostname>`**

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-abf200ab839be8f43c24f23110fc719b3c059867%2Fimage%20(9)%20(3).png?alt=media" alt=""><figcaption><p>Rule Criteria</p></figcaption></figure>

{% hint style="info" %}
Si Netacea surveille plusieurs sites web, vous pouvez inclure plusieurs noms d'hôtes. N'incluez que ceux destinés à être surveillés par le DataStream créé précédemment.
{% endhint %}

**Section Behaviors**

* Ajoutez un comportement pour **activer le DataStream** créé précédemment.

  > Vous pouvez également dupliquer et réutiliser une règle existante si cela est approprié.

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-10d0e74a162432cba13d424d98267487b6e7a857%2Fimage%20(1)%20(1)%20(3).png?alt=media" alt=""><figcaption><p>Rule Behaviors</p></figcaption></figure>

* Ajoutez un autre comportement : **Log Request Details**
  * Définissez **Include Custom Log Field** sur `on`
  * Définissez **Custom Log Field** sur `{{user.PMUSER_NETACEA_DS2_CUSTOM_FIELD}}`

<figure><img src="https://899558619-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FaRSpZrGcUHd5EHGjrrO5%2Fuploads%2Fgit-blob-904e3b8952ca40de8eb9533cf912bdc84f8ad8fb%2Fimage%20(11).png?alt=media" alt=""><figcaption><p>Log Request Details</p></figcaption></figure>

Le DataStream et la règle associée sont maintenant créés.

{% hint style="info" %}
**Répétez la procédure ci-dessus pour chaque site web distinct (ou groupe de sites web) que Netacea surveillera.**
{% endhint %}

### Activer la propriété

Une fois tous les DataStreams et règles créés, cliquez sur **Save** et utilisez l'onglet **Activate** pour activer (déployer) vos modifications dans la configuration de la propriété.

{% hint style="success" %}
La configuration de surveillance sera maintenant déployée sur la propriété pour laquelle elle a été configurée. Vous pouvez confirmer que le déploiement est correct en :

* Demandant à Netacea de vérifier les métriques de surveillance internes.
* Demandant à Netacea de valider le contenu et le format des données.
  {% endhint %}

### Étapes finales

Une fois la livraison des logs active, **informez votre ingénieur solutions Netacea**. Cela nous permet de :

* Confirmer la réception des données
* Valider le format et l'exhaustivité du jeu de données
* Commencer l'analyse une fois qu'un volume suffisant de données a été collecté

Si vous avez besoin d'assistance lors de la configuration, l'équipe SE de Netacea est là pour vous aider — n'hésitez pas à nous contacter.
