6. Search Heads
Interface graphique
Forwarders
collecte et transport
Indexers
indexation et calculs
Charge de travail et calculs distribués
Collecte répartie et flux sécurisés
+ de données
+ d’utilisateurs
+ de sources
Sans Agent
Architecture de base
Comment Splunk fonctionne, vu de haut
7. Qu’est-ce que Splunk peut ingérer ?
Exemples de Sources en Entreprise
Syslog
TCP/UDP
Event Logs,
Active Directory, OS Stats
Unix, Linux and Windows hosts
Universal Forwarder
Syslog Hosts
and Network Devices
Local File Monitoring
Universal Forwarder
Aggregation
host
Windows
Aggregated / API Data
Sources
Pre-filtering, API subscriptions
Heavy Forwarder
Mainframes*nix
Wire Data
Splunk Stream
Universal Forwarder or
HTTP Event Collector
DevOps, IoT,
Containers
HTTP Event Collector
(Agentless)
shell
API
perf
8. Données de Sources Distantes
• L’Universal Forwarder collecte des données locales pour les envoyer vers un ou
plusieurs Indexers
Extensible
• Des Milliers de Universal Forwarders peuvent être déployés avec très peu
d’impacte sur le réseau et la performance
Nombreuses Plateformes Supportées
• Disponible pour différents systèmes d’exploitation et architectures processeurs.
Empreinte minimale sur les ressources
Splunk Universal Forwarder
Distribution distincte :
https://www.splunk.com/en_us/download/universal-forwarder.html
9. Egalement pour des Sources Distantes
• Généralement utilisé pour agréger la donnée avant des firewalls, du routage et/ou
filtrage, modular inputs ou la réception d’appels REST (plus d’infos après)
“Nœud de Collecte” pour les appels API et scripts
• Pour les technologies uniquement accessibles par API et non par une installation
locale (AWS, Azure, vmware, …)
Support limité aux même plateformes que Splunk Enterprise
• Autonome, le Heavy Forwarder est généralement sur une machine virtuelle
Quand utiliser un Heavy Forwarder ?
Même distribution que pour les Rôles Principaux
10. Directement depuis des Applications
• Intégration facile, sécurisée (tokens) et “load-balancer-friendly”, pour envoyer des
données directement depuis des applications vers Splunk (JSON ou RAW)
Sans Agent
• Les données peuvent être envoyées directement aux Indexers, sans Forwarders
Supporté par de nombreuses plateformes de développement
• Bibliothèques et modules disponibles pour un grand nombre de technologies
(Docker, AWS Lambda, Java, C#, …) et sinon par API REST directement
Splunk HTTP Event Collector (HEC)
Une nouvelle manière de collecter à très grande échelle
12. Collecter avec des Apps & Add-Ons
• La première chose à regarder !
Méthode propre et pré-packagée
• App = solution complète
Composée d’un ou plusieurs "Technology Add-on"
• Add-on
o Abstraction de la collecte (log file, API, scripted
input, HEC)
o Contient généralement l’extraction de champs
(schémas à la volée)
o Contient les fichiers de configuration
(props/transforms) et d’éventuels scripts ou outils
de collecte
1600+ apps et add-ons:
https://splunkbase.com/
13. Où trouver les Apps ? Sur Splunkbase !
https://splunkbase.com/
16. ▶ Utilisation de l’interface “Prévisualisation de Données”
• Chargement d’un Fichier (vous devriez l’avoir fait lors de la session “Getting Started”)
▶ Installation et utilisation d’Apps et Add-ons
▶ Ecoute en continu de Fichiers (avec l’Universal Forwarder)
• Sur un répertoire et plusieurs fichiers en temps réel
• Architecture de collecte pour des données issues du protocole Syslog
Ce que vous aller voir
18. Composants d’un Déploiement Réussi
Architecture
&
Infrastructure
Operations &
Supporting
Tools
Staffing
Getting
Data In
User
Onboarding
Inform
19. ▶ Architecte
• Design et optimisation de la plateforme Splunk; distribution et suivi d’échelle
▶ Administrateur
• Configuration et maintient en condition de l’infrastructure Splunk
▶ "Search Expert" ou "Ninja"
▶ Développeur d’Apps
▶ Expert Métier
• Interprétation des données, classification et enrichissement (contexte)
• Travaille avec l’admin pour ajouter les données
Responsabilités PrincipalesArch
& Infra
Ops &
Tools
Staffing
Getting
Data In
User
Onboarding
Inform
20. ▶ Etablir le processus d’ajout de
nouvelles sources et Apps
▶ Industrialisation et documentation
▶ Interview des clients et suivi
▶ Intégration à l’offre de service
Embarquer de Nouvelles Sources
Nouvelles Demandes
❑ Obtenir un extrait des données
❑ Avoir une description des données
▪ timestamp | timezone ■ simple/multi-ligne
▪ sourcetype ■ champs importants
❑ Description succincte du/des cas d’usages
▪ recherches | alertes | rapports | dashboards
❑ Quelle méthode de collecte ?
▪ UF | HTTP | syslog | API
❑ Quelle période de rétention ?
❑ Quelles permissions ?
❑ Association au “Common information Model”
▪ Technology Add-on disponible ?
❑ Validation
Arch
& Infra
Ops &
Tools
StaffingGetting
Data In
User
Onboarding
Inform
Staffing
21. Mesdames et Messieurs, l’embarquement va commencer !
Check-list : 6 points à vérifier à l’indexation
Source
Découpage
des
événements
Host
Index
SourcetypeHorodatage
22. ▶ Rassembler le plus de détails possible :
• D’où proviennes les données ? Comment les collecter avec Splunk ?
• Quels groupes d’utilisateurs vont en avoir besoin ? Quelles permissions ?
• Etablir le volume d’indexation et la période de rétention requise
• Qui est le propriétaire ou expert de cette donnée ?
▶ Faites un plan :
• Obtenir des extraits “suffisants” pour tester
• Assigner un sourcetype existant ou en créer un nouveau
• Identifier les canvas et models qui peuvent s’appliquer (CIM compliance)
Zoom sur les Nouvelles Demandes
23. ▶ Pour une même source identifiez les différents sourcetypes
• Attention : Syslog ce n’est pas un sourcetype !
• (plus de détails dans les slides suivants)
▶ Ne pas réinventer la roue : Utilisez les Apps & Add-on de splunkbase.com
▶ Utiliser un index “test” pour vérifier les paramètres d’indexation
• Interface de Prévisualisation
• Configuration du sourcetype
Zoom sur les Nouvelles Demandes
(suite)
24. ▶ Trouver les éventuels problèmes d’indexation en amont
▶ ”Le tester c’est l’adopter!”
• Vérifier le bon découpage des événements (event-breaking)
• La reconnaissance du timestamp et l’horodatage correct (avec le bon fuseau horaire)
• L’anonymisation de certaines informations
▶ Dans la majorité des cas, vous pouvez tout faire sans toucher au fichier
props.conf
Prévisualisation = Succès
25. Mais si vous devez vraiment le faire…
Pensez toujours à ces quelques paramètres dans props.conf
[SL17]
TIME_PREFIX = ^
TIME_FORMAT = %Y-%m-%d %H:%M:%S
MAX_TIMESTAMP_LOOKAHEAD = 19
SHOULD_LINEMERGE = False
LINE_BREAKER = ([nr]+)
TRUNCATE = 10000
26. ▶ Le “Common Information Model” structure la donnée, sans toucher à
l’événement brut
▶ C’est une convention de nommage
▶ Normaliser et catégoriser les informations permet de s’abstraire de la source et
de faire des analyses “agnostiques”
▶ Les données “CIM-compliant” peuvent être utilisées par des Apps existantes
(ES, PCI, Web Proxies, …)
Qu’est-ce que le CIM, et pourquoi c’est utile ?
27. ▶ Syslog est un protocole, pas un vrai sourcetype
• Ce protocole embarque généralement plusieurs sourcetypes
▶ Quand il y a beaucoup de flux différents, il est préférable de les recevoir en amont de Splunk, sur
un serveur dédié (syslog-ng, rsyslog, …)
• Utilisez un UF ou HEC pour transporter les donnés vers Splunk :
Pour assurer une bonne répartition de la charge et du stockage
Pour sécuriser les flux et maitriser la bande passante
Ségréguer les composants en cas d’incident
▶ Voir : https://www.splunk.com/blog/2017/03/30/syslog-ng-and-hec-scalable-aggregated-data-
collection-in-splunk.html pour plus d’infos
Réfléxion à propos de Syslog
29. https://splunkbase.com/app/2962/
▶ Pour collecter par REST API, Scripts ou Modular Inputs
▶ Interface guidée et certification de vos Add-ons
• De l’ajout de données jusqu’à la configuration des schémas et l’association au CIM
Add-on Builder!
30. ▶ Videos!
https://www.splunk.com/view/SP-CAAAGB6
▶ E-Learning
https://www.splunk.com/view/SP-CAAAPX9
▶ Getting Data In – Splunk Docs
http://docs.splunk.com/Documentation/Splunk/latest/Data/WhatSplunkcanmonitor
▶ Getting Data In – Dev Manual (très exhaustif)
http://dev.splunk.com/view/dev-guide/SP-CAAAE3A
▶ .conf Sessions
http://conf.splunk.com/sessions/2017-sessions.html
▶ GOOGLE ;)
Où aller pour en apprendre plus ?
31. .conf18:
Monday, October 1 – Thursday, October 4
Splunk University:
Saturday, September 29 – Monday, October 1
ORLANDO, FLORIDA
Walt Disney World Swan and Dolphin Resort