SlideShare a Scribd company logo
FluentD vs. Logstash
Enterprise
Your Speaker
Justin Reock
Chief Evangelist and Field CTO
Gradle Enterprise
Justin has over 20 years of experience working in various
software roles including JEE work. He is an outspoken free
software evangelist, delivering enterprise solutions, technical
leadership, various publications and community education on
databases, architectures, and integration projects.
@justinreock
Diving Right In….
4 | FluentD vs. Logstash: How to Decide
⬢ Good apps are chatty and tell you a lot about what they are doing behind the scenes
⬢ Being able to read and interpret that information at scale is a leading challenge faced by enterprises,
and that problem is only going to get bigger
⬢ AI/ML, blockchain, edge computing and 5G, IoT, etc, are all going to increase by yet another order of
magnitude the amount of log data that our applications are generating
⬢ Enterprises often have thousands of apps creating log data
⬢ The best logging data in the world is useless when diluted by application noise from other areas of
the infrastructure
⬢ We need to collect, organize, visualize, and index our log data
⬢ Without a good system to do so we are constantly looking for needles in haystacks
⬢ A good enterprise log management system will allow us to parse, persist, and pinpoint specific events
from widely distributed heterogeneous systems quickly and easily
The Need for Enterprise Log Management
5 | FluentD vs. Logstash: How to Decide
⬢ Adding to the challenge of scale, just the act of collecting logs can be tedious when dealing
with the reality of an enterprise application landscape devoid of standards
⬢ Some applications produce multi-line logs such as stack traces without clear delimiters
⬢ Attempts at standards have arisen, but these standards vary across languages – for instance
Java has log4j which formats differently than winston for Node.js
⬢ Bottom line, not all applications produce logs in the same format:
Challenges with Logging
2020-02-03 13:32:12 (info) [SalesCRM]
00230 Invalid password attempt for user
‘gmhopper’
2019-06-14T3:56:16.000+0000 [ERROR] AUTH:
(ServiceApp) Failed login attempt user
‘gmhopper’
6 | FluentD vs. Logstash: How to Decide
⬢ As we move towards 12-factor practices as part of an industry shift to microservices, we will
hopefully begin to treat log messages as system events
⬢ Until then enterprises are left with a galaxy of applications that are still producing text logs
⬢ So, we have created log management frameworks that can emulate this pattern for us by parsing our
log files and centrally persisting them as timeseries events so that they can be searched and analyzed
easily
⬢ An effective centralized log manager should consider all of the necessary enterprise patterns such as
readiness and disaster recovery
⬢ In terms of functionality, the solution should provide:
⬢ An approachable and universal means of collecting, parsing, and preparing log data for storage
⬢ A reliable and consistent place to index and store logs for as long as they will need to be
retained and analyzed
⬢ A presentation layer capable of creating customizable and pragmatic dashboards for our data
which are hopefully visually appealing as well
Considerations for Centralized Log Management
7 | FluentD vs. Logstash: How to Decide
⬢ Comprised of three technologies that perform
central log management:
⬢ ElasticSearch stores log data
⬢ Logstash parses and ships logs to ElasticSearch
⬢ Kibana searches ElasticSearch and visualizes
data
⬢ Arguably the most widely used and popular
modern open source central log manager
available
⬢ Enterprise features and options are available
for a license cost
Contenders
⬢ Provides a sophisticated engine for parsing and
shipping log data
⬢ Wide plugin base ensures ability to ‘fluently’
interpret event data from many endpoints including
logs
⬢ Log data can be intelligently routed to output
endpoints with tagging and routing rules
⬢ Not a full solution, must be combined with
persistence and visualization externally
8 | FluentD vs. Logstash: How to Decide
⬢ Out of the three basic layers of log management: collection, storage, and visualization; collection is
arguably the most complicated aspect
⬢ With so much variance possible in the logging format as well as the widespread location of log files,
just getting all of the details such as parsing rules and coordinates is a significant effort for
enterprises
⬢ Persistence and visualization are well-abstracted and commoditized – i.e. we know how to store
normalized data easily, and we know how to visually interpret normalized data
⬢ So we will focus on the components of these two solutions that are responsible for collecting,
parsing and shipping logs
⬢ FluentD is a collector and shipper by design, and recall that Logstash is the component of the ELK
stack that is responsible for the same thing
⬢ In our presentation then, we will narrow our focus to exploring FluentD and Logstash and their
approach to the common business problem of ingesting heterogeneous log data
Log Collection is Hard
9 | FluentD vs. Logstash: How to Decide
⬢ Note that the ELK Stack’s basic functionality has been extended through the addition of
its Enterprise “beats” plugins
⬢ This presentation will not consider that extended functionality because the beats plugins
are not free software
The Beats Plugin Debacle
Source code in this repository is variously licensed under the Apache License
Version 2.0, an Apache compatible license, or the Elastic License. Outside of
the "x-pack" folder, source code in a given file is licensed under the Apache
License Version 2.0, unless otherwise noted at the beginning of the file or a
LICENSE file present in the directory subtree declares a separate license.
Within the "x-pack" folder, source code in a given file is licensed under the
Elastic License, unless otherwise noted at the beginning of the file or a
LICENSE file present in the directory subtree declares a separate license.
The build produces two sets of binaries - one set that falls under the Elastic
License and another set that falls under Apache License Version 2.0. The
binaries that contain `-oss` in the artifact name are licensed under the Apache
License Version 2.0.
https://github.com/elastic/beats/blob/master/LICENSE.txt
10 | FluentD vs. Logstash: How to Decide
⬢ FluentD’s plugins carry permissive licenses such as
ASF2.0 and MIT
⬢ Over 1100 plugins available of varying types:
⬢ Input/Output - For either ingesting log/event data or
outputting data to an endpoing
⬢ Filter – For normalizing or modifying data in-flight
⬢ Parser – Native parsers for specific data payload
formats
⬢ Formatter – Output plugins for converting stored data
to formats like JSON
FluentD Plugins
11 | FluentD vs. Logstash: How to Decide
⬢ Now that we know a little about the problem we are trying to solve for, let’s vet a couple of
candidates
⬢ We will create a typical enterprise scenario, logging data from individual components of a full
web application stack
⬢ These log files will be in different areas of the system and be written to in various formats and
frequency
⬢ Logstash and FluentD will be utilized to collect and ship log data
⬢ We will pay attention to the individual setup of both solutions
⬢ Afterwards, we will draw some conclusions about the strengths and weaknesses of both
solutions
Summary – Let’s Put Them To The Test
12 | FluentD vs. Logstash: How to Decide
Summary Comparison
So, we have seen two approaches to log collection and shipping
Logstash offers a simple architecture and setup, but, parsing using Grok has limitations and
there aren’t as many plugins
Routing in Logstash is done via simple queue which can become overwhelmed
FluentD’s plugin library makes it easier and more standard to parse logging data
But FluentD’s many moving parts can make the initial configuration and setup more challenging
Both solutions were able to ingest log data from all sources, but Logstash required more by-
hand work to achieve accurate parsing
13 | FluentD vs. Logstash: How to Decide
⬢ This presentation focused on the user experience of ingesting and shipping logs, but, in a
production class enterprise system other factors should be considered as well:
High Availability
⬢ Logstash provides a protocol called Lumberjack which allows active/passive failover between multiple
instances. Active-active can be achieved through beats, but the aforementioned licensing issues exist
⬢ FluentDby contrast provides both native active-active and active-passive deployments with the ability to
forward-on-fail and ensure idempotency where necessary, which also allows for weighted load balancing
Other Considerations
14 | FluentD vs. Logstash: How to Decide
Interoperability
⬢ Our use case just called for a single output endpoint, i.e. ElasticSearch, but what if we want to broadcast to
multiple endpoints?
⬢ Logstash allows us to achieve this with somewhat clunky conditional statements
⬢ FluentDprovides sophisticated tagging and routing of log data to multiple endpoints
Flexible inputs
⬢ Logstash focuses primarly on text log ingestion, but FluentDprovides input for messaging systems like Kafka,
or JMS-compliant ones like ActiveMQ, direct-from-JMX ingestion, RDBMS inspection ala pg_stat plugin, TCP
forwarding, HTTP/REST ingress, UNIX sockets, etc
⬢ The Fluent Bit project allows you to build lightweight forwarders into FluentDwhich helps achieve a better
distributed pattern
Other Considerations
15 | FluentD vs. Logstash: How to Decide
⬢ In the end, consider what you want to do with your log management today and in the future
⬢ Will you be moving to a 12-factor standard or a microservices architecture eventually?
⬢ Is your enterprise becoming more fragmented or less fragmented as you grow?
⬢ What is more important to you? Sophistication or simplicity?
⬢ Both Logstash and FluentD provide exceptional functionality for ingesting logs
⬢ Logstash focuses on simplicity, but often lacks native parsing functionality
⬢ FluentD is highly sophisticated, but may be more challenging to configure initially
⬢ Elastic’s gravitation towards open-core with the Elastic license may be of concern to those who want to
avoid lock-in
⬢ Determining the best fit for your business will depend on having a concrete understanding of the curre
and future state of your infrastructure
Wrap-Up
16 | FluentD vs. Logstash: How to Decide
https://github.com/jreock/logdemo-webapp
Demos Available
Questions?
Thank you!
jreock@gradle.com

