Dans cette présentation, Julien décrira la conception est la mise en place d'une architecture Big Data 100% open source ayant pour but de traiter des flux réseaux IPFIX en temps réel à l'aide de PySpark, Apache Kafka et Apache Cassandra :
collecter en temps réel les événements IPFIX/Netflow à l'aide de syslog-ng et Kafka, PySpark assure les traitements à réaliser sur les flux en temps réel et enfin Cassandra comme socle de cette architecture.
Julien présentera des exemples de code Python pour Spark: définition, packaging et deploiement ainsi que des des exemples de modèle de données pour Cassandra et comment intéragir depuis PySpark avec Cassandra.
Cette présentation décrira également une stratégie de déploiement de Spark et Kafka sur Apache Mesos ou comment prévoir une architecture scalable pour les traitements applicatifs en introduisant Mesos couplé avec l'architecture shared-nothing (ou masterless) de Cassandra.
Introduction to Cassandra and CQL for Java developers
Traitement temps réel de flux réseaux IPFIX/Netflow avec PySpark, Kafka et Cassandra
1. Traitement temps réel de flux réseaux
IPFIX avec PySpark, Kafka et
Cassandra (“& Friends”)
Paris Cassandra Meetup (01/2018)
Julien Anguenot <janguenot@iland.com>
@anguenot @ilandcloud
3. iland cloud ?
● Fournisseur de services “cloud”
● + de 20 ans
● HQ @ Houston, TX
● IaaS
● BaaS, DRaaS
● 8 data centers: 3 aux États-Unis, 3 en Europe, et 2 en APAC
● Support, conformité, sécurité et “custom SLA”
● http://www.iland.com
4. Iland cloud et Cassandra ?
● C* 3.0.x, 8 data centers, cluster de 24 noeuds, ~ 1TB par noeud
● Utilisateur depuis 2013 (premier proto sur 1.2)
● On utilise Cassandra pour stocker (presque) l’ensemble de toutes nos
données.
● “Leveraging Cassandra for real-time multi-datacenter public cloud analytics”
@ Cassandra Summit 2015
https://www.slideshare.net/anguenot/leveraging-cassandra-for-realtime-multid
atacenter-public-cloud-analytics
● Datastax MVP pour Apache Cassandra 2016
8. ● Multi-master et écritures distribuées (applications, analytics, API)
● Faible latence en écriture et lecture
● “Multi-dc” natif
● Données au plus prêt des utilisateurs (U.S, E.U, APAC)
● Géolocalisation côté client (JS) et redirection sur les API publiques les plus
proches.
● ++
Les avantages Cassandra de notre côté ?
10. Pourquoi faire du traitement des flux réseaux ?
● Analyse temps réel du trafic réseau (protocole, port, source, destination,
nombre de paquets etc.)
● Routage et pare-feu
● Visualisation de type “Wireshark”: interactive et à la demande
● Statistiques
● Sécurité : détection d’intrusions
● Alertes
11. Les contraintes
● Plate-forme partagée (“multi-tenants”)
● Plusieurs centres de données (“multi-dc”)
● Volume du trafic réseau au niveau DC
● Temps réel
12. Les sources
● Au niveau du “tenant”
○ VMware vSphere Distributed Switch (VDS) (IPFIX)
○ VMware NSX (IPFIX)
○ NSX edge (routage et pare-feu)
● Au niveau global (routeur)
○ Pas encore essayé
13. IPFIX “Senders” vers IPFIX
“Collector” vers Syslog puis vers
Kafka
VMWare NSX Edge
IPFIX Collector
Syslog
VMware VDS (IPFIX) VMware NSX (IPFIX)
Plusieurs “brokers” Kafka
15. IPFIX
● IPFIX: Internet Protocol Flow Information Export
● Cisco Netflow v9 (base proprio) et RFC 3917
● IETF: de RFC 7011 à RFC 7015 et RFC 5103
● Besoin d’un standard pour l’IP (Internet Protocol): mesures, analyse et
facturation.
16. Le protocole IPFIX
● Flow: un certain nombre de paquets sur une période de temps donnée ayant
des propriétés communes: source, destination et protocole
● Protocole de type “Push” : sender / receivers
● Transport en TCP/UDP et aussi SCTP (Stream Control Transport
Protocol) RFC 4960: TCP/IP + multi-flux (stream) et multi-homing (plusieurs
IPs sur 1 ou les 2 extrémités)
● Message IPFIX: header + données, template et données optionnelles
(vendor)
18. Comment ça marche?
1. Un processus collecte des paquets de données sur un point d’observation
(Observation Point)
2. Filtre et agrégation (optionnel)
3. Un “Exporter” l’envoie ensuite sur un “Collector”
19. Collectors ?
● nProbe: https://www.ntop.org/products/netflow/nprobe/
Robuste, complet et performant mais extensions “Vendor” payantes.
● IPFIX Forwarder: https://github.com/anguenot/ipfix-forwarder
Export vers syslog, JSON, VMware VDS et VMware NSX + NSX segmentId
Future: export direct vers Kafka
● Multiples solutions propriétaires.