About Me > Eduardo Silva Github & Twitter: @edsiper Personal - - PowerPoint PPT Presentation
About Me > Eduardo Silva Github & Twitter: @edsiper Personal - - PowerPoint PPT Presentation
About Me > Eduardo Silva Github & Twitter: @edsiper Personal Blog : http://edsiper.linuxchile.cl > Treasure Data, Inc. Open Source Engineer Fluentd / FluentBit > Projects Monkey Server / monkey-project.com Duda
About Me
> Eduardo Silva
- Github & Twitter: @edsiper
- Personal Blog : http://edsiper.linuxchile.cl
> Treasure Data, Inc.
- Open Source Engineer
Fluentd / FluentBit > Projects
- Monkey Server / monkey-project.com
- Duda I/O / duda.io
Logging
Logging Matters
- Applications status
- Debugging
- General information about anomalies: errors
- Troubleshooting / Support
- Local or Remote (network)
Pros
Logging Matters
- Input Data → Analytics
- User interactions / behaviors
- Improvements
From a business point of view
Assumptions
Logging Matters
- “I have enough disk space”
- “I/O operations will not block”
- “It's fast to write a simple message”
- “Log formats are human readable”
- “My logging mechanism scale”
Assumptions
Logging Matters
Basically, yeah.. it should work.
Assumptions
Concerns
Logging Matters
- Logs increase = data increase
- Message format get more complex
- Did the Kernel flush the buffers ? (sync(2))
- Multi-thread application ?, Locking ?
- Multiple Applications = Multiple Logs
Concerns
Logging Matters
Concerns If... Multiple Applications = Multiple logs Multiple Host x Multiple Applications = ???
OK...so:
- 1. Logging Matters
- 2. It's really beneficial
- 3. ???
but...
It needs to be done right.
Logging
Common Sources / Inputs
- Applications Logs
- Apache
- Nginx
- Syslog (-ng)
- Custom applications / Languages
C, Ruby, Python, PHP, Perl, NodeJS, Java...
How to parse/store multiple data inputs ?
note: performance matters!
Fluentd is an open source data collector
It let's you unify the data collection for a better use and understanding of data.
Fluentd
Highlights
- High Performance
- Built-in Reliability
- Structured Information/Logs
- Pluggable Architecture
- More than 300 plugins (input/filtering/output)
Fluentd
Before
Fluentd
After
Configuration
Who uses Fluentd in Production ?
Logging and other use cases
Logging and other use cases
We collect
500.000 events per second!
Logging and other use cases
Logging
More use cases
- Internet of Things (IoT)
- Embedded Applications
- OS Containers (Docker)
We talked mostly about Server applications, let's talk now about
- ther contexts:
The fun continues ;)
Internet of Things (IoT)
Internet of Things
Facts
- IoT will grow to many billions of devices over the next decade.
- Now it's about device to device connectivity.
- Different frameworks and protocols are emerging.
- It needs Logging.
Internet of Things
Frameworks
In order to solve the device to device connectivity and proper messaging, multiple framework/stacks are emerging, all of them backed by different companies and vendors. The most remarkable at the moment are:
Brillo, by Google
Just announced, no logo..sorry!
Internet of Things
Logging
- How do we approach data collection for IoT ?
- How can we improve our IoT based product if we have data
from thousand of devices with multiple sensors, meaning many inputs ?
Embedded
Embedded
Importance of the Embedded Market
- Embedded devices are everywhere:
- Medical Devices
- Automotive
- Home Automation
- Many...
Fluentd for Embedded ?
Fluent Bit
Objective
- Services
- Sensors / Signals / Radios
- Operating System Info
- Automotive / Telematics
Open Source data collection tool for Embedded Linux:
Fluent Bit
Requirements
- Lightweight
- Written in C Language.
- Customizable, pluggable architecture.
- Integrate with Fluentd
An Embedded environment requires special handling, specifically on performance and resources utilization, for hence it needs to be:
Fluent Bit
Requirements
- Support custom Inputs
- Support custom Outputs
- Use Binary Serialization (MessagePack)
- Configurable (though file system files)
Features
Fluent Bit
Features
- Collection & Distribution.
- Built-in system metrics.
- C API for Developers (WIP).
- Integration with third party services.
- Open Source / Apache License v2.0
Fluentd Integration
Fluent Bit
Integration
Direct Output
Fluent Bit
Direct Output
Examples
Fluent Bit
Built-in Metrics: CPU usage
Fluent Bit
Kernel Log Messages
Fluent Bit
Configuration Example
Roadmap
Fluent Bit
Roadmap
- Library mode.
- Support a stock of sensors (inputs).
- HTTP input.
- Release first stable version, work in process!
- Documentation.
github.com/fluent/fluentd github.com/fluent/fluent-bit Eduardo Silva @edsiper / eduardo@treasuredata.com
Thanks!
http://fluentd.org http://fluentbit.io We are Hiring!