More Related Content

What's hot

[WSO2Con EU 2018] Deploying Applications in K8S and Docker
[WSO2Con EU 2018] Deploying Applications in K8S and Docker[WSO2Con EU 2018] Deploying Applications in K8S and Docker
[WSO2Con EU 2018] Deploying Applications in K8S and Docker
WSO2
 
GitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with KubernetesGitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with Kubernetes
Volodymyr Shynkar
 
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
José Román Martín Gil
 
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
 
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache CamelOpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
José Román Martín Gil
 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
Francisco Gonçalves
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
aspyker
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
Knoldus Inc.
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentals
Victor Morales
 
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
Tim Bozarth
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
Josef Adersberger
 
Welcome at OPEN'22
Welcome at OPEN'22Welcome at OPEN'22
Welcome at OPEN'22
Kangaroot
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
Matthias Luebken
 
RootStack - Devfactory
RootStack - DevfactoryRootStack - Devfactory
RootStack - Devfactory
Kangaroot
 
Cleaner Code Through Test-Driven Development
Cleaner Code Through Test-Driven DevelopmentCleaner Code Through Test-Driven Development
Cleaner Code Through Test-Driven Development
All Things Open
 
Deploying Anything as a Service (XaaS) Using Operators on Kubernetes
Deploying Anything as a Service (XaaS) Using Operators on KubernetesDeploying Anything as a Service (XaaS) Using Operators on Kubernetes
Deploying Anything as a Service (XaaS) Using Operators on Kubernetes
All Things Open
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Gilad Garon
 
