![](images/logo-elastic.png)
### Petit rappel sur les solutions
### Produits Elastic
|Libre | Payant|
|-------|-----------------|
|![minipic](images/Elasticsearch-Logo-Color-H.png)|![minipic](images/Cloud-Logo-Color-H.png)|
|![minipic](images/Logstash-Logos-Color-H.png)|![minipic](images/shield-triad.png)|
|![minipic](images/Kibana-Logo-Color-H.png)|Watcher (alerte)|
|![minipic](images/Beats-Logos-Color-H.png)|Marvel|
### Stack Elastic
| |
|:------:|
|![maxpic](images/ElasticStack.png)|
### ![titlepic](images/Elasticsearch-Logo-Color-H.png)
* Moteur de recherche pour la génération NoSQL
* Basé sur le standard Apache Lucene
* Masque la complexité Java/Lucene à l’aide de services standards HTTP / RESTful / JSON
* Utilisable à partir de n’importe quel langage
* Ajoute la couche cloud manquante à Lucene
* C’est un moteur, pas une interface graphique !
### ![titlepic](images/Logstash-Logos-Color-H.png)
* ETL : 49 sources différentes, 42 filtres, 25 codecs, 56 sorties (dont ElasticSearch)
* Logstash: l’arme secrète pour vaincre le côté obscur de vos logs ( Devoxx 2015 https://youtu.be/-zawsoOhz70 )
![](images/logstash.png)
### ![titlepic](images/Kibana-Logo-Color-H.png)
* Interface Web permettant de représenter sous forme de graphique les données présentes dans ElasticSearch
![maxpic](images/kibana-screenshot.png)
### ![titlepic](images/Beats-Logos-Color-H.png)
* Ensemble d'agents écrits en Go permettant de collecter les données pour les envoyer vers ElasticSearch
### Shield
* Assure la sécurité d'accès à vos données ElasticSearch.
### Watcher
* Watcher est le produit d'alerte et de notification pour ElasticSearch.
### Marvel
* Surveille l'activité au sein de votre cluster, diagnostique les problèmes, et permet d'optimiser les performances.
![maxpic](images/Beats-Logos-Color-H.png)
### ElasticBeats en quelques mots
* Application légère
* Écrit en Go ![minipic](images/golang.png)
* Installé comme agent sur vos serveurs
* Pas de dépendances d'exécution
* But unique
#### Filebeat
*Collecte les logs dans les fichiers*
#### Winlogbeat
*Collecte les events logs Windows*
#### Packetbeat
*Collecte dans les paquets réseaux tcp/udp*
#### Topbeat
*Collecte les statistiques système (CPU, Disk, Mémoire par process, etc...)*
#### Metricbeat
*Collecte des métriques par interrogation périodique d'un service externe (not released)*
### Usages de l'analyse réseau
- Sécurité
- IDS *(Intrusion Detection Systems)*
- Troubleshooting d'un problème réseau
- Troubleshooting applicatif
- Analyse de perfomance
### Analyse réseau avec les outils standards
1. Connexion ssh sur l'ensemble des serveurs
- Lancement des tcpdump
- Rapatriement des fichiers de captures
- *Merge* des traces
- Analyse avec Wireshark
### Packetbeat: Vue d'ensemble
Il fait tout cela en temp réel directement sur les serveurs.
1. Capture du trafic réseau
- Analyse protocolaire
- Correlation requête et réponse dans la transaction
- Extraction des mesures
- Envoi des données vers ElasticSearch
### Packetbeat: Décodeurs disponibles
|Décodeurs Elastic | Décodeurs Communautaire|
|:-----------------|:-----------------------|
|Http |MongoDB |
|Mysql |ICMP |
|PostgreSQL |DNS |
|Redis |AMQP |
|Thrift-RPC |NFS |
|Memcache |Le vôtre ? (Ldap, DB2,...)|
### Packetbeat: Configuration
```
# Network interfaces where to sniff the data
interfaces:
device: any
# Specify the type of your network data
protocols:
dns:
ports: [53]
http:
ports: [80, 8080, 8081, 5000, 8002]
mysql:
ports: [3306]
output:
elasticsearch:
hosts: [localhost:9200]
...
```
### Filebeat: Vue d'ensemble
1. *Log forwarder* qui envoie vos lignes de log à ElasticSearch
- Successeur de *Logstash Forwarder*
- Il se souvient des lignes envoyées pour ne pas en oublier.
- Lecture des fichiers ligne par ligne.
- Il n'analyse pas les lignes envoyées.
### Filebeat: Envoi via Logstash
1. Filebeat envoi les lignes de logs non *parsées* (pas d'anayse grammaticale)
- Utilisation des filtres Grok, mutate, GeoIP pour parser les lignes
- Logstash est capable d'envoyer les informations analysées vers ElasticSearch et en plus vers d'autres outils (syslog, graphite, ...)
- Possibilité de chiffrement des communications, certificat serveur et client.
### Filebeat: Pour le future ElasticSearch 5.0
1. Le plugin ElasticSearch *Ingest node* sera capable de parser directement.
- Filebeat sera capable de communiquer directement avec ElasticSearch.
- La configuration sera plus simple.
### Filebeat: Configuration
```
filebeat:
# List of prospectors to fetch data.
prospectors:
# Type of files: log or stdin
- input_type: log
# Files that should be crawled and fetched.
paths:
- “/var/log/apache2/*”
# File encoding: plain, utf-8, big5, gb18030, ...
encoding: plain
```
### Topbeat
- Topbeat est un peu comme l'outil Unix top, mais au lieu d'afficher les statistiques système à l'écran il envoie periodiquement les informations vers ElasticSearch.
- Il fonctionne également sous Windows.
### Topbeat : Données Exportées
|Système |Processus|Disques|
|:-------|:--------|:------|
|Charge | État |Espace libre et occupé|
|Total CPU utilisé|Nom |Disques disponibles|
|CPU utilisé par core|Ligne de commande|Point de montage|
|Swap, Mémoire utilisé|pid||
||CPU utilisé||
||Mémoire utilisé||
### Topbeat: Configuration
```
topbeat:
# how often to send system statistics
period: 10
# specify the processes to monitor
procs: [".*"]
# Statistics to collect (all enabled by default)
stats:
system: true
process: true
filesystem: true
```
# Démo
![maxpic](images/Man-of-Steel.jpg)