Overview
Avec Netskope Log Streaming intégré via Splunk Cloud Add-ons (tels que AWS TA, MSCS TA, etc.), les journaux de transactions web sont ingérés au format JSON. Cela permet à Splunk d'extraire automatiquement les champs à l'aide de paires clé-valeur, ce qui améliore la facilité de recherche et d'utilisation.
Cependant, contrairement à l'AT de Netskope et au pipeline de streaming d'événements web, qui est obsolète, où seules les données brutes des journaux de transactions web sont ingérées sans en-tête CSV, le format JSON inclut les noms des champs ainsi que les valeurs. En conséquence, cela augmente le volume global de données ingérées dans Splunk, ce qui peut entraîner des coûts de licence plus élevés.
Pour y remédier, vous avez la possibilité d'optimiser le volume d'ingestion en modifiant la configuration d'entrée pour ingérer les journaux au format CSV brut au lieu de JSON.
Réduire le volume d'ingestion
Pour réduire la quantité de données ingérées, désactivez l'option : Parse all files as CSV dans les configurations d'entrée.

Cette modification met fin à la conversion des journaux au format JSON et permet à la place d'ingérer les journaux dans leur format CSV brut. Cela permet de réduire considérablement le volume global d'ingestion et de diminuer les coûts associés.
Considérations importantes
Si cette approche permet de réduire les coûts d'ingestion, elle introduit également certains compromis. L'extraction automatique des champs ne sera plus disponible, et les journaux apparaîtront comme des données brutes, non analysées, dans Splunk. Par conséquent, vous devrez configurer manuellement les extractions de champs en fonction de vos besoins.
Extraction manuelle du champ (nécessaire après modification)
Comme l'extraction des champs ne se fait plus automatiquement, vous devez définir des règles d'analyse à l'aide de configurations Splunk telles que :
- props.conf
- transforms.conf
Notez que la structure des journaux de Netskope est déterminée par les champs sélectionnés dans la configuration du flux de journaux du locataire, ainsi que par l'ordre dans lequel ces champs sont définis.


Pour cette raison, il n'existe pas de configuration unique pour l'analyse syntaxique. Vous devez créer et personnaliser vos règles d'extraction de champs en fonction de votre configuration spécifique.
Travailler avec des logs bruts : Guide d'extraction sur le terrain
Voici quelques étapes de base pour vous aider à démarrer.
Étape 1 : Générer les fichiers Regex et de configuration
Utilisez des outils d'aide à l'intelligence artificielle comme ChatGPT pour générer automatiquement les fichiers de configuration Splunk et les expressions rationnelles nécessaires.
- Fournissez l'en-tête CSV et un exemple d'entrée de journal.
- Assurez-vous que les en-têtes de champ sont répertoriés dans le site exact order tel qu'il est configuré dans Netskope.
- Utilisez l'invite structurée suivante.
Prompt:
J’ai des journaux CSV avec l’en-tête suivant :date,time,bytes,c-ip,cs-bytes,cs-uri,cs-username,s-ip,time-taken,x-c-browser,x-c-location,cs-content-type,cs-dns,cs-host,cs-method,cs-referer,cs-uri-port,cs-uri-query,cs-uri-scheme,cs-user-agent,sc-status,x-c-browser-version,x-c-country,x-c-device,x-c-region,x-cs-app-cci,x-cs-app-instance-id,x-cs-app-suite,x-cs-connect-port,x-cs-ip-connect-xffExemple de journal : 2026-03-19,06:17:43,2600,172.31.30.26,2315,-,user@company.com,16.16.109.171,58,Native,Stockholm,application/json,example.com,example.com,POST,-,443,-,https,agent,200,-,SE,Windows,Stockholm,-,-,-,-,- Exigences : 1. Générer un REGEX avec des groupes de capture nommés pour tous les champs. 2. Configuration Splunk de sortie : props.conf transforms.conf 3. S’assurer que le regex est prêt à la production et efficace. 4. Ne supposez PAS l’ordre dynamique des colonnes (ordre fixe uniquement). 5. Ajouter un filtre nullQueue dans transforms.conf pour supprimer les lignes d’en-tête (lorsque l’événement brut contient la ligne d’en-tête) Format de sortie : Regex props.conf transforms.conf |
Résultats attendus
- Une expression rationnelle prête à l'emploi avec des groupes de capture nommés.
- Correctement formatés
props.confettransforms.conf.
Étape 2 : Mettez à jour la configuration dans le module complémentaire Netskope :
- Allez dans le répertoire local de l'AT Netskope :
$SPLUNK_HOME/etc/apps/TA-NetskopeAppForSplunk/local/ - Créez ou mettez à jour les fichiers suivants :
- props.conf
- transforms.conf
- Ajoutez une New strophe pour le
sourcetype:[netskope:web_transaction:nls] - Insérez les configurations générées dans les fichiers correspondants.
- Sous l'entrée Configurations, ajoutez un New
sourcetypeen tant quenetskope:web_transaction:nlsà partir de l'interface utilisateur.
Résultats attendus
- Splunk est configuré pour analyser les journaux de Netskope à l'aide de l'expression rationnelle définie.
- Les lignes d’en-tête sont filtrées à l’aide de
nullQueue.
Sample stanza for props.conf

Sample stanza for transforms.conf

Étape 3 : Redémarrer et valider Splunk
Redémarrez Splunk Enterprise.
Résultats attendus
- Les journaux doivent être ingérés avec succès au format CSV sans champs.
- Les champs sont correctement extraits et consultables.
- Les lignes d'en-tête sont exclues de l'indexation.
Voici une vidéo qui illustre ce processus :
Validation et bonnes pratiques
- Validate field extraction using Splunk search:
index=<your_index> | table * - Pour réduire le volume d'ingestion initial, éliminez les champs dont vous n'avez pas besoin à partir de l'interface utilisateur de Netskope.
- Stream uniquement required fields à partir de Netskope. Tenez compte des éléments suivants, qui vous obligeront à créer un analyseur syntaxique New:
- Ordre de mission.
- Toute modification future de la configuration de Netskope Log Streaming.