Building Microservices with the 12 Factor App Pattern on AWS.pdf
Building Microservices with the 12 Factor App Pattern on AWS.pdfBuilding Microservices with the 12 Factor App Pattern on AWS.pdf
Building Microservices with the 12 Factor App Pattern on AWS.pdf
Amazon Web Services
 
Modernizing Traditional Applications
Modernizing Traditional ApplicationsModernizing Traditional Applications
Modernizing Traditional Applications
Docker, Inc.
 
Cloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guideCloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guide
sparkfabrik
 

What's hot (20)

[WSO2Con EU 2018] Deploying Applications in K8S and Docker
[WSO2Con EU 2018] Deploying Applications in K8S and Docker[WSO2Con EU 2018] Deploying Applications in K8S and Docker
[WSO2Con EU 2018] Deploying Applications in K8S and Docker
 
GitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with KubernetesGitOps is the best modern practice for CD with Kubernetes
GitOps is the best modern practice for CD with Kubernetes
 
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...Transformacion e innovacion digital Meetup - Application Modernization and Mi...
Transformacion e innovacion digital Meetup - Application Modernization and Mi...
 
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
Javantura v4 - Self-service app deployment with Kubernetes and OpenShift - Ma...
 
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache CamelOpenSouthCode 2018 - Integrating your applications easily with Apache Camel
OpenSouthCode 2018 - Integrating your applications easily with Apache Camel
 
Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !Hypervisor "versus" Linux Containers with Docker !
Hypervisor "versus" Linux Containers with Docker !
 
Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4Netflix OSS Meetup Season 4 Episode 4
Netflix OSS Meetup Season 4 Episode 4
 
