SlideShare a Scribd company logo
Fluentd v1.0 in a nutshell
June 1, 2017
Masahiro Nakagawa
Fluentd v0.12
• Current stable and widely used on production
• Input, Parser, Filter, Formatter, Buffer, Output plugins
• Known issues
• Event time is second unit
• No Windows support
• No multi core support
• Need to improve plugin API to support more various
use cases
• Development version of v1
• Latest version is v0.14.17: March 30, 2017
• Implemented New features
• New Plugin APIs
• Event Time with Nanosecond resolution
• ServerEngine based Supervisor
• Windows support
• Multicore support
• New Plugin Helpers & Plugin Storage
Fluentd v0.14
Fluentd v1
• Stable announcement for APIs / features
• No breaking API changes in v1.x
• Compatible with v0.12 and v0.14
• exclude v0 config syntax and detach_process
• Release plan
• Q3, 2017
• Need v0.14 feedback from developers and users

https://hub.docker.com/r/fluent/fluentd/
New Plugin APIs
• Input/Output plugin APIs w/ well-controlled lifecycle
• stop, shutdown, close, terminate
• Integrate all output plugin into Fluent::Plugin::Output
• New Buffer API for delayed commit and flexible chunking with metadata
• parallel/async "commit" operation for chunks
• For high latency case: forward’s at-least-once, issuing job, etc…
• Users can choose chunk keys by configuration for dynamic parameters
• Compatible w/ v0.12 plugins
• compatibility layer for traditional APIs
• it will be supported between v1.x versions
Router
buffer_chunk_limit
enqueue: exceed flush_interval
or buffer_chunk_limit
Key pattern:
- BufferedOutput
empty string or specified key
-ObjectBufferedOutput tag
-TimeSlicedOutput time slice
emit emit
Buffer
Queue
buffer_queue_limit
Output
OutputInput / Filter
Tag Time
Record Chunk
Chunk
Chunk Chunk
Chunk
key:foo
key:bar
key:baz
v0.12 buffer design
v0.14 buffer design
Buffer keys and placeholders
• Dynamic parameters for table name, object path and more
• We can embed time, tag and any field with placeholder













