I have used td agent for forwader as well as aggregator. I want to
ensure that aggregator fuentd process atleast 25000 lines per second of
forwarded logs. I used multi process plugin in fluentd aggregator with
num_threads to 2 for each process. i have configured 4 process using
multi process plugin. In forwader i used tail plugin to forward the logs
to aggregator with flush interval of 5 sceonds (total line of log file
is 100000 and size is 18MB). But i have get an average of 5000 lines per
second in aggregator to process and generate buffer files.
Config files#Forwarder 01<source>
type tail
path /logs/tester/testlog.log
pos_file /var/log/td-agent/file.log.pos
read_lines_limit 25000
read_from_head true
format none
tag squid.secure
log_level trace
</source>
# To aggregator nodes
<match squid.secure>
type secure_forward
self_hostname Forwarder1
shared_key MyKey
secure yes
ca_cert_path /etc/pki/tls/certs/ca_cert.pem
enable_strict_verification no
#buffer
buffer_type file
buffer_path /logs/tester/buffer/td
buffer_chunk_limit 32m
buffer_queue_limit 4000
flush_interval 5s
retry_wait 1m
log_level trace
num_threads 2
<server>
host 192.168.4.25 # or IP
port 24224
</server>
<server>
host 192.168.4.25 # or IP
port 24225
</server>
<server>
host 192.168.4.25 # or IP
port 24226
</server>
<server>
host 192.168.4.25 # or IP
port 24227
</server>
<secondary>
type file
path /logs/tester/failed/fail
</secondary>
</match>
#Aggregator<source>
type secure_forward
bind 0.0.0.0 # default
port 24224 # default
self_hostname Aggregator1
shared_key MyKey
secure yes
ca_cert_path /etc/pki/tls/certs/ca_cert.pem
ca_private_key_path /etc/pki/tls/certs/ca_key.pem
ca_private_key_passphrase ----------------
log_level trace
</source>
<source>
@type multiprocess
<process>
cmdline -c /etc/td-agent/td-agent1.conf --log /var/log/td-agent/td-agent1.
log
sleep_before_start 3s
sleep_before_shutdown 5s
</process>
<process>
cmdline -c /etc/td-agent/td-agent2.conf --log /var/log/td-agent/td-agent2.log
sleep_before_start 3s
sleep_before_shutdown 5s
</process>
<process>
cmdline -c /etc/td-agent/td-agent3.conf --log /var/log/td-agent/td-agent3.log
sleep_before_start 3s
sleep_before_shutdown 5s
</process>
log_level trace
</source>
.....
.......
<match anonymizer.secure>
type azurestorage
......
.......
#buffering
buffer_type file
buffer_path /datadrive/buffer/td
buffer_chunk_limit 32m
buffer_queue_limit 16384
flush_interval 2m
retry_wait 1m
num_threads 2
log_level trace
</match>
Forwarder machine :- 7GB RAM, Total CPU cores -2
AAggregator machine- 14GB RAM, Total CPU cores - 4
can anyone help to improve aggregator performance to process 25000 lines per second