Introduction To Flink
Introduction To FlinkIntroduction To Flink
Introduction To Flink
 
Cloud native fundamentals
Cloud native fundamentalsCloud native fundamentals
Cloud native fundamentals
 
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
Netflix: From Zero to Production-Ready in Minutes (QCon 2017)
 
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ... The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
The Good, the Bad and the Ugly of Migrating Hundreds of Legacy Applications ...
 
Welcome at OPEN'22
Welcome at OPEN'22Welcome at OPEN'22
Welcome at OPEN'22
 
Who needs containers in a serverless world
Who needs containers in a serverless worldWho needs containers in a serverless world
Who needs containers in a serverless world
 
RootStack - Devfactory
RootStack - DevfactoryRootStack - Devfactory
RootStack - Devfactory
 
Cleaner Code Through Test-Driven Development
Cleaner Code Through Test-Driven DevelopmentCleaner Code Through Test-Driven Development
Cleaner Code Through Test-Driven Development
 
Deploying Anything as a Service (XaaS) Using Operators on Kubernetes
Deploying Anything as a Service (XaaS) Using Operators on KubernetesDeploying Anything as a Service (XaaS) Using Operators on Kubernetes
Deploying Anything as a Service (XaaS) Using Operators on Kubernetes
 
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
Continuous Deployment into the Unknown with Artifactory, Bintray, Docker and ...
 
Building Microservices with the 12 Factor App Pattern on AWS.pdf
Building Microservices with the 12 Factor App Pattern on AWS.pdfBuilding Microservices with the 12 Factor App Pattern on AWS.pdf
Building Microservices with the 12 Factor App Pattern on AWS.pdf
 
Modernizing Traditional Applications
Modernizing Traditional ApplicationsModernizing Traditional Applications
Modernizing Traditional Applications
 
Cloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guideCloud-Native Drupal: a survival guide
Cloud-Native Drupal: a survival guide
 

Similar to FluentD vs. Logstash

Log management with_logstash_and_elastic_search
Log management with_logstash_and_elastic_searchLog management with_logstash_and_elastic_search
Log management with_logstash_and_elastic_searchRishav Rohit
 
Log Analysis Engine with Integration of Hadoop and Spark
Log Analysis Engine with Integration of Hadoop and SparkLog Analysis Engine with Integration of Hadoop and Spark
Log Analysis Engine with Integration of Hadoop and Spark
IRJET Journal
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONSUMIT KUMAR
 
Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin  Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin
Kuberton
 
Centralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackCentralized Logging System Using ELK Stack
Centralized Logging System Using ELK Stack
Rohit Sharma
 
Fighting legacy with hexagonal architecture and frameworkless php
Fighting legacy with hexagonal architecture and frameworkless phpFighting legacy with hexagonal architecture and frameworkless php
Fighting legacy with hexagonal architecture and frameworkless php
Fabio Pellegrini
 
Logging using ELK Stack for Microservices
Logging using ELK Stack for MicroservicesLogging using ELK Stack for Microservices
Logging using ELK Stack for Microservices
Vineet Sabharwal
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
Benjamin Joyen-Conseil
 
IT for HR professionals
IT for HR professionalsIT for HR professionals
IT for HR professionals
Miguel Pinto
 
TOLL MANAGEMENT SYSTEM
TOLL MANAGEMENT SYSTEMTOLL MANAGEMENT SYSTEM
TOLL MANAGEMENT SYSTEM
vishnuRajan20
 
Toll management system (1) (1)
Toll management system (1) (1)Toll management system (1) (1)
Toll management system (1) (1)
vishnuRajan20
 
Would Mr. Spok choose Open Source
Would Mr. Spok choose Open SourceWould Mr. Spok choose Open Source
Would Mr. Spok choose Open Source
vlcinsky
 
