Elastic Stack Overview The world’s most popular enterprise products for real-time search, logging, analytics, and more
A presentation at ISEN (private event) in March 2019 in Lille, France by David Pilato
Elastic Stack Overview The world’s most popular enterprise products for real-time search, logging, analytics, and more
Who? $ curl http://localhost:9200/speaker/_doc/dpilato { “nom” : “David Pilato”, “jobs” : [ { “boite” : “SRA Europe (SSII)”, “mission” : “bon à tout faire”, “date” : “1995” }, { “boite” : “SFR”, “mission” : “touche à tout”, “date” : “1997” }, { “boite” : “e-Brands / Vivendi”, “mission” : “chef de projets”, “date”: “2000” }, { “boite” : “DGDDI (douane)”, “mission” : “mouton à 5 pattes”, “date” : “2005” }, { “boite” : “IDEO Technologies”, “mission” : “CTO”, “date” : “2012” }, { “boite” : “elastic”, “mission” : “développeur”, “date” : “2013” } ], “passions” : [ “famille”, “job”, “deejay” ], “blog” : “http://david.pilato.fr/”, “twitter” : [ “@dadoonet”, “@elasticfr” ], “email” : “david@pilato.fr” } !2
Elastic Stack SOLUTIONS Elastic Stack Kibana Visualize & Manage Elasticsearch Store, Search, & Analyze Beats APM Logstash SaaS Elastic Cloud SELF-MANAGED Elastic Cloud Enterprise Standalone Ingest
Deployment in the Enterprise Beats Elasticsearch Custom UI FILEBEAT HEARTBEAT WINGLOGBEAT Master (3) Ingest (X) Logstash METRICBEAT Coordinating (X) PACKETBEAT Elasticsearch Clients AUDITBEAT Data – Hot (X) Kafka Kibana Data – Warm (X) Data store Web APIs Redis Workers (2+) Alerting (X) Messaging Queue Social Machine Learning (2+) Sensors LDAP ES-Hadoop !4 AD Authentication SSO Notification
!5 https://www.elastic.co/fr/subscriptions
Services at a Glance Elastic Training Certification • Immersive learning experience • Performance-based exam • Solution-based curriculum • Solve real-world tasks, in realtime • Flexible ways-to-train • Remote, secure testing People Strategy !6 Elastic Consulting • Expert services focused on your business goals • Phased-based packages • Product expertise Project Strategy
A typical search implementation… CREATE TABLE user ( name VARCHAR(100), comments VARCHAR(1000) ); INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INSERT INTO user VALUES (‘Malloum Laya’, ‘Worked with David at french customs service’); INSERT INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INSERT INTO user VALUES (‘David David’, ‘Who is that guy?’); David !7
Search on term INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name=”David”; Empty set (0,00 sec) David !8
Search like INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%David%”; +———————+———————————+ | name | comments | +———————+———————————+ | David Pilato | Developer at elastic | | David Gageot | Engineer at Google | | David David | Who is that guy? | +———————+———————————+ David !9
Search for terms INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%David Pilato%”; +———————+———————————+ | name | comments | +———————+———————————+ | David Pilato | Developer at elastic | +———————+———————————+ David Pilato !10
Search with inverted terms INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%Pilato David%”; Empty set (0,00 sec) SELECT * FROM user WHERE name LIKE “%Pilato%David%”; Empty set (0,00 sec) Pilato David !11
Search for terms INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%David%” AND name LIKE “%Pilato%”; +———————+———————————+ | name | comments | +———————+———————————+ | David Pilato | Developer at elastic | +———————+———————————+ Pilato David !12
Search in two fields INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%David%” OR comments LIKE “%David%”; +———————+——————————————————————-+ | name | comments | +———————+——————————————————————-+ | David Pilato | Developer at elastic | | Malloum Laya | Worked with David at french customs service | | David Gageot | Engineer at Google | | David David | Who is that guy? | +———————+——————————————————————-+ David !13
Search with typos INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%Dadid%”; Empty set (0,00 sec) Dadid !15
Search with typos INSERT INSERT french INSERT INSERT INTO user VALUES (‘David Pilato’, ‘Developer at elastic’); INTO user VALUES (‘Malloum Laya’, ‘Worked with David at customs service’); INTO user VALUES (‘David Gageot’, ‘Engineer at Google’); INTO user VALUES (‘David David’, ‘Who is that guy?’); SELECT * FROM user WHERE name LIKE “%adid%” OR name LIKE “%D_did%” OR name LIKE “%Da_id%” OR name LIKE “%Dad_d%” OR name LIKE “%Dadi%”; +———————+———————————+ | name | comments | +———————+———————————+ | David Pilato | Developer at elastic | | David Gageot | Engineer at Google | | David David | Who is that guy? | +———————+———————————+ !16
User Interface !18
Search engine? Moteur d’indexation de documents Moteur de recherche dans les index !19
Demo time! !20
!21
!23
!24
!25
elasticfr @elasticfr discuss.elastic.co