Post on 16-Apr-2017
Consolidez vos journaux et vosmétriques avec Elastic Beats
Présentation de est mise à disposition selon les termes de la @CattGr licence Creative Commons Attribution 4.0 International
Moteur de recherche pour la génération NoSQLBasé sur le standard Apache LuceneMasque la complexité Java/Lucene à l’aide de servicesstandards HTTP / RESTful / JSONUtilisable à partir de n’importe quel langageAjoute la couche cloud manquante à LuceneC’est un moteur, pas une interface graphique !
ETL : 49 sources di�érentes, 42 �ltres, 25 codecs, 56sorties (dont ElasticSearch)Logstash: l’arme secrète pour vaincre le côté obscur devos logs ( Devoxx 2015 )https://youtu.be/-zawsoOhz70
Interface Web permettant de représenter sous formede graphique les données présentes dansElasticSearch
Ensemble d'agents écrits en Go permettant decollecter les données pour les envoyer versElasticSearch
ShieldAssure la sécurité d'accès à vos données ElasticSearch.
WatcherWatcher est le produit d'alerte et de noti�cation pourElasticSearch.
MarvelSurveille l'activité au sein de votre cluster,diagnostique les problèmes, et permet d'optimiser lesperformances.
ElasticBeats en quelques motsApplication légère
Écrit en Golang
Installé comme agent sur vos serveursPas de dépendances d'exécutionBut unique
Filebeat
Collecte les logs dans les �chiers
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 parprocess, etc...)
Metricbeat
Collecte des métriques par interrogation périodique d'unservice externe (not released)
Usages de l'analyse réseauSécurité
IDS (Intrusion Detection Systems)Troubleshooting d'un problème réseauTroubleshooting applicatifAnalyse de perfomance
Analyse réseau avec les outils standards1. Connexion ssh sur l'ensemble des serveurs2. Lancement des tcpdump3. Rapatriement des �chiers de captures4. Merge des traces5. Analyse avec Wireshark
Packetbeat: Vue d'ensembleIl fait tout cela en temp réel directement sur les serveurs.
1. Capture du tra�c réseau2. Analyse protocolaire3. Correlation requête et réponse dans la transaction4. Extraction des mesures5. Envoi des données vers ElasticSearch
Packetbeat: Décodeurs disponiblesDécodeurs Elastic Décodeurs CommunautaireHttp 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'ensemble1. Log forwarder qui envoie vos lignes de log à
ElasticSearch2. Successeur de Logstash Forwarder3. Il se souvient des lignes envoyées pour ne pas en
oublier.4. Lecture des �chiers ligne par ligne.5. Il n'analyse pas les lignes envoyées.
Filebeat: Envoi via Logstash1. Filebeat envoi les lignes de logs non parsées (pas
d'anayse grammaticale)2. Utilisation des �ltres Grok, mutate, GeoIP pour parser
les lignes3. Logstash est capable d'envoyer les informations
analysées vers ElasticSearch et en plus vers d'autresoutils (syslog, graphite, ...)
4. Possibilité de chi�rement des communications,certi�cat serveur et client.
Filebeat: Pour le future ElasticSearch 5.01. Le plugin ElasticSearch Ingest node sera capable de
parser directement.2. Filebeat sera capable de communiquer directement
avec ElasticSearch.3. La con�guration sera plus simple.
Filebeat: Configurationfilebeat: # 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, utf8, big5, gb18030, ... encoding: plain
TopbeatTopbeat est un peu comme l'outil Unix top, mais aulieu d'a�cher les statistiques système à l'écran ilenvoie periodiquement les informations versElasticSearch.Il fonctionne également sous Windows.
Topbeat : Données ExportéesSystème Processus DisquesCharge É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: Configurationtopbeat: # 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É BEATSDe nombreux Beats communautaire existent, en voici
quelques uns :
dockerbeat : Lit les statistiques de conteneurs Dockeret les indexe dans ElasticSearch.execbeat : Exécute régulièrement des commandesshell et envoie la sortie standard vers Logstash ouElasticSearch.�owbeat : Recueille, analyse les �ux sFlow.mysqlbeat : Permet d'exécuter des requêtes mysql etd'envoyer ces informations vers ElasticSearch pouranalyse.nagioscheckbeat : Pour les contrôles Nagios et lesdonnées de performance.