Webinar: Open Source Business Intelligence Intro
Webinar: Open Source Business Intelligence IntroWebinar: Open Source Business Intelligence Intro
Webinar: Open Source Business Intelligence Intro
SpagoWorld
 
Centralization of all log (application, docker, security, ...)
Centralization of all log (application, docker, security, ...)Centralization of all log (application, docker, security, ...)
Centralization of all log (application, docker, security, ...)
Thierry Gayet
 
Kafka internals
Kafka internalsKafka internals
Kafka internals
David Groozman
 
Open erp
Open erpOpen erp
Open erp
sgshiva
 
Evolving from Messaging to Event Streaming
Evolving from Messaging to Event StreamingEvolving from Messaging to Event Streaming
Evolving from Messaging to Event Streaming
confluent
 

Similar to FluentD vs. Logstash (20)

Log management with_logstash_and_elastic_search
Log management with_logstash_and_elastic_searchLog management with_logstash_and_elastic_search
Log management with_logstash_and_elastic_search
 
Log Analysis Engine with Integration of Hadoop and Spark
Log Analysis Engine with Integration of Hadoop and SparkLog Analysis Engine with Integration of Hadoop and Spark
Log Analysis Engine with Integration of Hadoop and Spark
 
OPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATIONOPEN TEXT ADMINISTRATION
OPEN TEXT ADMINISTRATION
 
Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin  Monitoring&Logging - Stanislav Kolenkin
Monitoring&Logging - Stanislav Kolenkin
 
Centralized Logging System Using ELK Stack
Centralized Logging System Using ELK StackCentralized Logging System Using ELK Stack
Centralized Logging System Using ELK Stack
 
Fighting legacy with hexagonal architecture and frameworkless php
Fighting legacy with hexagonal architecture and frameworkless phpFighting legacy with hexagonal architecture and frameworkless php
Fighting legacy with hexagonal architecture and frameworkless php
 
Logging using ELK Stack for Microservices
Logging using ELK Stack for MicroservicesLogging using ELK Stack for Microservices
Logging using ELK Stack for Microservices
 
Event Driven Architecture
Event Driven ArchitectureEvent Driven Architecture
Event Driven Architecture
 
Prashant_Agrawal_CV
Prashant_Agrawal_CVPrashant_Agrawal_CV
Prashant_Agrawal_CV
 
IT for HR professionals
IT for HR professionalsIT for HR professionals
IT for HR professionals
 
TOLL MANAGEMENT SYSTEM
TOLL MANAGEMENT SYSTEMTOLL MANAGEMENT SYSTEM
TOLL MANAGEMENT SYSTEM
 
Toll management system (1) (1)
Toll management system (1) (1)Toll management system (1) (1)
Toll management system (1) (1)
 
Would Mr. Spok choose Open Source
Would Mr. Spok choose Open SourceWould Mr. Spok choose Open Source
Would Mr. Spok choose Open Source
 
Webinar: Open Source Business Intelligence Intro
Webinar: Open Source Business Intelligence IntroWebinar: Open Source Business Intelligence Intro
Webinar: Open Source Business Intelligence Intro
 
Centralization of all log (application, docker, security, ...)
Centralization of all log (application, docker, security, ...)Centralization of all log (application, docker, security, ...)
Centralization of all log (application, docker, security, ...)
 
Kafka internals
Kafka internalsKafka internals
Kafka internals
 
Subbu_WM
Subbu_WMSubbu_WM
Subbu_WM
 
Open erp
Open erpOpen erp
Open erp
 
Project seminar
Project seminarProject seminar
Project seminar
 
Evolving from Messaging to Event Streaming
Evolving from Messaging to Event StreamingEvolving from Messaging to Event Streaming
Evolving from Messaging to Event Streaming
 

More from All Things Open

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
All Things Open
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
All Things Open
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
All Things Open
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
All Things Open
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
All Things Open
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
All Things Open
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
All Things Open
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
All Things Open
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
All Things Open
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
All Things Open
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
All Things Open
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
All Things Open
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
All Things Open
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
All Things Open
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
All Things Open
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
All Things Open
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
All Things Open
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
All Things Open
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
All Things Open
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
All Things Open
 

