SlideShare a Scribd company logo
Distributed Logging Architecture
in Container Era
LinuxCon Japan 2016 at Jun 13 2016
Satoshi "Moris" Tagomori (@tagomoris)
Satoshi "Moris" Tagomori
(@tagomoris)
Fluentd, MessagePack-Ruby, Norikra, ...
Treasure Data, Inc.
Distributed Logging Architecture in Container Era
http://www.linuxfoundation.org/news-media/announcements/2016/06/chaosuan-crunchy-data-qbox-storageos-and-treasure-data-join-cloud
Topics
• Microservices and logging in various industries
• Difficulties of logging with containers
• Distributed logging architecture
• Patterns of distributed logging architecture
• Case Study: Docker and Fluentd
Logging
Logging in Various Industries
• Web access logs
• Views/visitors on media
• Views/clicks on Ads
• Commercial transactions (EC, Game, ...)
• Data from devices
• Operation logs on Apps of phones
• Various sensor data
Microservices and Logging
• Monolithic service
• a service produces all data
about an user's behavior
• Microservices
• many services produce data
about an user's access
• it's needed to collect logs
from many services to know
what is happening
Users
Service (Application)
Logs
Users
Logs
Logging and Containers
Containers:
"a must" for microservices
• Dividing a service into services
• a service requires less computing resources