<match s3.**>
@type s3
aws_key_id "#{ENV['AWS_ACCESS_KEY']}"
aws_sec_key "#{ENV['AWS_SECRETA_KEY']}"
s3_bucket fluent-plugin-s3
path test/%Y/%m/${tag}/${key}/
<buffer time,tag,key>
timekey 3600
</buffer>
</match>
http://docs.fluentd.org/v0.14/articles/buffer-section for more details
time: 2017-06-01 12:00:00 +0700
tag: “test”
record: {“key”:”hello”}
- Event sample
test/2017/6/test/hello/
- Generated “path”
Time with nanosecond
• For sub-second systems: Elasticsearch, InfluxData, etc…
• Fluent::EventTime
• behaves as Integer for v0.12’s second unit compatibility
• has methods to get sub-second resolution
• be serialized into msgpack using Ext type
• Fluent::Engine.now now returns EventTime, not Integer
• Fluentd core can handle both of Integer and EventTime as time
• compatible with older versions and software in eco-system
(e.g., fluent-logger, Docker logging driver)
ServerEngine based Supervisor
• ServerEngine is a framework for building robust server
• https://github.com/treasure-data/serverengine
• Replacing supervisor process with ServerEngine
• it has SocketManager to share listening sockets
between 2 or more worker processes
• Replacing Fluentd's processing model from fork to
spawn
• to support Windows environment
Windows support
• Fluentd and core plugins work on Windows
• Windows service registration is also supported
• http://docs.fluentd.org/v0.14/articles/install-by-msi
• Use HTTP RPC instead of signals
• https://github.com/fluent/fluent-plugin-windows-eventlog
• We can collect windows eventlog :)
Symmetric multi core processing
• 2 or more workers share a configuration file
• and share listening sockets via PluginHelper
• under a supervisor process (ServerEngine)
• Multi core scalability for huge traffic
• one input plugin for a tcp port, some filters and one
(or some) output plugin
• buffer paths are managed automatically by
Fluentd. Need root_dir and @id parameters
Worker0
Supervisor
v0.14’s multi process feature
grep
forward
tdlog
Worker1 Worker2
grep
forward
tdlog
grep
forward
tdlog
socket
Configuration example
<system>
workers 2
root_dir /var/log/fluentd
</system>
<source>
@type forward
</source>
<filter pattern>
@type grep
</filter>
<match pattern>
@type tdlog
@id out_td
</match>
/var/log/fluentd/worker0/out_td/buffer/buffer.xxx.log
/var/log/fluentd/worker0/out_td/buffer/buffer.xxx.log.meta
- buf_file’s path is automatically generated
worker id
root_dir
plugin’s @id
TLS/Authn/Authz support for forward plugin
• Support v1 forward protocol spec
• secure-forward is merged into built-in forward
• TLS w/ at-least-one semantics
• Simple authentication/authorization w/o SSL
• Different points
• secure-forward uses keep-alive, but forward doesn’t
• secure-forward uses thread per connection, but
forward uses cool.io, libev based IO.
http://www.fluentd.org/blog/fluentd-v0.14.12-has-been-released
Plugin Storage & Helpers
• Plugin Storage: new plugin type for plugins
• provides key-value storage to persistent intermediate status
• built-in plugins: in-memory, local file
• pluggable: 3rd party plugin to store data into storage
• storage-redis
• Plugin Helpers:
• collections of utility methods for plugins
• fully integrated with test drivers to run test code after setup
phase of helpers (e.g. test started after created threads)
server helper: before
def start
@loop = Coolio::Loop.new
@handler = Coolio::TCPServer.new(@bind, @port, SocketUtil::TcpHandler, log,
@delimiter, method(:on_message))
@loop.attach(@handler)
@thread = Thread.new(&method(:run))
end
def shutdown
@loop.watchers.each { |w| w.detach }
@loop.stop
@handler.close
@thread.join
end
def run
@loop.run
rescue => e
log.error "unexpected error", error: e
log.error_backtrace
end
def on_message(msg, addr)
# body
end
server helper: after
def start
server_create(:foo_server, @port, bind: @bind) do |data, conn|

# body

end
end
v0.12 plugins
ParserInput Buffer Output FormatterFilter
“output-ish”“input-ish”
v0.14 plugins
ParserInput Buffer Output FormatterFilter
“output-ish”“input-ish”
Storage
Helper
Other helpers
• Timer: one-shot / periodic timer
• Event Loop: Low-layer event loop
• Socket: TCP/UDP/TLS support
• Formatter/Parser: Manage parser/formatter plugins
• Chile Process: Manage process for exec like plugin
• etc…
Is v0.14 stable?
• Not yet but it will be stable in this month (I hope!)
• Remaining tickets:
• Nested record support
• Fix core bugs
• v0.14 stable means ready for production, not
feature freeze. Feature freeze is done by v1 release
TODO list for v1
• Counter API to store metrics between processes
• https://github.com/fluent/fluentd/tree/counter-api
• Optimize performance and remove deprecated code
• Migrate more plugin into v0.14 API
• Core plugins are migrated
• Popular plugins release beta version for v0.14
• Write document: design, plugin, operation, etc…
Treasure Agent 3.0 serise (td-agent 3)
• fluentd v0.14/v1, Ruby 2.4, and latest core components
• Latest beta version is 3.0.1: May 19, 2017
• Environments
• Add msi Windows package
• Remove CentOS 5, Ubuntu 10.04 support
• Beta packages have beed released
• http://docs.fluentd.org/v0.14/categories/installation
• beta will be removed after v0.14 becomes stable :)

More Related Content