More from All Things Open (20)

Building Reliability - The Realities of Observability
Building Reliability - The Realities of ObservabilityBuilding Reliability - The Realities of Observability
Building Reliability - The Realities of Observability
 
Modern Database Best Practices
Modern Database Best PracticesModern Database Best Practices
Modern Database Best Practices
 
Open Source and Public Policy
Open Source and Public PolicyOpen Source and Public Policy
Open Source and Public Policy
 
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
Weaving Microservices into a Unified GraphQL Schema with graph-quilt - Ashpak...
 
The State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil NashThe State of Passwordless Auth on the Web - Phil Nash
The State of Passwordless Auth on the Web - Phil Nash
 
Total ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScriptTotal ReDoS: The dangers of regex in JavaScript
Total ReDoS: The dangers of regex in JavaScript
 
What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?What Does Real World Mass Adoption of Decentralized Tech Look Like?
What Does Real World Mass Adoption of Decentralized Tech Look Like?
 
How to Write & Deploy a Smart Contract
How to Write & Deploy a Smart ContractHow to Write & Deploy a Smart Contract
How to Write & Deploy a Smart Contract
 
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
Spinning Your Drones with Cadence Workflows, Apache Kafka and TensorFlow
 
DEI Challenges and Success
DEI Challenges and SuccessDEI Challenges and Success
DEI Challenges and Success
 
Scaling Web Applications with Background
Scaling Web Applications with BackgroundScaling Web Applications with Background
Scaling Web Applications with Background
 
Supercharging tutorials with WebAssembly
Supercharging tutorials with WebAssemblySupercharging tutorials with WebAssembly
Supercharging tutorials with WebAssembly
 
Using SQL to Find Needles in Haystacks
Using SQL to Find Needles in HaystacksUsing SQL to Find Needles in Haystacks
Using SQL to Find Needles in Haystacks
 
Configuration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit InterceptConfiguration Security as a Game of Pursuit Intercept
Configuration Security as a Game of Pursuit Intercept
 
Scaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship ProgramScaling an Open Source Sponsorship Program
Scaling an Open Source Sponsorship Program
 
Build Developer Experience Teams for Open Source
Build Developer Experience Teams for Open SourceBuild Developer Experience Teams for Open Source
Build Developer Experience Teams for Open Source
 
Deploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache BeamDeploying Models at Scale with Apache Beam
Deploying Models at Scale with Apache Beam
 
Sudo – Giving access while staying in control
Sudo – Giving access while staying in controlSudo – Giving access while staying in control
Sudo – Giving access while staying in control
 
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML ApplicationsFortifying the Future: Tackling Security Challenges in AI/ML Applications
Fortifying the Future: Tackling Security Challenges in AI/ML Applications
 
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
Securing Cloud Resources Deployed with Control Planes on Kubernetes using Gov...
 

Recently uploaded

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 

Recently uploaded (20)

GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 

