SlideShare una empresa de Scribd logo
1 de 51
The Elastic Stack on Docker
Elastic in a Box
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
Getting acquainted - Who am I?
● Valentin Crettaz (mailto:valentin.crettaz@consulthys.com)
○ https://www.linkedin.com/in/valentincrettaz/
○ https://twitter.com/consulthys
● Developing Java software since 1996
● Fell in love with Elasticsearch in 2010 (v0.9.0)
○ https://www.elastic.co/blog/you-know-for-search
● Running Elasticsearch meetups in Switzerland since early 2016
○ https://www.meetup.com/fr-FR/elasticsearch-switzerland
● Active open-source contributor
○ https://github.com/consulthys
● Active Stack Overflow contributor
○ http://stackoverflow.com/users/4604579/val
Getting acquainted - Who are you?
● How many of you have already…
○ … heard of Elasticsearch?
○ … downloaded Elasticsearch?
○ … installed/run Elasticsearch?
○ … extended Elasticsearch?
● Your background?
● Define Elasticsearch with your own words
Getting acquainted - Disclaimer
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
Ecosystem - The Big Picture
Ecosystem - An Even Bigger Picture
Ecosystem - Logstash
2013: https://www.elastic.co/blog/welcome-jordan-logstash
Ecosystem - Kibana
2013: https://www.elastic.co/blog/welcome-drew-rashid
Ecosystem - Beats
2015: https://www.elastic.co/blog/welcome-packetbeat-tudor-monica
Ecosystem - Monitoring
Ecosystem - Machine Learning
2016: https://www.elastic.co/blog/welcome-prelert-to-the-elastic-team
Ecosystem - Graph
Ecosystem - Elastic Cloud
2015: https://www.elastic.co/blog/welcome-found
Ecosystem - APM
2017: https://www.elastic.co/blog/welcome-opbeat-to-the-elastic-family
Ecosystem - Site + Application Search
2017: https://www.elastic.co/blog/swiftype-joins-forces-with-elastic
Ecosystem - Semantic Source Search
2018: https://www.elastic.co/blog/welcome-insight-io-to-the-elastic-team
Ecosystem - and more...
● Watcher (for alerting)
● Shield (for security)
● Report (for reporting)
● Canvas (for infographics)
● ...
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
Elasticsearch
Elasticsearch is a distributed, RESTful search and analytics engine capable of
solving a growing number of use cases.
Use cases
● Full-text search
● Application search
● Enterprise search
● Business analytics
● Metrics analytics
● Security analytics
● Operational logs analytics
● Anomaly detection
● ...
Features overview
● Distributed and scalable
● Resilient
● Fault tolerant
● High availability
● RESTful interface
● Document-oriented
● Schema free
● Multi-tenancy
● Extensible
● Growing and active community
● Query DSL
● Aggregations
● Full-text search (Lucene)
● Structured search
● Geo-spatial search
● Suggesters
● Highlighters
● Percolation
● Profiling
● Client libraries in 10+ languages
● ...
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
What are we talking about?
What are we talking about?
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
Installation (Vanilla) - https://elastic.co/downloads
1. Download and unzip (or yum/dpkg/msi it)
2. ./bin/elasticsearch
3. curl http://localhost:9200/
4. That’s all folks, now you can brag about it !
Installation (Docker) - https://www.docker.elastic.co/
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
Running Official Docker Images (1/2)
docker run docker.elastic.co/elasticsearch/elasticsearch:6.4.1
docker run -e "node.name=es_node1" 
docker.elastic.co/elasticsearch/elasticsearch:6.4.1
docker run -e "node.name=es_node1" 
-e ES_JAVA_OPTS="-Xmx2g -Xms2g" 
-e "cluster.name=my_es_cluster" 
docker.elastic.co/elasticsearch/elasticsearch:6.4.1
...
Running Official Docker Images (2/2)
...
docker run -e "node.name=es_node1" 
-e ES_JAVA_OPTS="-Xmx2g -Xms2g" 
-e "cluster.name=my_es_cluster" 
-v /elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 
docker.elastic.co/elasticsearch/elasticsearch:6.4.1
docker run -e "node.name=es_node1" 
-e ES_JAVA_OPTS="-Xmx2g -Xms2g" 
-e "cluster.name=my_es_cluster" 
-v /elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 
-v /mnt/es-data:/usr/share/elasticsearch/data 
-p 9201:9200 
docker.elastic.co/elasticsearch/elasticsearch:6.4.1
Creating custom images using Dockerfile (1/5)
FROM docker.elastic.co/elasticsearch/elasticsearch:6.4.1
ENV ES_JAVA_OPTS="-Xmx2g -Xms2g"
COPY /conf/elasticsearch.yml /usr/share/elasticsearch/config/
VOLUME /mnt/es-data
EXPOSE 9200 9300
HEALTHCHECK CMD curl --fail http://localhost:9200 || exit 1
$> docker build . -t custom_es641
Sending build context to Docker daemon 45.44MB
Step 1/6 : FROM docker.elastic.co/elasticsearch/elasticsearch:6.4.1
---> 96dd1575de0f
Step 2/6 : ENV ES_JAVA_OPTS "-Xmx2g -Xms2g"
---> Using cache
---> d9b744d2ce1a
Step 3/6 : COPY /conf/elasticsearch.yml /usr/share/elasticsearch/config/
---> Using cache
---> 920f451da5b0
Step 4/6 : VOLUME /mnt/es-data
---> Using cache
---> 9b1e957f4820
Step 5/6 : EXPOSE 9200 9300
---> Using cache
---> 8b62712bc1e0
Step 6/6 : HEALTHCHECK CMD curl --fail http://localhost:9200 || exit 1
---> Using cache
---> c673dde527e4
Successfully built c673dde527e4
Successfully tagged custom_es641:latest
Creating custom images using Dockerfile (2/5)
$> docker run -p 9200:9200 custom_es641:latest
$> curl localhost:9200
{
"name" : "Slo94R2",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "ccJTixm4QOmtUQn8wnWa7Q",
"version" : {
"number" : "6.4.1",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "e36acdb",
"build_date" : "2018-09-13T22:18:07.696808Z",
"build_snapshot" : false,
"lucene_version" : "7.4.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}
Creating custom images using Dockerfile (3/5)
elasticsearch
Slo94R2
Creating custom images using Dockerfile (4/5)
docker run -e "node.name=es1" --name es1 -p 9200:9200 -p 9300:9300 
-e "discovery.zen.ping.unicast.hosts= es1,es2,es3" 
-e "cluster.name=3_node_cluster" 
custom_es641:latest
docker run -e "node.name=es2" --name es2 -p 9201:9200 -p 9301:9300 
-e "discovery.zen.ping.unicast.hosts= es1,es2,es3" 
-e "cluster.name=3_node_cluster" 
custom_es641:latest
docker run -e "node.name=es3" --name es3 -p 9202:9200 -p 9302:9300 
-e "discovery.zen.ping.unicast.hosts= es1,es2,es3" 
-e "cluster.name=3_node_cluster" 
custom_es641:latest
Creating custom images using Dockerfile (5/5)
$ curl localhost:9200/_cat/nodes?v
ip heap.% ram.% cpu load_1m load_5m load_15m node.role master name
172.17.0.4 36 58 42 1.47 0.59 0.46 mdi - es3
172.17.0.3 56 58 53 1.47 0.59 0.46 mdi - es2
172.17.0.2 42 58 30 1.47 0.59 0.46 mdi * es1
3_node_cluster
es2es1* es3
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
Kibana on Docker (1/2)
docker run docker.elastic.co/kibana/kibana:6.4.1
docker run --rm -p 5601:5601 -e "ELASTICSEARCH_URL=http://es1:9200" 
docker.elastic.co/kibana/kibana:6.4.1
docker run --rm -p 5601:5601 -e "ELASTICSEARCH_URL=http://es1:9200" 
-e "SERVER_NAME=my-kibana" 
docker.elastic.co/kibana/kibana:6.4.1
...
Kibana on Docker (2/2)
FROM docker.elastic.co/kibana/kibana:6.4.1
ENV ELASTICSEARCH_URL="http://es1:9200"
COPY /conf/kibana.yml /usr/share/kibana/config/
EXPOSE 5601
HEALTHCHECK CMD curl --fail http://localhost:5601 || exit 1
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
Logstash on Docker (1/2)
docker run docker.elastic.co/logstash/logstash:6.4.1
docker run --rm -p 9600:9600 -e "PIPELINE_WORKERS=3" 
docker.elastic.co/logstash/logstash:6.4.1
docker run --rm -p 9600:9600 -e "PIPELINE_WORKERS=3" 
-e "LOG_LEVEL=DEBUG" 
docker.elastic.co/logstash/logstash:6.4.1
...
Logstash on Docker (2/2)
FROM docker.elastic.co/logstash/logstash:6.4.1
RUN rm -f /usr/share/logstash/pipeline/logstash.conf
ADD pipeline/ /usr/share/logstash/pipeline/
ADD config/ /usr/share/logstash/config/
EXPOSE 9600
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
Tying it all together using docker-compose (1/2)
version: "3.3"
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:6.4.1
volumes:
-
./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./jvm.options:/usr/share/elasticsearch/config/jvm.options
- ./data:/usr/share/elasticsearch/data
- ./snapshots:/tmp/es6_dev_repo
ports:
- "9200:9200"
- "9300:9300"
environment:
ES_JAVA_OPTS: "-Xmx2g -Xms2g"
networks:
- elk
...
...
kibana:
image: docker.elastic.co/kibana/kibana:6.4.1
volumes:
- ./kibana/config/:/usr/share/kibana/config
- ./kibana/cache/:/usr/share/kibana/optimize
ports:
- "5601:5601"
networks:
- elk
depends_on:
- elasticsearch
...
Tying it all together using docker-compose (2/2)
...
logstash:
image: docker.elastic.co/logstash/logstash:6.4.1
volumes:
- ./logstash/config/:/usr/share/logstash/config/
ports:
- "9600:9600"
networks:
- elk
depends_on:
- elasticsearch
networks:
elk:
driver: bridge
$ docker-compose up
What are we talking about?
Tying it all together https://www.elastic.co/blog/a-full-stack-in-one-command
https://github.com/elastic/examples/tree/master/Miscellaneous/docker/full_stack_example
Agenda
● Getting acquainted
● Ecosystem
● Features overview
● What are we talking about?
● Installation
● ES on Docker
● Kibana on Docker
● Logstash on Docker
● Tying it all together
● What’s next?
● Docs: https://www.elastic.co/guide/index.html
● Videos: https://www.elastic.co/videos
● Slides: https://speakerdeck.com/elastic/
● Blog: https://www.elastic.co/blog
● Source: https://github.com/elastic
● Meetups: https://www.meetup.com/fr-FR/elastic-switzerland/
● Conference: https://www.elastic.co/elasticon/conf/2018/sf
● Discuss:
■ https://stackoverflow.com/questions/tagged/elasticsearch
■ https://discuss.elastic.co/
● Articles:
■ https://www.elastic.co/blog/a-full-stack-in-one-command
■ https://www.elastic.co/blog/docker-networking
■ https://sematext.com/blog/elasticsearch-in-docker/
■ https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
■ https://www.elastic.co/guide/en/kibana/current/docker.html
■ https://www.elastic.co/guide/en/logstash/current/docker.html
What’s next?
Q&A

Más contenido relacionado

La actualidad más candente

Zun project update (boston summit)
Zun project update (boston summit)Zun project update (boston summit)
Zun project update (boston summit)hongbin034
 
Easy Docker on Microsoft Azure
Easy Docker on Microsoft AzureEasy Docker on Microsoft Azure
Easy Docker on Microsoft AzureDocker, Inc.
 
How to master OpenStack in 2 hours
How to master OpenStack in 2 hoursHow to master OpenStack in 2 hours
How to master OpenStack in 2 hoursOpenCity Community
 
Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?Adam Štipák
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Jérôme Petazzoni
 
Powershell dcpp
Powershell dcppPowershell dcpp
Powershell dcppartisriva
 
Mobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und KibanaMobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und Kibanainovex GmbH
 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Jérôme Petazzoni
 
2013 PyCon SG - Building your cloud infrastructure with Python
2013 PyCon SG - Building your cloud infrastructure with Python2013 PyCon SG - Building your cloud infrastructure with Python
2013 PyCon SG - Building your cloud infrastructure with PythonGeorge Goh
 
Nova: Openstack Compute-as-a-service
Nova: Openstack Compute-as-a-serviceNova: Openstack Compute-as-a-service
Nova: Openstack Compute-as-a-servicePratik Bandarkar
 
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...Lakmal Warusawithana
 
Getting Started with PureScript
Getting Started with PureScriptGetting Started with PureScript
Getting Started with PureScriptJohn De Goes
 
Тарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developersТарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developersLEDC 2016
 
Node.js, toy or power tool?
Node.js, toy or power tool?Node.js, toy or power tool?
Node.js, toy or power tool?Ovidiu Dimulescu
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStackopenstackindia
 
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Running High Performance & Fault-tolerant Elasticsearch Clusters on DockerRunning High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Running High Performance & Fault-tolerant Elasticsearch Clusters on DockerSematext Group, Inc.
 
Node.js 101 with Rami Sayar
Node.js 101 with Rami SayarNode.js 101 with Rami Sayar
Node.js 101 with Rami SayarFITC
 
Philly Tech Week Introduction to NodeJS
Philly Tech Week Introduction to NodeJSPhilly Tech Week Introduction to NodeJS
Philly Tech Week Introduction to NodeJSRoss Kukulinski
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerizationBalint Pato
 

La actualidad más candente (20)

Zun project update (boston summit)
Zun project update (boston summit)Zun project update (boston summit)
Zun project update (boston summit)
 
Easy Docker on Microsoft Azure
Easy Docker on Microsoft AzureEasy Docker on Microsoft Azure
Easy Docker on Microsoft Azure
 
How to master OpenStack in 2 hours
How to master OpenStack in 2 hoursHow to master OpenStack in 2 hours
How to master OpenStack in 2 hours
 
Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?Wordcamp Bratislava 2017 - Docker! Why?
Wordcamp Bratislava 2017 - Docker! Why?
 
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
Docker 1 0 1 0 1: a Docker introduction, actualized for the stable release of...
 
Powershell dcpp
Powershell dcppPowershell dcpp
Powershell dcpp
 
Mobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und KibanaMobile Analytics mit Elasticsearch und Kibana
Mobile Analytics mit Elasticsearch und Kibana
 
Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9 Docker Introduction + what is new in 0.9
Docker Introduction + what is new in 0.9
 
Drools Workshop @JBCNCONF 2016
Drools Workshop @JBCNCONF 2016Drools Workshop @JBCNCONF 2016
Drools Workshop @JBCNCONF 2016
 
2013 PyCon SG - Building your cloud infrastructure with Python
2013 PyCon SG - Building your cloud infrastructure with Python2013 PyCon SG - Building your cloud infrastructure with Python
2013 PyCon SG - Building your cloud infrastructure with Python
 
Nova: Openstack Compute-as-a-service
Nova: Openstack Compute-as-a-serviceNova: Openstack Compute-as-a-service
Nova: Openstack Compute-as-a-service
 
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
Wso2 con 2014-us-tutorial-apache stratos-wso2 private paas with docker integr...
 
Getting Started with PureScript
Getting Started with PureScriptGetting Started with PureScript
Getting Started with PureScript
 
Тарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developersТарас Кирилюк — Docker basics. How-to for Drupal developers
Тарас Кирилюк — Docker basics. How-to for Drupal developers
 
Node.js, toy or power tool?
Node.js, toy or power tool?Node.js, toy or power tool?
Node.js, toy or power tool?
 
State of Containers in OpenStack
State of Containers in OpenStackState of Containers in OpenStack
State of Containers in OpenStack
 
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Running High Performance & Fault-tolerant Elasticsearch Clusters on DockerRunning High Performance & Fault-tolerant Elasticsearch Clusters on Docker
Running High Performance & Fault-tolerant Elasticsearch Clusters on Docker
 
Node.js 101 with Rami Sayar
Node.js 101 with Rami SayarNode.js 101 with Rami Sayar
Node.js 101 with Rami Sayar
 
Philly Tech Week Introduction to NodeJS
Philly Tech Week Introduction to NodeJSPhilly Tech Week Introduction to NodeJS
Philly Tech Week Introduction to NodeJS
 
Intro to containerization
Intro to containerizationIntro to containerization
Intro to containerization
 

Similar a The elastic stack on docker

Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xrkr10
 
Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.Prajal Kulkarni
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersDocker, Inc.
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesJérôme Petazzoni
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkJérôme Petazzoni
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataInfluxData
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline Docker, Inc.
 
Deploying OpenStack with Ansible
Deploying OpenStack with AnsibleDeploying OpenStack with Ansible
Deploying OpenStack with AnsibleKevin Carter
 
Introduction to Docker and Containers
Introduction to Docker and ContainersIntroduction to Docker and Containers
Introduction to Docker and ContainersDocker, Inc.
 
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Walid Shaari
 
Declarative Infrastructure Tools
Declarative Infrastructure Tools Declarative Infrastructure Tools
Declarative Infrastructure Tools Yulia Shcherbachova
 
Techtalks: taking docker to production
Techtalks: taking docker to productionTechtalks: taking docker to production
Techtalks: taking docker to productionmuayyad alsadi
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewiredotCloud
 
Best Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with DockerBest Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with DockerEric Smalling
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniTheFamily
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionJérôme Petazzoni
 
Let's Containerize New York with Docker!
Let's Containerize New York with Docker!Let's Containerize New York with Docker!
Let's Containerize New York with Docker!Jérôme Petazzoni
 

Similar a The elastic stack on docker (20)

Docker introduction
Docker introductionDocker introduction
Docker introduction
 
Docker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12xDocker and-containers-for-development-and-deployment-scale12x
Docker and-containers-for-development-and-deployment-scale12x
 
Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.Null Bachaav - May 07 Attack Monitoring workshop.
Null Bachaav - May 07 Attack Monitoring workshop.
 
A Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and ContainersA Gentle Introduction to Docker and Containers
A Gentle Introduction to Docker and Containers
 
Docker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los AngelesDocker 0.11 at MaxCDN meetup in Los Angeles
Docker 0.11 at MaxCDN meetup in Los Angeles
 
Introduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New YorkIntroduction to Docker at the Azure Meet-up in New York
Introduction to Docker at the Azure Meet-up in New York
 
Introduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxDataIntroduction to Docker and Monitoring with InfluxData
Introduction to Docker and Monitoring with InfluxData
 
DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline  DCSF 19 Building Your Development Pipeline
DCSF 19 Building Your Development Pipeline
 
Deploying OpenStack with Ansible
Deploying OpenStack with AnsibleDeploying OpenStack with Ansible
Deploying OpenStack with Ansible
 
Introduction to Docker and Containers
Introduction to Docker and ContainersIntroduction to Docker and Containers
Introduction to Docker and Containers
 
Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...Containers - Portable, repeatable user-oriented application delivery. Build, ...
Containers - Portable, repeatable user-oriented application delivery. Build, ...
 
Docker 101
Docker 101 Docker 101
Docker 101
 
Declarative Infrastructure Tools
Declarative Infrastructure Tools Declarative Infrastructure Tools
Declarative Infrastructure Tools
 
JOSA TechTalk: Taking Docker to Production
JOSA TechTalk: Taking Docker to ProductionJOSA TechTalk: Taking Docker to Production
JOSA TechTalk: Taking Docker to Production
 
Techtalks: taking docker to production
Techtalks: taking docker to productionTechtalks: taking docker to production
Techtalks: taking docker to production
 
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @GuidewireIntroduction to Docker at SF Peninsula Software Development Meetup @Guidewire
Introduction to Docker at SF Peninsula Software Development Meetup @Guidewire
 
Best Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with DockerBest Practices for Developing & Deploying Java Applications with Docker
Best Practices for Developing & Deploying Java Applications with Docker
 
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme PetazzoniWorkshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
Workshop : 45 minutes pour comprendre Docker avec Jérôme Petazzoni
 
Introduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" EditionIntroduction to Docker, December 2014 "Tour de France" Edition
Introduction to Docker, December 2014 "Tour de France" Edition
 
Let's Containerize New York with Docker!
Let's Containerize New York with Docker!Let's Containerize New York with Docker!
Let's Containerize New York with Docker!
 

Más de SmartWave

How to build an API strategy - Dorian Rougierx.
 How to build an API strategy - Dorian Rougierx. How to build an API strategy - Dorian Rougierx.
How to build an API strategy - Dorian Rougierx.SmartWave
 
Répondre aux défis de la gestion des factures fournisseurs
Répondre aux défis de la gestion des factures fournisseursRépondre aux défis de la gestion des factures fournisseurs
Répondre aux défis de la gestion des factures fournisseursSmartWave
 
SmartTechTalk : Asynchronous messaging
SmartTechTalk : Asynchronous messagingSmartTechTalk : Asynchronous messaging
SmartTechTalk : Asynchronous messagingSmartWave
 
Data Virtualisation and API Management United
Data Virtualisation and API Management UnitedData Virtualisation and API Management United
Data Virtualisation and API Management UnitedSmartWave
 
Data Agility and Security with Data Virtualisation
Data Agility and Security with Data VirtualisationData Agility and Security with Data Virtualisation
Data Agility and Security with Data VirtualisationSmartWave
 
API Program Lessons learned
API Program Lessons learnedAPI Program Lessons learned
API Program Lessons learnedSmartWave
 
Customer testimonal API Program Lessons learned
Customer testimonalAPI ProgramLessons learnedCustomer testimonalAPI ProgramLessons learned
Customer testimonal API Program Lessons learnedSmartWave
 
API Management Microservices beyond HIP
API Management Microservices beyond HIPAPI Management Microservices beyond HIP
API Management Microservices beyond HIPSmartWave
 
How does an API management strategy support your digital transformation?
How does an API management strategy support your digital transformation?How does an API management strategy support your digital transformation?
How does an API management strategy support your digital transformation?SmartWave
 
Monitoring docker, k8s and your applications with the elastic stack
Monitoring docker, k8s and your applications with the elastic stackMonitoring docker, k8s and your applications with the elastic stack
Monitoring docker, k8s and your applications with the elastic stackSmartWave
 
Gestion des logs de vos containers avec elastic !
Gestion des logs de vos containers avec elastic !Gestion des logs de vos containers avec elastic !
Gestion des logs de vos containers avec elastic !SmartWave
 
How api management supports the digital transformation process
How api management supports the digital transformation processHow api management supports the digital transformation process
How api management supports the digital transformation processSmartWave
 
Docker Geneva Meetup - Jelastic
Docker Geneva Meetup - JelasticDocker Geneva Meetup - Jelastic
Docker Geneva Meetup - JelasticSmartWave
 
Docker Geneva Meetup - Swarm
Docker Geneva Meetup - SwarmDocker Geneva Meetup - Swarm
Docker Geneva Meetup - SwarmSmartWave
 
Docker Geneva Meetup - Kubernetes
Docker Geneva Meetup - KubernetesDocker Geneva Meetup - Kubernetes
Docker Geneva Meetup - KubernetesSmartWave
 
Dématérialisation du traitement des factures
Dématérialisation du traitement des facturesDématérialisation du traitement des factures
Dématérialisation du traitement des facturesSmartWave
 
Axway amplify api management platform
Axway amplify api management platformAxway amplify api management platform
Axway amplify api management platformSmartWave
 
Api gateway @ vaudoise assurances
Api gateway @ vaudoise assurancesApi gateway @ vaudoise assurances
Api gateway @ vaudoise assurancesSmartWave
 
MSC Digital transformation with Axway API Management products and SmartWave S...
MSC Digital transformation with Axway API Management products and SmartWave S...MSC Digital transformation with Axway API Management products and SmartWave S...
MSC Digital transformation with Axway API Management products and SmartWave S...SmartWave
 

Más de SmartWave (20)

How to build an API strategy - Dorian Rougierx.
 How to build an API strategy - Dorian Rougierx. How to build an API strategy - Dorian Rougierx.
How to build an API strategy - Dorian Rougierx.
 
Répondre aux défis de la gestion des factures fournisseurs
Répondre aux défis de la gestion des factures fournisseursRépondre aux défis de la gestion des factures fournisseurs
Répondre aux défis de la gestion des factures fournisseurs
 
SmartTechTalk : Asynchronous messaging
SmartTechTalk : Asynchronous messagingSmartTechTalk : Asynchronous messaging
SmartTechTalk : Asynchronous messaging
 
Data Virtualisation and API Management United
Data Virtualisation and API Management UnitedData Virtualisation and API Management United
Data Virtualisation and API Management United
 
Data Agility and Security with Data Virtualisation
Data Agility and Security with Data VirtualisationData Agility and Security with Data Virtualisation
Data Agility and Security with Data Virtualisation
 
API Program Lessons learned
API Program Lessons learnedAPI Program Lessons learned
API Program Lessons learned
 
Customer testimonal API Program Lessons learned
Customer testimonalAPI ProgramLessons learnedCustomer testimonalAPI ProgramLessons learned
Customer testimonal API Program Lessons learned
 
API Management Microservices beyond HIP
API Management Microservices beyond HIPAPI Management Microservices beyond HIP
API Management Microservices beyond HIP
 
How does an API management strategy support your digital transformation?
How does an API management strategy support your digital transformation?How does an API management strategy support your digital transformation?
How does an API management strategy support your digital transformation?
 
Monitoring docker, k8s and your applications with the elastic stack
Monitoring docker, k8s and your applications with the elastic stackMonitoring docker, k8s and your applications with the elastic stack
Monitoring docker, k8s and your applications with the elastic stack
 
Gestion des logs de vos containers avec elastic !
Gestion des logs de vos containers avec elastic !Gestion des logs de vos containers avec elastic !
Gestion des logs de vos containers avec elastic !
 
API Trends
API TrendsAPI Trends
API Trends
 
How api management supports the digital transformation process
How api management supports the digital transformation processHow api management supports the digital transformation process
How api management supports the digital transformation process
 
Docker Geneva Meetup - Jelastic
Docker Geneva Meetup - JelasticDocker Geneva Meetup - Jelastic
Docker Geneva Meetup - Jelastic
 
Docker Geneva Meetup - Swarm
Docker Geneva Meetup - SwarmDocker Geneva Meetup - Swarm
Docker Geneva Meetup - Swarm
 
Docker Geneva Meetup - Kubernetes
Docker Geneva Meetup - KubernetesDocker Geneva Meetup - Kubernetes
Docker Geneva Meetup - Kubernetes
 
Dématérialisation du traitement des factures
Dématérialisation du traitement des facturesDématérialisation du traitement des factures
Dématérialisation du traitement des factures
 
Axway amplify api management platform
Axway amplify api management platformAxway amplify api management platform
Axway amplify api management platform
 
Api gateway @ vaudoise assurances
Api gateway @ vaudoise assurancesApi gateway @ vaudoise assurances
Api gateway @ vaudoise assurances
 
MSC Digital transformation with Axway API Management products and SmartWave S...
MSC Digital transformation with Axway API Management products and SmartWave S...MSC Digital transformation with Axway API Management products and SmartWave S...
MSC Digital transformation with Axway API Management products and SmartWave S...
 

Último

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 

Último (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 

The elastic stack on docker

  • 1. The Elastic Stack on Docker Elastic in a Box
  • 2. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 3. Getting acquainted - Who am I? ● Valentin Crettaz (mailto:valentin.crettaz@consulthys.com) ○ https://www.linkedin.com/in/valentincrettaz/ ○ https://twitter.com/consulthys ● Developing Java software since 1996 ● Fell in love with Elasticsearch in 2010 (v0.9.0) ○ https://www.elastic.co/blog/you-know-for-search ● Running Elasticsearch meetups in Switzerland since early 2016 ○ https://www.meetup.com/fr-FR/elasticsearch-switzerland ● Active open-source contributor ○ https://github.com/consulthys ● Active Stack Overflow contributor ○ http://stackoverflow.com/users/4604579/val
  • 4. Getting acquainted - Who are you? ● How many of you have already… ○ … heard of Elasticsearch? ○ … downloaded Elasticsearch? ○ … installed/run Elasticsearch? ○ … extended Elasticsearch? ● Your background? ● Define Elasticsearch with your own words
  • 5. Getting acquainted - Disclaimer
  • 6. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 7. Ecosystem - The Big Picture
  • 8. Ecosystem - An Even Bigger Picture
  • 9. Ecosystem - Logstash 2013: https://www.elastic.co/blog/welcome-jordan-logstash
  • 10. Ecosystem - Kibana 2013: https://www.elastic.co/blog/welcome-drew-rashid
  • 11. Ecosystem - Beats 2015: https://www.elastic.co/blog/welcome-packetbeat-tudor-monica
  • 13. Ecosystem - Machine Learning 2016: https://www.elastic.co/blog/welcome-prelert-to-the-elastic-team
  • 15. Ecosystem - Elastic Cloud 2015: https://www.elastic.co/blog/welcome-found
  • 16. Ecosystem - APM 2017: https://www.elastic.co/blog/welcome-opbeat-to-the-elastic-family
  • 17. Ecosystem - Site + Application Search 2017: https://www.elastic.co/blog/swiftype-joins-forces-with-elastic
  • 18. Ecosystem - Semantic Source Search 2018: https://www.elastic.co/blog/welcome-insight-io-to-the-elastic-team
  • 19. Ecosystem - and more... ● Watcher (for alerting) ● Shield (for security) ● Report (for reporting) ● Canvas (for infographics) ● ...
  • 20. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 21. Elasticsearch Elasticsearch is a distributed, RESTful search and analytics engine capable of solving a growing number of use cases.
  • 22. Use cases ● Full-text search ● Application search ● Enterprise search ● Business analytics ● Metrics analytics ● Security analytics ● Operational logs analytics ● Anomaly detection ● ...
  • 23. Features overview ● Distributed and scalable ● Resilient ● Fault tolerant ● High availability ● RESTful interface ● Document-oriented ● Schema free ● Multi-tenancy ● Extensible ● Growing and active community ● Query DSL ● Aggregations ● Full-text search (Lucene) ● Structured search ● Geo-spatial search ● Suggesters ● Highlighters ● Percolation ● Profiling ● Client libraries in 10+ languages ● ...
  • 24. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 25. What are we talking about?
  • 26. What are we talking about?
  • 27. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 28. Installation (Vanilla) - https://elastic.co/downloads 1. Download and unzip (or yum/dpkg/msi it) 2. ./bin/elasticsearch 3. curl http://localhost:9200/ 4. That’s all folks, now you can brag about it !
  • 29. Installation (Docker) - https://www.docker.elastic.co/
  • 30. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 31. Running Official Docker Images (1/2) docker run docker.elastic.co/elasticsearch/elasticsearch:6.4.1 docker run -e "node.name=es_node1" docker.elastic.co/elasticsearch/elasticsearch:6.4.1 docker run -e "node.name=es_node1" -e ES_JAVA_OPTS="-Xmx2g -Xms2g" -e "cluster.name=my_es_cluster" docker.elastic.co/elasticsearch/elasticsearch:6.4.1 ...
  • 32. Running Official Docker Images (2/2) ... docker run -e "node.name=es_node1" -e ES_JAVA_OPTS="-Xmx2g -Xms2g" -e "cluster.name=my_es_cluster" -v /elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml docker.elastic.co/elasticsearch/elasticsearch:6.4.1 docker run -e "node.name=es_node1" -e ES_JAVA_OPTS="-Xmx2g -Xms2g" -e "cluster.name=my_es_cluster" -v /elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /mnt/es-data:/usr/share/elasticsearch/data -p 9201:9200 docker.elastic.co/elasticsearch/elasticsearch:6.4.1
  • 33. Creating custom images using Dockerfile (1/5) FROM docker.elastic.co/elasticsearch/elasticsearch:6.4.1 ENV ES_JAVA_OPTS="-Xmx2g -Xms2g" COPY /conf/elasticsearch.yml /usr/share/elasticsearch/config/ VOLUME /mnt/es-data EXPOSE 9200 9300 HEALTHCHECK CMD curl --fail http://localhost:9200 || exit 1
  • 34. $> docker build . -t custom_es641 Sending build context to Docker daemon 45.44MB Step 1/6 : FROM docker.elastic.co/elasticsearch/elasticsearch:6.4.1 ---> 96dd1575de0f Step 2/6 : ENV ES_JAVA_OPTS "-Xmx2g -Xms2g" ---> Using cache ---> d9b744d2ce1a Step 3/6 : COPY /conf/elasticsearch.yml /usr/share/elasticsearch/config/ ---> Using cache ---> 920f451da5b0 Step 4/6 : VOLUME /mnt/es-data ---> Using cache ---> 9b1e957f4820 Step 5/6 : EXPOSE 9200 9300 ---> Using cache ---> 8b62712bc1e0 Step 6/6 : HEALTHCHECK CMD curl --fail http://localhost:9200 || exit 1 ---> Using cache ---> c673dde527e4 Successfully built c673dde527e4 Successfully tagged custom_es641:latest Creating custom images using Dockerfile (2/5)
  • 35. $> docker run -p 9200:9200 custom_es641:latest $> curl localhost:9200 { "name" : "Slo94R2", "cluster_name" : "elasticsearch", "cluster_uuid" : "ccJTixm4QOmtUQn8wnWa7Q", "version" : { "number" : "6.4.1", "build_flavor" : "default", "build_type" : "tar", "build_hash" : "e36acdb", "build_date" : "2018-09-13T22:18:07.696808Z", "build_snapshot" : false, "lucene_version" : "7.4.0", "minimum_wire_compatibility_version" : "5.6.0", "minimum_index_compatibility_version" : "5.0.0" }, "tagline" : "You Know, for Search" } Creating custom images using Dockerfile (3/5) elasticsearch Slo94R2
  • 36. Creating custom images using Dockerfile (4/5) docker run -e "node.name=es1" --name es1 -p 9200:9200 -p 9300:9300 -e "discovery.zen.ping.unicast.hosts= es1,es2,es3" -e "cluster.name=3_node_cluster" custom_es641:latest docker run -e "node.name=es2" --name es2 -p 9201:9200 -p 9301:9300 -e "discovery.zen.ping.unicast.hosts= es1,es2,es3" -e "cluster.name=3_node_cluster" custom_es641:latest docker run -e "node.name=es3" --name es3 -p 9202:9200 -p 9302:9300 -e "discovery.zen.ping.unicast.hosts= es1,es2,es3" -e "cluster.name=3_node_cluster" custom_es641:latest
  • 37. Creating custom images using Dockerfile (5/5) $ curl localhost:9200/_cat/nodes?v ip heap.% ram.% cpu load_1m load_5m load_15m node.role master name 172.17.0.4 36 58 42 1.47 0.59 0.46 mdi - es3 172.17.0.3 56 58 53 1.47 0.59 0.46 mdi - es2 172.17.0.2 42 58 30 1.47 0.59 0.46 mdi * es1 3_node_cluster es2es1* es3
  • 38. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 39. Kibana on Docker (1/2) docker run docker.elastic.co/kibana/kibana:6.4.1 docker run --rm -p 5601:5601 -e "ELASTICSEARCH_URL=http://es1:9200" docker.elastic.co/kibana/kibana:6.4.1 docker run --rm -p 5601:5601 -e "ELASTICSEARCH_URL=http://es1:9200" -e "SERVER_NAME=my-kibana" docker.elastic.co/kibana/kibana:6.4.1 ...
  • 40. Kibana on Docker (2/2) FROM docker.elastic.co/kibana/kibana:6.4.1 ENV ELASTICSEARCH_URL="http://es1:9200" COPY /conf/kibana.yml /usr/share/kibana/config/ EXPOSE 5601 HEALTHCHECK CMD curl --fail http://localhost:5601 || exit 1
  • 41. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 42. Logstash on Docker (1/2) docker run docker.elastic.co/logstash/logstash:6.4.1 docker run --rm -p 9600:9600 -e "PIPELINE_WORKERS=3" docker.elastic.co/logstash/logstash:6.4.1 docker run --rm -p 9600:9600 -e "PIPELINE_WORKERS=3" -e "LOG_LEVEL=DEBUG" docker.elastic.co/logstash/logstash:6.4.1 ...
  • 43. Logstash on Docker (2/2) FROM docker.elastic.co/logstash/logstash:6.4.1 RUN rm -f /usr/share/logstash/pipeline/logstash.conf ADD pipeline/ /usr/share/logstash/pipeline/ ADD config/ /usr/share/logstash/config/ EXPOSE 9600
  • 44. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 45. Tying it all together using docker-compose (1/2) version: "3.3" services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:6.4.1 volumes: - ./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml - ./jvm.options:/usr/share/elasticsearch/config/jvm.options - ./data:/usr/share/elasticsearch/data - ./snapshots:/tmp/es6_dev_repo ports: - "9200:9200" - "9300:9300" environment: ES_JAVA_OPTS: "-Xmx2g -Xms2g" networks: - elk ... ... kibana: image: docker.elastic.co/kibana/kibana:6.4.1 volumes: - ./kibana/config/:/usr/share/kibana/config - ./kibana/cache/:/usr/share/kibana/optimize ports: - "5601:5601" networks: - elk depends_on: - elasticsearch ...
  • 46. Tying it all together using docker-compose (2/2) ... logstash: image: docker.elastic.co/logstash/logstash:6.4.1 volumes: - ./logstash/config/:/usr/share/logstash/config/ ports: - "9600:9600" networks: - elk depends_on: - elasticsearch networks: elk: driver: bridge $ docker-compose up
  • 47. What are we talking about?
  • 48. Tying it all together https://www.elastic.co/blog/a-full-stack-in-one-command https://github.com/elastic/examples/tree/master/Miscellaneous/docker/full_stack_example
  • 49. Agenda ● Getting acquainted ● Ecosystem ● Features overview ● What are we talking about? ● Installation ● ES on Docker ● Kibana on Docker ● Logstash on Docker ● Tying it all together ● What’s next?
  • 50. ● Docs: https://www.elastic.co/guide/index.html ● Videos: https://www.elastic.co/videos ● Slides: https://speakerdeck.com/elastic/ ● Blog: https://www.elastic.co/blog ● Source: https://github.com/elastic ● Meetups: https://www.meetup.com/fr-FR/elastic-switzerland/ ● Conference: https://www.elastic.co/elasticon/conf/2018/sf ● Discuss: ■ https://stackoverflow.com/questions/tagged/elasticsearch ■ https://discuss.elastic.co/ ● Articles: ■ https://www.elastic.co/blog/a-full-stack-in-one-command ■ https://www.elastic.co/blog/docker-networking ■ https://sematext.com/blog/elasticsearch-in-docker/ ■ https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html ■ https://www.elastic.co/guide/en/kibana/current/docker.html ■ https://www.elastic.co/guide/en/logstash/current/docker.html What’s next?
  • 51. Q&A