2. About Me
Eduardo Silva
●
Github & Twitter @edsiper
●
Personal Blog http://edsiper.linuxchile.cl
Treasure Data
●
Open Source Engineer
●
Fluentd / Fluent Bit http://github.com/fluent
Projects
●
Monkey HTTP Server http://monkey-project.com
●
Duda I/O http://duda.io
4. Embedded World
It's not new...
●
Embedded systems have been around for
decades: automotive, medical devices, cameras, etc.
●
Hardware resources are very limited.
●
Embedded is emerging within a new concept: IoT
6. 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.
9. IoT and Big Data
Analytics
IoT requires a generic solution to collect events and
data from different sources for further analysis.
Data can come from a specific framework, radio device,
sensor and others. How do we collect and unify data
properly ?
10. Internet of Things
Market needs
The IoT market is growing and the device to device
connectivity is a must, for hence a strong and fair
software platform is required for a reliable system.
11. IoT Software Layers
Interoperability
Hardware vendors are aware that interoperability with
third party products is a success key. A generic
software layer across products is the answer.
16. Fluent Bit
Requirements
IoT and Embedded environment requires special
handling, specifically on performance and resources:
●
Lightweight
●
Written in C Language
●
Customizable, pluggable architecture
●
Full integration with Fluentd
20. Fluent Bit
and Fluentd
Fluentd Fluent Bit
Scope Servers Embedded & IoT devices
Language C & Ruby C
Performance High Performance High Performance
Dependencies Built as a Ruby Gem, it
requires a certain number of
gems.
Zero dependencies, unless some
special plugin requires them.
Plugins More than 300 plugins
available
Less than 10 plugins available
26. Architecture
Input Plugins (as of 0.2 dev)
xbee get messages from XBee radio devices.
cpu metric plugin, gather and calculate CPU
usage.
mem metric plugin, gather system memory usage.
kmsg get messages from the Linux Kernel Log.
serial get messages from the Serial input interface.
stdin get messages from the standard input
interface.
mqtt MQTT TCP server, get publish messages.
29. Architecture
Stack Providers
Fluent Bit have three dependencies
which are distributed in the source
code and are linked statically.
These components are helpers for
the Engine and Plugins Manager.
31. Architecture
mbedTLS
mbedTLS provides a Transport
Layer Security (TLS) for network
operations, for short, It provides TLS
and SSL encryption for network
operations that require secure
channels.
32. Architecture
Monkey
Monkey is a web server that provides
an embeddable HTTP stack and some
extra routines to handle configuration
files, memory handling, event loops,
string manipulation within others.