FluentD vs. Logstash

  • 2. Your Speaker Justin Reock Chief Evangelist and Field CTO Gradle Enterprise Justin has over 20 years of experience working in various software roles including JEE work. He is an outspoken free software evangelist, delivering enterprise solutions, technical leadership, various publications and community education on databases, architectures, and integration projects. @justinreock
  • 4. 4 | FluentD vs. Logstash: How to Decide ⬢ Good apps are chatty and tell you a lot about what they are doing behind the scenes ⬢ Being able to read and interpret that information at scale is a leading challenge faced by enterprises, and that problem is only going to get bigger ⬢ AI/ML, blockchain, edge computing and 5G, IoT, etc, are all going to increase by yet another order of magnitude the amount of log data that our applications are generating ⬢ Enterprises often have thousands of apps creating log data ⬢ The best logging data in the world is useless when diluted by application noise from other areas of the infrastructure ⬢ We need to collect, organize, visualize, and index our log data ⬢ Without a good system to do so we are constantly looking for needles in haystacks ⬢ A good enterprise log management system will allow us to parse, persist, and pinpoint specific events from widely distributed heterogeneous systems quickly and easily The Need for Enterprise Log Management
  • 5. 5 | FluentD vs. Logstash: How to Decide ⬢ Adding to the challenge of scale, just the act of collecting logs can be tedious when dealing with the reality of an enterprise application landscape devoid of standards ⬢ Some applications produce multi-line logs such as stack traces without clear delimiters ⬢ Attempts at standards have arisen, but these standards vary across languages – for instance Java has log4j which formats differently than winston for Node.js ⬢ Bottom line, not all applications produce logs in the same format: Challenges with Logging 2020-02-03 13:32:12 (info) [SalesCRM] 00230 Invalid password attempt for user ‘gmhopper’ 2019-06-14T3:56:16.000+0000 [ERROR] AUTH: (ServiceApp) Failed login attempt user ‘gmhopper’
  • 6. 6 | FluentD vs. Logstash: How to Decide ⬢ As we move towards 12-factor practices as part of an industry shift to microservices, we will hopefully begin to treat log messages as system events ⬢ Until then enterprises are left with a galaxy of applications that are still producing text logs ⬢ So, we have created log management frameworks that can emulate this pattern for us by parsing our log files and centrally persisting them as timeseries events so that they can be searched and analyzed easily ⬢ An effective centralized log manager should consider all of the necessary enterprise patterns such as readiness and disaster recovery ⬢ In terms of functionality, the solution should provide: ⬢ An approachable and universal means of collecting, parsing, and preparing log data for storage ⬢ A reliable and consistent place to index and store logs for as long as they will need to be retained and analyzed ⬢ A presentation layer capable of creating customizable and pragmatic dashboards for our data which are hopefully visually appealing as well Considerations for Centralized Log Management
  • 7. 7 | FluentD vs. Logstash: How to Decide ⬢ Comprised of three technologies that perform central log management: ⬢ ElasticSearch stores log data ⬢ Logstash parses and ships logs to ElasticSearch ⬢ Kibana searches ElasticSearch and visualizes data ⬢ Arguably the most widely used and popular modern open source central log manager available ⬢ Enterprise features and options are available for a license cost Contenders ⬢ Provides a sophisticated engine for parsing and shipping log data ⬢ Wide plugin base ensures ability to ‘fluently’ interpret event data from many endpoints including logs ⬢ Log data can be intelligently routed to output endpoints with tagging and routing rules ⬢ Not a full solution, must be combined with persistence and visualization externally
  • 8. 8 | FluentD vs. Logstash: How to Decide ⬢ Out of the three basic layers of log management: collection, storage, and visualization; collection is arguably the most complicated aspect ⬢ With so much variance possible in the logging format as well as the widespread location of log files, just getting all of the details such as parsing rules and coordinates is a significant effort for enterprises ⬢ Persistence and visualization are well-abstracted and commoditized – i.e. we know how to store normalized data easily, and we know how to visually interpret normalized data ⬢ So we will focus on the components of these two solutions that are responsible for collecting, parsing and shipping logs ⬢ FluentD is a collector and shipper by design, and recall that Logstash is the component of the ELK stack that is responsible for the same thing ⬢ In our presentation then, we will narrow our focus to exploring FluentD and Logstash and their approach to the common business problem of ingesting heterogeneous log data Log Collection is Hard
  • 9. 9 | FluentD vs. Logstash: How to Decide ⬢ Note that the ELK Stack’s basic functionality has been extended through the addition of its Enterprise “beats” plugins ⬢ This presentation will not consider that extended functionality because the beats plugins are not free software The Beats Plugin Debacle Source code in this repository is variously licensed under the Apache License Version 2.0, an Apache compatible license, or the Elastic License. Outside of the "x-pack" folder, source code in a given file is licensed under the Apache License Version 2.0, unless otherwise noted at the beginning of the file or a LICENSE file present in the directory subtree declares a separate license. Within the "x-pack" folder, source code in a given file is licensed under the Elastic License, unless otherwise noted at the beginning of the file or a LICENSE file present in the directory subtree declares a separate license. The build produces two sets of binaries - one set that falls under the Elastic License and another set that falls under Apache License Version 2.0. The binaries that contain `-oss` in the artifact name are licensed under the Apache License Version 2.0. https://github.com/elastic/beats/blob/master/LICENSE.txt
  • 10. 10 | FluentD vs. Logstash: How to Decide ⬢ FluentD’s plugins carry permissive licenses such as ASF2.0 and MIT ⬢ Over 1100 plugins available of varying types: ⬢ Input/Output - For either ingesting log/event data or outputting data to an endpoing ⬢ Filter – For normalizing or modifying data in-flight ⬢ Parser – Native parsers for specific data payload formats ⬢ Formatter – Output plugins for converting stored data to formats like JSON FluentD Plugins
  • 11. 11 | FluentD vs. Logstash: How to Decide ⬢ Now that we know a little about the problem we are trying to solve for, let’s vet a couple of candidates ⬢ We will create a typical enterprise scenario, logging data from individual components of a full web application stack ⬢ These log files will be in different areas of the system and be written to in various formats and frequency ⬢ Logstash and FluentD will be utilized to collect and ship log data ⬢ We will pay attention to the individual setup of both solutions ⬢ Afterwards, we will draw some conclusions about the strengths and weaknesses of both solutions Summary – Let’s Put Them To The Test
  • 12. 12 | FluentD vs. Logstash: How to Decide Summary Comparison So, we have seen two approaches to log collection and shipping Logstash offers a simple architecture and setup, but, parsing using Grok has limitations and there aren’t as many plugins Routing in Logstash is done via simple queue which can become overwhelmed FluentD’s plugin library makes it easier and more standard to parse logging data But FluentD’s many moving parts can make the initial configuration and setup more challenging Both solutions were able to ingest log data from all sources, but Logstash required more by- hand work to achieve accurate parsing
  • 13. 13 | FluentD vs. Logstash: How to Decide ⬢ This presentation focused on the user experience of ingesting and shipping logs, but, in a production class enterprise system other factors should be considered as well: High Availability ⬢ Logstash provides a protocol called Lumberjack which allows active/passive failover between multiple instances. Active-active can be achieved through beats, but the aforementioned licensing issues exist ⬢ FluentDby contrast provides both native active-active and active-passive deployments with the ability to forward-on-fail and ensure idempotency where necessary, which also allows for weighted load balancing Other Considerations
  • 14. 14 | FluentD vs. Logstash: How to Decide Interoperability ⬢ Our use case just called for a single output endpoint, i.e. ElasticSearch, but what if we want to broadcast to multiple endpoints? ⬢ Logstash allows us to achieve this with somewhat clunky conditional statements ⬢ FluentDprovides sophisticated tagging and routing of log data to multiple endpoints Flexible inputs ⬢ Logstash focuses primarly on text log ingestion, but FluentDprovides input for messaging systems like Kafka, or JMS-compliant ones like ActiveMQ, direct-from-JMX ingestion, RDBMS inspection ala pg_stat plugin, TCP forwarding, HTTP/REST ingress, UNIX sockets, etc ⬢ The Fluent Bit project allows you to build lightweight forwarders into FluentDwhich helps achieve a better distributed pattern Other Considerations
  • 15. 15 | FluentD vs. Logstash: How to Decide ⬢ In the end, consider what you want to do with your log management today and in the future ⬢ Will you be moving to a 12-factor standard or a microservices architecture eventually? ⬢ Is your enterprise becoming more fragmented or less fragmented as you grow? ⬢ What is more important to you? Sophistication or simplicity? ⬢ Both Logstash and FluentD provide exceptional functionality for ingesting logs ⬢ Logstash focuses on simplicity, but often lacks native parsing functionality ⬢ FluentD is highly sophisticated, but may be more challenging to configure initially ⬢ Elastic’s gravitation towards open-core with the Elastic license may be of concern to those who want to avoid lock-in ⬢ Determining the best fit for your business will depend on having a concrete understanding of the curre and future state of your infrastructure Wrap-Up
  • 16. 16 | FluentD vs. Logstash: How to Decide https://github.com/jreock/logdemo-webapp Demos Available