PDF
Fluentd v1 and future at techtalk
PDF
Fluentd 101
PDF
Fluentd at HKOScon
PDF
Fluentd Project Intro at Kubecon 2019 EU
PDF
Fluentd and Distributed Logging at Kubecon
PDF
The Patterns of Distributed Logging and Containers
PDF
Fluentd v1.0 in a nutshell
PDF
The basics of fluentd
Fluentd v1 and future at techtalk
Fluentd 101
Fluentd at HKOScon
Fluentd Project Intro at Kubecon 2019 EU
Fluentd and Distributed Logging at Kubecon
The Patterns of Distributed Logging and Containers
Fluentd v1.0 in a nutshell
The basics of fluentd

What's hot (20)

PDF
fluent-plugin-beats at Elasticsearch meetup #14
PDF
Fluentd Overview, Now and Then
PDF
Docker and Fluentd
PDF
Fluentd vs. Logstash for OpenStack Log Management
PDF
The basics of fluentd
PPTX
FluentD for end to end monitoring
PDF
Fluentd v0.14 Plugin API Details
PDF
Dive into Fluentd plugin v0.12
PDF
Fluentd meetup in japan
PDF
JRuby with Java Code in Data Processing World
PDF
Fluentd - Set Up Once, Collect More
PDF
Fluentd introduction at ipros
PPTX
Life of an Fluentd event
PDF
Fluentd meetup #2
PDF
Fluentd meetup
PDF
Fluent-bit
PDF
Fluentd and AWS at classmethod
PDF
Like loggly using open source
PPTX
Node.js
PDF
Writing a fast HTTP parser
fluent-plugin-beats at Elasticsearch meetup #14
Fluentd Overview, Now and Then
Docker and Fluentd
Fluentd vs. Logstash for OpenStack Log Management
The basics of fluentd
FluentD for end to end monitoring
Fluentd v0.14 Plugin API Details
Dive into Fluentd plugin v0.12
Fluentd meetup in japan
JRuby with Java Code in Data Processing World
Fluentd - Set Up Once, Collect More
Fluentd introduction at ipros
Life of an Fluentd event
Fluentd meetup #2
Fluentd meetup
Fluent-bit
Fluentd and AWS at classmethod
Like loggly using open source
Node.js
Writing a fast HTTP parser
Ad

Viewers also liked (20)

PDF
Arquitecturas de microservicios - Medianet Software
PDF
JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...
PPTX
Reversing Engineering a Web Application - For fun, behavior and detection
PDF
Do we need a bigger dev data culture
PDF
Docker swarm-mike-goelzer-mv-meetup-45min-workshop 02242016 (1)
PPTX
Monitoring and tuning your chef server - chef conf talk
PDF
Docker security introduction-task-2016
PDF
IBM Bluemix Nice meetup #5 - 20170504 - Container Service based on Kubernetes
PDF
"How overlay networks can make public clouds your global WAN" by Ryan Koop o...
DOC
Retelling nonfiction
PDF
Evolutions et nouveaux outils SEO
PDF
Performance monitoring and call tracing in microservice environments
PDF
VoxxedDays Bucharest 2017 - Powering interactive data analysis with Google Bi...
PPT
Sitios turísticos de valledupar
PPTX
CloudStack EU user group - Trillian
PPTX
What is DevOps?
PPTX
Monitor all the cloud things - security monitoring for everyone
PDF
AppSensor - Near Real Time Event Detection and Response
PDF
150430 regiosessie corv_almelo
PPTX
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
Arquitecturas de microservicios - Medianet Software
JavaOne 2017 - Choosing a NoSQL API and Database to Avoid Tombstones and Drag...
Reversing Engineering a Web Application - For fun, behavior and detection
Do we need a bigger dev data culture
Docker swarm-mike-goelzer-mv-meetup-45min-workshop 02242016 (1)
Monitoring and tuning your chef server - chef conf talk
Docker security introduction-task-2016
IBM Bluemix Nice meetup #5 - 20170504 - Container Service based on Kubernetes
"How overlay networks can make public clouds your global WAN" by Ryan Koop o...
Retelling nonfiction
Evolutions et nouveaux outils SEO
Performance monitoring and call tracing in microservice environments
VoxxedDays Bucharest 2017 - Powering interactive data analysis with Google Bi...
Sitios turísticos de valledupar
CloudStack EU user group - Trillian
What is DevOps?
Monitor all the cloud things - security monitoring for everyone
AppSensor - Near Real Time Event Detection and Response
150430 regiosessie corv_almelo
How Cisco Migrated from MapReduce Jobs to Spark Jobs - StampedeCon 2015
Ad

