SlideShare a Scribd company logo
Log aggregation
using Elasticsearch, Fluentd/Fluentbit and Kibana
(EFK)
Who is this guy?
.
© 2018 Think Stack Limited thinkstack.io 2
Who is this guy and why is he talking to me?
• I've worked in the IT industry for over 18 years
• I started with VB6 & ASP and then .NET development
• I progressed into deployment/release management and
ultimately DevOps in 2012
• I've never presented a talk before - eek
© 2018 Think Stack Limited thinkstack.io 3
What I'm covering
• Introduction to log aggregation and why you want it
• Why I'm using Fluentd/Fluentbit as opposed to Logstash
• What's so great this setup?
• Demo: Collect and parse logs from a MySQL container
© 2018 Think Stack Limited thinkstack.io 4
What's not being covered
• Elasticsearch or Kibana and their features
• Detailed technical information that can be read online
• Any of the supporting tech being used e.g.
• Feel free to reach out to me if you have questions
© 2018 Think Stack Limited thinkstack.io 5
What is log aggregation?
© 2018 Think Stack Limited thinkstack.io 6
© 2018 Think Stack Limited thinkstack.io 7
Why am I using Fluentd?
• Well supported pluggable architecture
• Easy to understand configuration
• Lightweight
• Out-of-the-box compatibility in Kubernetes via Fluentbit
• Buffering capabilities
© 2018 Think Stack Limited thinkstack.io 8
Available Fluentd Plugin Types
.
© 2018 Think Stack Limited thinkstack.io 9
Fluentd Event Structure
• tag: From where an event originated; used for message routing
• time: The epoch time at which an event occurred
• record: The event log content as a JSON object
© 2018 Think Stack Limited thinkstack.io 10
What's so great about this setup? (1/2)
• I wanted something that used Fluentd
• I wanted to easily ingest logs from a variety of sources:
• via the Docker logging driver
• via the fluentd gem installed in a Ruby environment on Centos
• via the td-agent apt package installed on Ubuntu
• via the td-agent-bit yum package installed on Centos
© 2018 Think Stack Limited thinkstack.io 11
What's so great about this setup? (2/2)
• I wanted to play with non-trivial configurations, for example:
• TLS encryption
• Parsing of multi-line Java logs
• Using the ReadonlyREST plugin for security
• The use of Fluentd configuration include directives
© 2018 Think Stack Limited thinkstack.io 12
Fluentd Plugins Used
• in_forward: capture logs securely on port 24224 and unsecurely on port 24223
• parser_multi_format: parse logs where the log stream has more than one format e.g
Redis
• filter_record_transformer: used to add a 'source' key value pair
• out_elasticsearch: forward logs to Elasticsearch targetting different indices as
appropriate
• out_copy: copies logs to more than one output source e.g. Elasticsearch AND stdout
• out_rewrite_tag_filter: used to rewrite the tags from k8s and re-emit logs to process
© 2018 Think Stack Limited thinkstack.io 13
Local dev environment architecture
.
© 2018 Think Stack Limited thinkstack.io 14
Demo Time
© 2018 Think Stack Limited thinkstack.io 15
Sorry, I was drinking , eating or
What did I miss?
That's ok, during this demo we...
• launched a new MySQL container into our Minikube node
• captured MySQL logs from Kubernetes Fluentbit daemonset
• forwarded the logs to our Fluentd aggregator
• augmented the logs with a source key-value pair
• parsed the logs using the standard MySQL format
• wrote the logs to a new index mysql-* in Elasticsearch
• viewed the logs in Kibana's UI
© 2018 Think Stack Limited thinkstack.io 16
Any Questions?
Project is available publicly on GitHub
github.com/deploymentking/efk
Please feel free to contact me via...
mail@thinkstack.io
twitter.com/thinkstackio
linkedin.com/in/leemyring

More Related Content

PPTX
Prometheus and Grafana
PDF
Logs/Metrics Gathering With OpenShift EFK Stack
PDF
Collect distributed application logging using fluentd (EFK stack)
PPT
Monitoring using Prometheus and Grafana
PDF
Infrastructure & System Monitoring using Prometheus
PDF
Kong API Gateway.pdf
PDF
PUC SE Day 2019 - SpringBoot
PDF
Kubernetes Webinar - Using ConfigMaps & Secrets
Prometheus and Grafana
Logs/Metrics Gathering With OpenShift EFK Stack
Collect distributed application logging using fluentd (EFK stack)
Monitoring using Prometheus and Grafana
Infrastructure & System Monitoring using Prometheus
Kong API Gateway.pdf
PUC SE Day 2019 - SpringBoot
Kubernetes Webinar - Using ConfigMaps & Secrets

