Hi users!
6 days after the last relase, we shipped the latest release, Fluentd v0.14.5. It's a bit quick release from the last one, to fix a problem which affects many people who tries Fluentd with existing configurations.
This release also includes some feature improvements. The biggest one is the update of Fluentd forward protocol and forward input/output plugins, to support authentication and authorization.
Here are major changes (full ChangeLog is available here):
Fluentd forward plugins are to transfer Fluentd's events from one node to another via network. It's widely used by Fluentd processes, Docker logging driver for Fluentd, Fluent logger for programming languages and many others.
Before v0.14.5, Forward plugins/protocol was very simple one, to transfer events, without providing any safety, including network ACL, shared keys or password authentication. It was called as Forward Protocol version 0. Anyone who can connect TCP ports of in_forward
can inject events into Fluentd processes on that version.
At v0.14.5, forward input/output plugins support Fluentd Forward Protocol version 1. This new protocol is perfectly compatible with older version 0, and provides the features below in addition to it.
in_forward
) authentication using shared keyout_forward
) authorization using shared key (per client) and pair of username/passwordOnce in_forward
is configured with <security>
section, the only nodes which are configured with correct shared_key
and username/password can connect to that node.
# in_forward
<source>
@type forward
port 24224
<secure>
self_hostname aggregator1.fluentd.local
shared_key my_secret_string
user_auth true
<user>
username user1
password pass1
</user>
<user>
username user2
password pass2
</user>
<client>
network 10.0.0.0/16
users user1,user2
</client>
<client>
# more secure area
network 192.168.0.0/24
shared_key more_secret_string
useers user1
</client>
</secure>
</source>
# out_forward
<match secure.data.*>
@type forward
<security>
self_hostname edge110.fluentd.local
shared_key my_secret_string
</security>
<server>
host 10.0.0.1
port 24224
username user1
password pass1
</server>
</match>
For now, This version doesn't provide encryption like SSL/TLS. So this authentication/authorization will be done on raw TCP transportation. Forward plugins never send raw shared keys and passwords... but you may have to wait next (or more) released to support SSL/TLS communication if you want more secure configurations (it's in our plan).
One good news: Fluentd forward protocol v1 is just same with the protocol implemented on fluent-plugin-secure-forward (except for TCP or SSL/TLS).
So you can configure the total architecture like below using out_secure_forward
, in_forward
(v0.14.5) and SSL/TLS terminator like AWS ELB.
[out_secure_forward] ---> (SSL/TLS over internet) ---> [AWS ELB] ---> (TCP in AWS VPC) ---> [in_forward]
This configuration works pretty well, because Fluentd doesn't consume its CPU for encryption and decryption.
@type
in configuration file #1202Enjoy logging!
Subscribed to the RSS feed here.
Satoshi (a.k.a. Moris) (@tagomoris) is a maintainer of Fluentd. He works on Fluentd, many Fluentd plugins, other OSS projects like msgpack-ruby, Norikra and so on, and distributed systems at Treasure Data.
Fluentd is an open source data collector to unify log management.
2024-08-29: Scheduled support lifecycle announcement about Fluent Package v6
2023-08-29: Drop schedule announcement about EOL of Treasure Agent (td-agent) 4
2023-08-29: Scheduled support lifecycle announcement about Fluent Package
2023-07-31: Upgrade to fluent-package v5
2024-12-14: fluent-package v5.2.0 has been released
2024-11-29: Fluentd v1.18.0 has been released
2024-11-08: fluent-package v5.0.5 has been released
2024-08-29: Scheduled support lifecycle announcement about Fluent Package v6
2024-08-20: Fluentd v1.16.6 has been released
2024-08-19: Fluentd v1.17.1 has been released
2024-08-02: fluent-package v5.1.0 has been released
2024-07-02: fluent-package v5.0.4 has been released
2024-04-30: Fluentd v1.17.0 has been released
2024-03-29: fluent-package v5.0.3 has been released
Want to learn the basics of Fluentd? Check out these pages.
Couldn't find enough information? Let's ask the community!
You need commercial-grade support from Fluentd committers and experts?
©2010-2024 Fluentd Project. ALL Rights Reserved.
Fluentd is a hosted project under the Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.