(VM -> containers)
• Making services independent from each other
• but it is very difficult :(
• some dependency must be solved even in
development environment

(containers on desktop)
Redesign Logging: Why?
• No permanent storages
• No fixed physical/network address
• No fixed mapping between servers and roles
• We should parse/label logs at the source, ship
these logs by pushing to destination ASAP
Containers:
immutable & disposable
• No permanent storages
• Where to write logs?
• files in the container

→ gone w/ container instance 😞
• directories shared from hosts

→ hosts are shared by many containers/services
☹
• TODO: ship logs from container to anywhere ASAP
Containers:
unfixed addresses
• No fixed physical / network address
• Where should we go to fetch logs?
• Service discovery (e.g., consul)

→ one more component 😞
• rsync? ssh+tail? or ..? Is it installed in containers?

→ one more tool to depend on ☹
• TODO: push logs to anywhere from containers
Containers:
instances per roles
• No fixed mapping between servers and roles
• How can we parse / store these logs?
• Central repository about log syntax

→ very hard to maintain 😞
• Label logs by source address

→ many containers/roles in a host ☹
• TODO: label & parse logs at source of logs
Distributed Logging
Architecture
Core Architecture
• Collector nodes
• Aggregator nodes
• Destinations
Collector nodes
(Docker containers + agent)
Destinations

(Storage, Database, ...)
Aggregator nodes
• Parse/Label (collector)
• Raw logs are not good for processing
• Convert logs to structured data (key-value pairs)
• Split/Sort (aggregator)
• Mixed logs are not good for searching
• Split whole data stream into streams per services
• Store (destination)
• Format logs(records) as destination expects
Collecting and Storing Data
Scaling Logging
• Network traffic
• CPU load to parse / format
• Parse logs on each collector (distributed)
• Format logs on aggregator (to be distributed)
• Capability
• Make aggregators redundant
• Controlling delay
• to make sure when we can know what's happening in our
systems
Patterns
source aggregation
NO
source aggregation
YES
destination
aggregation
NO
destination
aggregation
YES
Aggregation Patterns
Source Side Aggregation Patterns
w/o source aggregation w/ source aggregation
collector
aggregator
/
destination
aggregate
container
Without Source Aggregation
• Pros:
• Simple configuration
• Cons:
• fixed aggregator (endpoint) address
• many network connections
• high load in aggregator
collector
aggregator
With Source Aggregation
• Pros:
• less connections
• lower load in aggregator
• less configuration in containers

(by specifying localhost)
• highly flexible configuration

(by deployment only of aggregate containers)
• Cons:
• a bit much resource (+1 container per host)
aggregate
container
aggregator
Destination Side Aggregation Patterns
w/o destination aggregation w/ destination aggregation
aggregator
collector
destination
Without Destination Aggregation
• Pros:
• Less nodes
• Simpler configuration
• Cons:
• Storage side change affects collector side
• Worse performance: many small write requests
on storage
With Destination Aggregation
• Pros:
• Collector side configuration is

free from storage side changes
• Better performance with fine tune

on destination side aggregator
• Cons:
• More nodes
• A bit complex configuration
aggregator
Scaling Patterns
Scaling Up Endpoints
HTTP/TCP load balancer
Huge queue + workers
Scaling Out Endpoints
Round-robin clients
Load balancer
Backend nodes
Collector nodes
Aggregator nodes
Scaling Up Endpoints
• Pros:
• Simple configuration

in collector nodes
• Cons:
• Limits about scaling up
Load balancer
Backend nodes
Scaling Out Endpoints
• Pros:
• Unlimited scaling

by adding aggregator nodes
• Cons:
• Complex configuration
• Client features for round-robin
Without

Destination Aggregation
With

Destination Aggregation
Scaling Up
Endpoints
Systems in early stages
Collecting logs over
Internet
or
Using queues
Scaling Out
Endpoints
Impossible :(
Collector nodes must know
all endpoints
↓
Uncontrollable
Collecting logs
in datacenter
Case Studies
Case Study: Docker+Fluentd
• Destination aggregation + scaling up
• Fluent logger + Fluentd
• Source aggregation + scaling up
• Docker json logger + Fluentd + Elasticsearch
• Docker fluentd logger + Fluentd + Kafka
• Source/Destination aggregation + scaling out
• Docker fluentd logger + Fluentd
Why Fluentd?
• Docker Fluentd logging driver
• Docker containers can send logs to Fluentd
directly - less overhead
• Pluggable architecture
• Various destination systems
• Small memory footprint
• Source aggregation requires +1 container per host
• Less additional resource usage ( < 100MB )
Destination aggregation + scaling up
• Sending logs directly over TCP by Fluentd logger
library in application code
• Same with patterns of New Relic
• Easy to implement

- good for startups Application code
Source aggregation + scaling up
• Kubernetes: Json logger + Fluentd + Elasticsearch
• Applications write logs to STDOUT
• Docker writes logs as JSON in files
• Fluentd

reads logs from file

parse JSON objects

writes logs to Elasticsearch
• EFK stack (like ELK stack)
http://kubernetes.io/docs/getting-started-guides/logging-elasticsearch/
Elasticsearch
Application code
Files (JSON)
Source aggregation + scaling up/out
• Docker fluentd logging driver + Fluentd + Kafka
• Applications write logs to STDOUT
• Docker sends logs

to localhost Fluentd
• Fluentd

gets logs over TCP

pushes logs into Kafka
• Highly scalable & less overhead

- very good for huge deployment
Kafka
Application code
Application code
Source/Destination aggregation +
scaling out
• Docker fluentd logging driver + Fluentd
• Applications write logs to STDOUT
• Docker sends logs

to localhost Fluentd
• Fluentd

gets logs over TCP

sends logs into Aggregator Fluentd

w/ round-robin load balance
• Highly flexible

- good for complex data processing

requirements
Any other storages
What's the Best?
• Writing logs from containers: Some way to do it
• Docker logging driver
• Write logs on files + read/parse it
• Send logs from apps directly
• Make the platform scalable!
• Source aggregation: Fluentd on localhost
• Scalable storage: (Kafka, external services, ...)
• No destination aggregation + Scaling up
• Non-scalable storage: (Filesystems, RDBMSs, ...)
• Destination aggregation + Scaling out
Why OSS Are Important
For Logging?
Why OSS?
• Logging layer is interface
• transparency
• interoperability
• Keep the platform scalable
• number of nodes
• number of types of source/destination
Use OSS,
Make Logging Scalable
Thank you!

More Related Content

PDF
Perfect Norikra 2nd Season
PDF
How to Make Norikra Perfect
PDF
To Have Own Data Analytics Platform, Or NOT To
PDF
Data Analytics Service Company and Its Ruby Usage
PDF
Open Source Software, Distributed Systems, Database as a Cloud Service
PDF
Technologies, Data Analytics Service and Enterprise Business
PDF
Norikra Recent Updates
PDF
Tale of ISUCON and Its Bench Tools
Perfect Norikra 2nd Season
How to Make Norikra Perfect
To Have Own Data Analytics Platform, Or NOT To
Data Analytics Service Company and Its Ruby Usage
Open Source Software, Distributed Systems, Database as a Cloud Service
Technologies, Data Analytics Service and Enterprise Business
Norikra Recent Updates
Tale of ISUCON and Its Bench Tools

What's hot (20)

PDF
Presto At Treasure Data
PDF
Overview of data analytics service: Treasure Data Service
PPTX
How to ensure Presto scalability 
in multi use case
PDF
Introduction to Presto at Treasure Data
PDF
Hoodie: How (And Why) We built an analytical datastore on Spark
PDF
Ruby and Distributed Storage Systems
PDF
Fluentd - Flexible, Stable, Scalable
PDF
Treasure Data and AWS - Developers.io 2015
PDF
Presto updates to 0.178
PDF
Planet-scale Data Ingestion Pipeline: Bigdam
PDF
Prestogres, ODBC & JDBC connectivity for Presto
PDF
Presto anatomy
PDF
Internals of Presto Service
PDF
Lambda Architecture Using SQL
PDF
Presto at Twitter
PDF
Presto+MySQLで分散SQL
PDF
Plazma - Treasure Data’s distributed analytical database -
PDF
Data Analytics Service Company and Its Ruby Usage
PDF
User Defined Partitioning on PlazmaDB
PDF
Presto at Facebook - Presto Meetup @ Boston (10/6/2015)
Presto At Treasure Data
Overview of data analytics service: Treasure Data Service
How to ensure Presto scalability 
in multi use case
Introduction to Presto at Treasure Data
Hoodie: How (And Why) We built an analytical datastore on Spark
Ruby and Distributed Storage Systems
Fluentd - Flexible, Stable, Scalable
Treasure Data and AWS - Developers.io 2015
Presto updates to 0.178
Planet-scale Data Ingestion Pipeline: Bigdam
Prestogres, ODBC & JDBC connectivity for Presto
Presto anatomy
Internals of Presto Service
Lambda Architecture Using SQL
Presto at Twitter
Presto+MySQLで分散SQL
Plazma - Treasure Data’s distributed analytical database -
Data Analytics Service Company and Its Ruby Usage
User Defined Partitioning on PlazmaDB
Presto at Facebook - Presto Meetup @ Boston (10/6/2015)
Ad

Viewers also liked (20)

PDF
Modern Black Mages Fighting in the Real World
PDF
How To Write Middleware In Ruby
PDF
Fighting API Compatibility On Fluentd Using "Black Magic"
PDF
20160730 fluentd meetup in matsue slide
PDF
Fluentd Overview, Now and Then
PDF
The Patterns of Distributed Logging and Containers
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
PDF
Fluentd v0.14 Plugin API Details
PPTX
Game Over - HTML5 Games
PDF
Say no to var_dump
PDF
Powerupcloud - Customer Case Studies
PPSX
Yellowstone National Park and Grand Teton, USA
PDF
Building Awesome APIs with Lumen
PPT
Finding HMAS Sydney Chapter 5 - Kormoran Database & the Mathematics of Reliab...
DOC
Creating a personal narrative
PPT
Progressive tenses
PPTX
Service Orchestrierung mit Apache Mesos
PPTX
Introduction to ICS/SCADA security
PDF
Chicago AWS user group meetup - May 2014 at Cohesive
PDF
DevOps at Crevise Technologies
Modern Black Mages Fighting in the Real World
How To Write Middleware In Ruby
Fighting API Compatibility On Fluentd Using "Black Magic"
20160730 fluentd meetup in matsue slide
Fluentd Overview, Now and Then
The Patterns of Distributed Logging and Containers
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
Fluentd v0.14 Plugin API Details
Game Over - HTML5 Games
Say no to var_dump
Powerupcloud - Customer Case Studies
Yellowstone National Park and Grand Teton, USA
Building Awesome APIs with Lumen
Finding HMAS Sydney Chapter 5 - Kormoran Database & the Mathematics of Reliab...
Creating a personal narrative
Progressive tenses
Service Orchestrierung mit Apache Mesos
Introduction to ICS/SCADA security
Chicago AWS user group meetup - May 2014 at Cohesive
DevOps at Crevise Technologies
Ad

Similar to Distributed Logging Architecture in Container Era (20)

PDF
Logging for Containers
PDF
Containers and Logging
PDF
Fluentd and Distributed Logging at Kubecon
PDF
Docker and Fluentd
PDF
Logging for Production Systems in The Container Era
PDF
Docker Logging and analysing with Elastic Stack
PDF
Docker Logging and analysing with Elastic Stack - Jakub Hajek
PDF
Fluentd at Bay Area Kubernetes Meetup
PDF
Fluentd meetup logging infrastructure in paa s
PDF
Collect distributed application logging using fluentd (EFK stack)
PDF
Unifying Events and Logs into the Cloud
PDF
Unifying Events and Logs into the Cloud
PDF
Log aggregation: using Elasticsearch, Fluentd/Fluentbit and Kibana (EFK)
PDF
Fluentd and Docker - running fluentd within a docker container
ODP
The journey to container adoption in enterprise
PDF
Fluentd Project Intro at Kubecon 2019 EU
PDF
Fluentd and docker monitoring
PDF
Monitoring&Logging - Stanislav Kolenkin
PDF
6 Months Sailing with Docker in Production
PDF
[scala.by] Launching new application fast
Logging for Containers
Containers and Logging
Fluentd and Distributed Logging at Kubecon
Docker and Fluentd
Logging for Production Systems in The Container Era
Docker Logging and analysing with Elastic Stack
Docker Logging and analysing with Elastic Stack - Jakub Hajek
Fluentd at Bay Area Kubernetes Meetup
Fluentd meetup logging infrastructure in paa s
Collect distributed application logging using fluentd (EFK stack)
Unifying Events and Logs into the Cloud
Unifying Events and Logs into the Cloud
Log aggregation: using Elasticsearch, Fluentd/Fluentbit and Kibana (EFK)
Fluentd and Docker - running fluentd within a docker container
The journey to container adoption in enterprise
Fluentd Project Intro at Kubecon 2019 EU
Fluentd and docker monitoring
Monitoring&Logging - Stanislav Kolenkin
6 Months Sailing with Docker in Production
[scala.by] Launching new application fast

More from SATOSHI TAGOMORI (13)

PDF
Ractor's speed is not light-speed
PDF
Good Things and Hard Things of SaaS Development/Operations
PDF
Maccro Strikes Back
PDF
Invitation to the dark side of Ruby
PDF
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
PDF
Make Your Ruby Script Confusing
PDF
Hijacking Ruby Syntax in Ruby
PDF
Lock, Concurrency and Throughput of Exclusive Operations
PDF
Data Processing and Ruby in the World
PDF
Fluentd 101
PDF
Hive dirty/beautiful hacks in TD
PDF
Data-Driven Development Era and Its Technologies
PDF
Engineer as a Leading Role
Ractor's speed is not light-speed
Good Things and Hard Things of SaaS Development/Operations
Maccro Strikes Back
Invitation to the dark side of Ruby
Hijacking Ruby Syntax in Ruby (RubyConf 2018)
Make Your Ruby Script Confusing
Hijacking Ruby Syntax in Ruby
Lock, Concurrency and Throughput of Exclusive Operations
Data Processing and Ruby in the World
Fluentd 101
Hive dirty/beautiful hacks in TD
Data-Driven Development Era and Its Technologies
Engineer as a Leading Role

Recently uploaded (20)

PPTX
1. Introduction to Computer Programming.pptx
PDF
cuic standard and advanced reporting.pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PPTX
Big Data Technologies - Introduction.pptx
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Approach and Philosophy of On baking technology
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
A Presentation on Artificial Intelligence
PDF
Electronic commerce courselecture one. Pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
1. Introduction to Computer Programming.pptx
cuic standard and advanced reporting.pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Big Data Technologies - Introduction.pptx
Assigned Numbers - 2025 - Bluetooth® Document
Reach Out and Touch Someone: Haptics and Empathic Computing
Mobile App Security Testing_ A Comprehensive Guide.pdf
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Programs and apps: productivity, graphics, security and other tools
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Dropbox Q2 2025 Financial Results & Investor Presentation
Approach and Philosophy of On baking technology
Building Integrated photovoltaic BIPV_UPV.pdf
Accuracy of neural networks in brain wave diagnosis of schizophrenia
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
MYSQL Presentation for SQL database connectivity
A Presentation on Artificial Intelligence
Electronic commerce courselecture one. Pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...

Distributed Logging Architecture in Container Era

  • 1. Distributed Logging Architecture in Container Era LinuxCon Japan 2016 at Jun 13 2016 Satoshi "Moris" Tagomori (@tagomoris)
  • 2. Satoshi "Moris" Tagomori (@tagomoris) Fluentd, MessagePack-Ruby, Norikra, ... Treasure Data, Inc.
  • 5. Topics • Microservices and logging in various industries • Difficulties of logging with containers • Distributed logging architecture • Patterns of distributed logging architecture • Case Study: Docker and Fluentd
  • 7. Logging in Various Industries • Web access logs • Views/visitors on media • Views/clicks on Ads • Commercial transactions (EC, Game, ...) • Data from devices • Operation logs on Apps of phones • Various sensor data
  • 8. Microservices and Logging • Monolithic service • a service produces all data about an user's behavior • Microservices • many services produce data about an user's access • it's needed to collect logs from many services to know what is happening Users Service (Application) Logs Users Logs
  • 10. Containers: "a must" for microservices • Dividing a service into services • a service requires less computing resources
 (VM -> containers) • Making services independent from each other • but it is very difficult :( • some dependency must be solved even in development environment
 (containers on desktop)
  • 11. Redesign Logging: Why? • No permanent storages • No fixed physical/network address • No fixed mapping between servers and roles • We should parse/label logs at the source, ship these logs by pushing to destination ASAP
  • 12. Containers: immutable & disposable • No permanent storages • Where to write logs? • files in the container
 → gone w/ container instance 😞 • directories shared from hosts
 → hosts are shared by many containers/services ☹ • TODO: ship logs from container to anywhere ASAP
  • 13. Containers: unfixed addresses • No fixed physical / network address • Where should we go to fetch logs? • Service discovery (e.g., consul)
 → one more component 😞 • rsync? ssh+tail? or ..? Is it installed in containers?
 → one more tool to depend on ☹ • TODO: push logs to anywhere from containers
  • 14. Containers: instances per roles • No fixed mapping between servers and roles • How can we parse / store these logs? • Central repository about log syntax
 → very hard to maintain 😞 • Label logs by source address
 → many containers/roles in a host ☹ • TODO: label & parse logs at source of logs
  • 16. Core Architecture • Collector nodes • Aggregator nodes • Destinations Collector nodes (Docker containers + agent) Destinations
 (Storage, Database, ...) Aggregator nodes
  • 17. • Parse/Label (collector) • Raw logs are not good for processing • Convert logs to structured data (key-value pairs) • Split/Sort (aggregator) • Mixed logs are not good for searching • Split whole data stream into streams per services • Store (destination) • Format logs(records) as destination expects Collecting and Storing Data
  • 18. Scaling Logging • Network traffic • CPU load to parse / format • Parse logs on each collector (distributed) • Format logs on aggregator (to be distributed) • Capability • Make aggregators redundant • Controlling delay • to make sure when we can know what's happening in our systems
  • 21. Source Side Aggregation Patterns w/o source aggregation w/ source aggregation collector aggregator / destination aggregate container
  • 22. Without Source Aggregation • Pros: • Simple configuration • Cons: • fixed aggregator (endpoint) address • many network connections • high load in aggregator collector aggregator
  • 23. With Source Aggregation • Pros: • less connections • lower load in aggregator • less configuration in containers
 (by specifying localhost) • highly flexible configuration
 (by deployment only of aggregate containers) • Cons: • a bit much resource (+1 container per host) aggregate container aggregator
  • 24. Destination Side Aggregation Patterns w/o destination aggregation w/ destination aggregation aggregator collector destination
  • 25. Without Destination Aggregation • Pros: • Less nodes • Simpler configuration • Cons: • Storage side change affects collector side • Worse performance: many small write requests on storage
  • 26. With Destination Aggregation • Pros: • Collector side configuration is
 free from storage side changes • Better performance with fine tune
 on destination side aggregator • Cons: • More nodes • A bit complex configuration aggregator
  • 27. Scaling Patterns Scaling Up Endpoints HTTP/TCP load balancer Huge queue + workers Scaling Out Endpoints Round-robin clients Load balancer Backend nodes Collector nodes Aggregator nodes
  • 28. Scaling Up Endpoints • Pros: • Simple configuration
 in collector nodes • Cons: • Limits about scaling up Load balancer Backend nodes
  • 29. Scaling Out Endpoints • Pros: • Unlimited scaling
 by adding aggregator nodes • Cons: • Complex configuration • Client features for round-robin
  • 30. Without
 Destination Aggregation With
 Destination Aggregation Scaling Up Endpoints Systems in early stages Collecting logs over Internet or Using queues Scaling Out Endpoints Impossible :( Collector nodes must know all endpoints ↓ Uncontrollable Collecting logs in datacenter
  • 32. Case Study: Docker+Fluentd • Destination aggregation + scaling up • Fluent logger + Fluentd • Source aggregation + scaling up • Docker json logger + Fluentd + Elasticsearch • Docker fluentd logger + Fluentd + Kafka • Source/Destination aggregation + scaling out • Docker fluentd logger + Fluentd
  • 33. Why Fluentd? • Docker Fluentd logging driver • Docker containers can send logs to Fluentd directly - less overhead • Pluggable architecture • Various destination systems • Small memory footprint • Source aggregation requires +1 container per host • Less additional resource usage ( < 100MB )
  • 34. Destination aggregation + scaling up • Sending logs directly over TCP by Fluentd logger library in application code • Same with patterns of New Relic • Easy to implement
 - good for startups Application code
  • 35. Source aggregation + scaling up • Kubernetes: Json logger + Fluentd + Elasticsearch • Applications write logs to STDOUT • Docker writes logs as JSON in files • Fluentd
 reads logs from file
 parse JSON objects
 writes logs to Elasticsearch • EFK stack (like ELK stack) http://kubernetes.io/docs/getting-started-guides/logging-elasticsearch/ Elasticsearch Application code Files (JSON)
  • 36. Source aggregation + scaling up/out • Docker fluentd logging driver + Fluentd + Kafka • Applications write logs to STDOUT • Docker sends logs
 to localhost Fluentd • Fluentd
 gets logs over TCP
 pushes logs into Kafka • Highly scalable & less overhead
 - very good for huge deployment Kafka Application code
  • 37. Application code Source/Destination aggregation + scaling out • Docker fluentd logging driver + Fluentd • Applications write logs to STDOUT • Docker sends logs
 to localhost Fluentd • Fluentd
 gets logs over TCP
 sends logs into Aggregator Fluentd
 w/ round-robin load balance • Highly flexible
 - good for complex data processing
 requirements Any other storages
  • 38. What's the Best? • Writing logs from containers: Some way to do it • Docker logging driver • Write logs on files + read/parse it • Send logs from apps directly • Make the platform scalable! • Source aggregation: Fluentd on localhost • Scalable storage: (Kafka, external services, ...) • No destination aggregation + Scaling up • Non-scalable storage: (Filesystems, RDBMSs, ...) • Destination aggregation + Scaling out
  • 39. Why OSS Are Important For Logging?
  • 40. Why OSS? • Logging layer is interface • transparency • interoperability • Keep the platform scalable • number of nodes • number of types of source/destination
  • 41. Use OSS, Make Logging Scalable Thank you!