Similar to Fluentd v1.0 in a nutshell (20)

PDF
Fluentd v0.14 Overview
PDF
Treasure Data Summer Internship 2016
PPTX
Serverless design with Fn project
ODP
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
PPTX
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
PDF
What's new in kubernetes 1.3?
PPTX
Hogy jussunk ki lezárt hálózatokból?
PPTX
Kubernetes #1 intro
PPT
Neutrondev ppt
PDF
KACE Agent Architecture and Troubleshooting Overview
PDF
Fluentd - RubyKansai 65
PDF
NodeJS
PPTX
Introduction to Node (15th May 2017)
PPTX
NGINX Installation and Tuning
PDF
Running php on nginx
PDF
Provisioning with Puppet
PDF
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
PDF
Chef - Administration for programmers
PPTX
Deep Dive Azure Functions - Global Azure Bootcamp 2019
PPT
Apache Street Smarts Presentation (SANS 99)
Fluentd v0.14 Overview
Treasure Data Summer Internship 2016
Serverless design with Fn project
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Habitat talk at CodeMonsters Sofia, Bulgaria Nov 27 2018
What's new in kubernetes 1.3?
Hogy jussunk ki lezárt hálózatokból?
Kubernetes #1 intro
Neutrondev ppt
KACE Agent Architecture and Troubleshooting Overview
Fluentd - RubyKansai 65
NodeJS
Introduction to Node (15th May 2017)
NGINX Installation and Tuning
Running php on nginx
Provisioning with Puppet
Monitoring in Big Data Platform - Albert Lewandowski, GetInData
Chef - Administration for programmers
Deep Dive Azure Functions - Global Azure Bootcamp 2019
Apache Street Smarts Presentation (SANS 99)

More from N Masahiro (20)

PDF
Presto changes
PDF
Fluentd and Kafka
PDF
Technologies for Data Analytics Platform
PDF
Docker and Fluentd
PDF
How to create Treasure Data #dotsbigdata
PDF
Fluentd v0.12 master guide
PDF
Fluentd and Embulk Game Server 4
PDF
Treasure Data and AWS - Developers.io 2015
PDF
Fluentd Unified Logging Layer At Fossasia
PDF
Treasure Data and OSS
PDF
Fluentd - road to v1 -
PDF
Fluentd: Unified Logging Layer at CWT2014
PDF
SQL for Everything at CWT2014
PDF
Can you say the same words even in oss
PDF
I am learing the programming
PDF
Fluentd meetup dive into fluent plugin (outdated)
PDF
D vs OWKN Language at LLnagoya
PDF
Goodbye Doost
KEY
Final presentation at pfintern
ZIP
Kernel VM 5 LT
Presto changes
Fluentd and Kafka
Technologies for Data Analytics Platform
Docker and Fluentd
How to create Treasure Data #dotsbigdata
Fluentd v0.12 master guide
Fluentd and Embulk Game Server 4
Treasure Data and AWS - Developers.io 2015
Fluentd Unified Logging Layer At Fossasia
Treasure Data and OSS
Fluentd - road to v1 -
Fluentd: Unified Logging Layer at CWT2014
SQL for Everything at CWT2014
Can you say the same words even in oss
I am learing the programming
Fluentd meetup dive into fluent plugin (outdated)
D vs OWKN Language at LLnagoya
Goodbye Doost
Final presentation at pfintern
Kernel VM 5 LT

Recently uploaded (20)

PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
Teaching material agriculture food technology
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
KodekX | Application Modernization Development
PDF
cuic standard and advanced reporting.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Teaching material agriculture food technology
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Bridging biosciences and deep learning for revolutionary discoveries: a compr...
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
The Rise and Fall of 3GPP – Time for a Sabbatical?
Encapsulation_ Review paper, used for researhc scholars
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
MYSQL Presentation for SQL database connectivity
Digital-Transformation-Roadmap-for-Companies.pptx
“AI and Expert System Decision Support & Business Intelligence Systems”
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Review of recent advances in non-invasive hemoglobin estimation
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Advanced methodologies resolving dimensionality complications for autism neur...
KodekX | Application Modernization Development
cuic standard and advanced reporting.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf

Fluentd v1.0 in a nutshell

  • 1. Fluentd v1.0 in a nutshell June 1, 2017 Masahiro Nakagawa
  • 2. Fluentd v0.12 • Current stable and widely used on production • Input, Parser, Filter, Formatter, Buffer, Output plugins • Known issues • Event time is second unit • No Windows support • No multi core support • Need to improve plugin API to support more various use cases
  • 3. • Development version of v1 • Latest version is v0.14.17: March 30, 2017 • Implemented New features • New Plugin APIs • Event Time with Nanosecond resolution • ServerEngine based Supervisor • Windows support • Multicore support • New Plugin Helpers & Plugin Storage Fluentd v0.14
  • 4. Fluentd v1 • Stable announcement for APIs / features • No breaking API changes in v1.x • Compatible with v0.12 and v0.14 • exclude v0 config syntax and detach_process • Release plan • Q3, 2017 • Need v0.14 feedback from developers and users
 https://hub.docker.com/r/fluent/fluentd/
  • 5. New Plugin APIs • Input/Output plugin APIs w/ well-controlled lifecycle • stop, shutdown, close, terminate • Integrate all output plugin into Fluent::Plugin::Output • New Buffer API for delayed commit and flexible chunking with metadata • parallel/async "commit" operation for chunks • For high latency case: forward’s at-least-once, issuing job, etc… • Users can choose chunk keys by configuration for dynamic parameters • Compatible w/ v0.12 plugins • compatibility layer for traditional APIs • it will be supported between v1.x versions
  • 6. Router buffer_chunk_limit enqueue: exceed flush_interval or buffer_chunk_limit Key pattern: - BufferedOutput empty string or specified key -ObjectBufferedOutput tag -TimeSlicedOutput time slice emit emit Buffer Queue buffer_queue_limit Output OutputInput / Filter Tag Time Record Chunk Chunk Chunk Chunk Chunk key:foo key:bar key:baz v0.12 buffer design
  • 8. Buffer keys and placeholders • Dynamic parameters for table name, object path and more • We can embed time, tag and any field with placeholder
 
 
 
 
 
 
 <match s3.**> @type s3 aws_key_id "#{ENV['AWS_ACCESS_KEY']}" aws_sec_key "#{ENV['AWS_SECRETA_KEY']}" s3_bucket fluent-plugin-s3 path test/%Y/%m/${tag}/${key}/ <buffer time,tag,key> timekey 3600 </buffer> </match> http://docs.fluentd.org/v0.14/articles/buffer-section for more details time: 2017-06-01 12:00:00 +0700 tag: “test” record: {“key”:”hello”} - Event sample test/2017/6/test/hello/ - Generated “path”
  • 9. Time with nanosecond • For sub-second systems: Elasticsearch, InfluxData, etc… • Fluent::EventTime • behaves as Integer for v0.12’s second unit compatibility • has methods to get sub-second resolution • be serialized into msgpack using Ext type • Fluent::Engine.now now returns EventTime, not Integer • Fluentd core can handle both of Integer and EventTime as time • compatible with older versions and software in eco-system (e.g., fluent-logger, Docker logging driver)
  • 10. ServerEngine based Supervisor • ServerEngine is a framework for building robust server • https://github.com/treasure-data/serverengine • Replacing supervisor process with ServerEngine • it has SocketManager to share listening sockets between 2 or more worker processes • Replacing Fluentd's processing model from fork to spawn • to support Windows environment
  • 11. Windows support • Fluentd and core plugins work on Windows • Windows service registration is also supported • http://docs.fluentd.org/v0.14/articles/install-by-msi • Use HTTP RPC instead of signals • https://github.com/fluent/fluent-plugin-windows-eventlog • We can collect windows eventlog :)
  • 12. Symmetric multi core processing • 2 or more workers share a configuration file • and share listening sockets via PluginHelper • under a supervisor process (ServerEngine) • Multi core scalability for huge traffic • one input plugin for a tcp port, some filters and one (or some) output plugin • buffer paths are managed automatically by Fluentd. Need root_dir and @id parameters
  • 13. Worker0 Supervisor v0.14’s multi process feature grep forward tdlog Worker1 Worker2 grep forward tdlog grep forward tdlog socket
  • 14. Configuration example <system> workers 2 root_dir /var/log/fluentd </system> <source> @type forward </source> <filter pattern> @type grep </filter> <match pattern> @type tdlog @id out_td </match> /var/log/fluentd/worker0/out_td/buffer/buffer.xxx.log /var/log/fluentd/worker0/out_td/buffer/buffer.xxx.log.meta - buf_file’s path is automatically generated worker id root_dir plugin’s @id
  • 15. TLS/Authn/Authz support for forward plugin • Support v1 forward protocol spec • secure-forward is merged into built-in forward • TLS w/ at-least-one semantics • Simple authentication/authorization w/o SSL • Different points • secure-forward uses keep-alive, but forward doesn’t • secure-forward uses thread per connection, but forward uses cool.io, libev based IO. http://www.fluentd.org/blog/fluentd-v0.14.12-has-been-released
  • 16. Plugin Storage & Helpers • Plugin Storage: new plugin type for plugins • provides key-value storage to persistent intermediate status • built-in plugins: in-memory, local file • pluggable: 3rd party plugin to store data into storage • storage-redis • Plugin Helpers: • collections of utility methods for plugins • fully integrated with test drivers to run test code after setup phase of helpers (e.g. test started after created threads)
  • 17. server helper: before def start @loop = Coolio::Loop.new @handler = Coolio::TCPServer.new(@bind, @port, SocketUtil::TcpHandler, log, @delimiter, method(:on_message)) @loop.attach(@handler) @thread = Thread.new(&method(:run)) end def shutdown @loop.watchers.each { |w| w.detach } @loop.stop @handler.close @thread.join end def run @loop.run rescue => e log.error "unexpected error", error: e log.error_backtrace end def on_message(msg, addr) # body end
  • 18. server helper: after def start server_create(:foo_server, @port, bind: @bind) do |data, conn|
 # body
 end end
  • 19. v0.12 plugins ParserInput Buffer Output FormatterFilter “output-ish”“input-ish”
  • 20. v0.14 plugins ParserInput Buffer Output FormatterFilter “output-ish”“input-ish” Storage Helper
  • 21. Other helpers • Timer: one-shot / periodic timer • Event Loop: Low-layer event loop • Socket: TCP/UDP/TLS support • Formatter/Parser: Manage parser/formatter plugins • Chile Process: Manage process for exec like plugin • etc…
  • 22. Is v0.14 stable? • Not yet but it will be stable in this month (I hope!) • Remaining tickets: • Nested record support • Fix core bugs • v0.14 stable means ready for production, not feature freeze. Feature freeze is done by v1 release
  • 23. TODO list for v1 • Counter API to store metrics between processes • https://github.com/fluent/fluentd/tree/counter-api • Optimize performance and remove deprecated code • Migrate more plugin into v0.14 API • Core plugins are migrated • Popular plugins release beta version for v0.14 • Write document: design, plugin, operation, etc…
  • 24. Treasure Agent 3.0 serise (td-agent 3) • fluentd v0.14/v1, Ruby 2.4, and latest core components • Latest beta version is 3.0.1: May 19, 2017 • Environments • Add msi Windows package • Remove CentOS 5, Ubuntu 10.04 support • Beta packages have beed released • http://docs.fluentd.org/v0.14/categories/installation • beta will be removed after v0.14 becomes stable :)