Before Install
You MUST set up your environment according to the steps below before installing Fluentd. Failing to do so will be the cause of many unnecessary problems.
Set Up NTP
It's HIGHLY recommended that you set up NTP daemon (e.g. chrony, ntpd, etc) on the node to have accurate current timestamp. This is crucial for the production-grade logging services. For AWS (Amazon Web Services) users we recommend to use Amazon Time Sync Service, AWS hosted NTP server. Please check AWS EC2: Setting the Time for Your Linux Instance.
Increase Max # of File Descriptors
Please increase the maximum number of file descriptors. You can check the current number using the ulimit -n
command.
If your console shows 1024
, it is insufficient. Please add following lines to your /etc/security/limits.conf
file and reboot your machine.
This 65536
is safer value for large deployment. The required number of file descriptors depends on your fluentd plugins and setting. Here are the estimation examples:
in_tail: The number of watching files
in_forward: The number of incoming access
buf_file: The number of buffer chunks. It is configured via buffer parameters
output: The used file descriptors are less than others. Temporary
file for upload, connection pooling in the client library, etc
Optimize Network Kernel Parameters
For high load environments consisting of many Fluentd instances, please add these parameters to your /etc/sysctl.conf
file. Please either type sysctl -p
or reboot your node to have the changes take effect.
These kernel options were originally taken from the presentation "How Netflix Tunes EC2 Instances for Performance" by Brendan Gregg, Senior Performance Architect at AWS re:Invent 2017.
If this article is incorrect or outdated, or omits critical information, please let us know. Fluentd is a open source project under Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.
Last updated