Consolidez vos journaux et vos métriques avec Elastic Beats

Licence Creative Commons
Présentation de @CattGr est mise à disposition selon les termes de la licence Creative Commons Attribution 4.0 International

![](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 Golang ![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)*
# Packetbeat
### 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
### 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 - 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 ```
## Communauté Beats De nombreux Beats communautaire existent, en voici quelques uns : - dockerbeat : Lit les statistiques de conteneurs Docker et les indexe dans ElasticSearch. - execbeat : Exécute régulièrement des commandes shell et envoie la sortie standard vers Logstash ou ElasticSearch. - flowbeat : Recueille, analyse les flux sFlow. - mysqlbeat : Permet d'exécuter des requêtes mysql et d'envoyer ces informations vers ElasticSearch pour analyse. - nagioscheckbeat : Pour les contrôles Nagios et les données de performance.
# Démo ![maxpic](images/Man-of-Steel.jpg)
# Questions ? ### Merci