What's hot (20)

PDF
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
PDF
Hands-On Introduction to Kubernetes at LISA17
PDF
Server monitoring using grafana and prometheus
PPTX
Laravel ppt
PPTX
Kubernetes PPT.pptx
PPTX
Introduction to gRPC
PDF
Intro to open source observability with grafana, prometheus, loki, and tempo(...
PPTX
Php Framework
PDF
Laravel Introduction
PDF
Docker & kubernetes
PDF
Getting Started Monitoring with Prometheus and Grafana
PDF
Introduction to Docker Compose
PPTX
Introduction to kubernetes
PPTX
PDF
Monitoring with prometheus
PDF
Terraform -- Infrastructure as Code
PDF
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
PDF
Spring boot
PPTX
Apache web service
PDF
Spring MVC Framework
WSO2Con US 2015 Kubernetes: a platform for automating deployment, scaling, an...
Hands-On Introduction to Kubernetes at LISA17
Server monitoring using grafana and prometheus
Laravel ppt
Kubernetes PPT.pptx
Introduction to gRPC
Intro to open source observability with grafana, prometheus, loki, and tempo(...
Php Framework
Laravel Introduction
Docker & kubernetes
Getting Started Monitoring with Prometheus and Grafana
Introduction to Docker Compose
Introduction to kubernetes
Monitoring with prometheus
Terraform -- Infrastructure as Code
OPENSHIFT CONTAINER PLATFORM CI/CD Build & Deploy
Spring boot
Apache web service
Spring MVC Framework
Ad

Similar to Log aggregation: using Elasticsearch, Fluentd/Fluentbit and Kibana (EFK) (20)

PPTX
Building a Unified Logging Layer with Fluentd, Elasticsearch and Kibana
PDF
Logging in Action: With Fluentd, Kubernetes and more 1st Edition Phil Wilkins
PPTX
CSE3069 - FLUENTD real time analytics.pptx
PDF
Unifying Events and Logs into the Cloud
PDF
Unifying Events and Logs into the Cloud
PPTX
centralization of log systems pour suivis
PDF
Fluentd Project Intro at Kubecon 2019 EU
PDF
Fluentd Overview, Now and Then
PDF
Distributed Logging Architecture in Container Era
PDF
Distributed Logging Architecture in the Container Era
PPTX
Unify logz with fluentd
PDF
Fluentd 101
PDF
Fluentd - CNCF Paris
PDF
Fluentd Unified Logging Layer At Fossasia
PDF
Docker Logging and analysing with Elastic Stack
PDF
Docker Logging and analysing with Elastic Stack - Jakub Hajek
PDF
Fluentd - Flexible, Stable, Scalable
PDF
Monitoring&Logging - Stanislav Kolenkin
PDF
Fluentd Intro for OpenShift Commons Briefing
PDF
Docker and Fluentd
Building a Unified Logging Layer with Fluentd, Elasticsearch and Kibana
Logging in Action: With Fluentd, Kubernetes and more 1st Edition Phil Wilkins
CSE3069 - FLUENTD real time analytics.pptx
Unifying Events and Logs into the Cloud
Unifying Events and Logs into the Cloud
centralization of log systems pour suivis
Fluentd Project Intro at Kubecon 2019 EU
Fluentd Overview, Now and Then
Distributed Logging Architecture in Container Era
Distributed Logging Architecture in the Container Era
Unify logz with fluentd
Fluentd 101
Fluentd - CNCF Paris
Fluentd Unified Logging Layer At Fossasia
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Fluentd - Flexible, Stable, Scalable
Monitoring&Logging - Stanislav Kolenkin
Fluentd Intro for OpenShift Commons Briefing
Docker and Fluentd
Ad

Recently uploaded (20)

PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Modernizing your data center with Dell and AMD
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Empathic Computing: Creating Shared Understanding
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Transforming Manufacturing operations through Intelligent Integrations
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
MYSQL Presentation for SQL database connectivity
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PDF
Machine learning based COVID-19 study performance prediction
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
madgavkar20181017ppt McKinsey Presentation.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
The AUB Centre for AI in Media Proposal.docx
Modernizing your data center with Dell and AMD
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Empathic Computing: Creating Shared Understanding
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Transforming Manufacturing operations through Intelligent Integrations
Review of recent advances in non-invasive hemoglobin estimation
NewMind AI Monthly Chronicles - July 2025
MYSQL Presentation for SQL database connectivity
GamePlan Trading System Review: Professional Trader's Honest Take
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Diabetes mellitus diagnosis method based random forest with bat algorithm
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Machine learning based COVID-19 study performance prediction
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...

Log aggregation: using Elasticsearch, Fluentd/Fluentbit and Kibana (EFK)

  • 1. Log aggregation using Elasticsearch, Fluentd/Fluentbit and Kibana (EFK)
  • 2. Who is this guy? . © 2018 Think Stack Limited thinkstack.io 2
  • 3. Who is this guy and why is he talking to me? • I've worked in the IT industry for over 18 years • I started with VB6 & ASP and then .NET development • I progressed into deployment/release management and ultimately DevOps in 2012 • I've never presented a talk before - eek © 2018 Think Stack Limited thinkstack.io 3
  • 4. What I'm covering • Introduction to log aggregation and why you want it • Why I'm using Fluentd/Fluentbit as opposed to Logstash • What's so great this setup? • Demo: Collect and parse logs from a MySQL container © 2018 Think Stack Limited thinkstack.io 4
  • 5. What's not being covered • Elasticsearch or Kibana and their features • Detailed technical information that can be read online • Any of the supporting tech being used e.g. • Feel free to reach out to me if you have questions © 2018 Think Stack Limited thinkstack.io 5
  • 6. What is log aggregation? © 2018 Think Stack Limited thinkstack.io 6
  • 7. © 2018 Think Stack Limited thinkstack.io 7
  • 8. Why am I using Fluentd? • Well supported pluggable architecture • Easy to understand configuration • Lightweight • Out-of-the-box compatibility in Kubernetes via Fluentbit • Buffering capabilities © 2018 Think Stack Limited thinkstack.io 8
  • 9. Available Fluentd Plugin Types . © 2018 Think Stack Limited thinkstack.io 9
  • 10. Fluentd Event Structure • tag: From where an event originated; used for message routing • time: The epoch time at which an event occurred • record: The event log content as a JSON object © 2018 Think Stack Limited thinkstack.io 10
  • 11. What's so great about this setup? (1/2) • I wanted something that used Fluentd • I wanted to easily ingest logs from a variety of sources: • via the Docker logging driver • via the fluentd gem installed in a Ruby environment on Centos • via the td-agent apt package installed on Ubuntu • via the td-agent-bit yum package installed on Centos © 2018 Think Stack Limited thinkstack.io 11
  • 12. What's so great about this setup? (2/2) • I wanted to play with non-trivial configurations, for example: • TLS encryption • Parsing of multi-line Java logs • Using the ReadonlyREST plugin for security • The use of Fluentd configuration include directives © 2018 Think Stack Limited thinkstack.io 12
  • 13. Fluentd Plugins Used • in_forward: capture logs securely on port 24224 and unsecurely on port 24223 • parser_multi_format: parse logs where the log stream has more than one format e.g Redis • filter_record_transformer: used to add a 'source' key value pair • out_elasticsearch: forward logs to Elasticsearch targetting different indices as appropriate • out_copy: copies logs to more than one output source e.g. Elasticsearch AND stdout • out_rewrite_tag_filter: used to rewrite the tags from k8s and re-emit logs to process © 2018 Think Stack Limited thinkstack.io 13
  • 14. Local dev environment architecture . © 2018 Think Stack Limited thinkstack.io 14
  • 15. Demo Time © 2018 Think Stack Limited thinkstack.io 15
  • 16. Sorry, I was drinking , eating or What did I miss? That's ok, during this demo we... • launched a new MySQL container into our Minikube node • captured MySQL logs from Kubernetes Fluentbit daemonset • forwarded the logs to our Fluentd aggregator • augmented the logs with a source key-value pair • parsed the logs using the standard MySQL format • wrote the logs to a new index mysql-* in Elasticsearch • viewed the logs in Kibana's UI © 2018 Think Stack Limited thinkstack.io 16
  • 17. Any Questions? Project is available publicly on GitHub github.com/deploymentking/efk Please feel free to contact me via... [email protected] twitter.com/thinkstackio linkedin.com/in/leemyring