You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, I am trying to use Logstash with input-tcp and codec-netflow plugin to receive IPFIX (netflow v10) from a device.
The device I am using that is generating the IPFIX data has the following behavior:
The first time it is to send a data record, it opens a TCP connection to the IPFIX collector (Logstash)
Once the TCP connection is established it sends all template records in the first IPFIX message.
Immediately afterwards, it send the data record (as the second IPFIX message)
Keeps the TCP connection open
Uses open TCP connection to send future data records without resending template
In my testing I have observed that any data-record that Logstash received within the first ~50-200ms of template-record, get's silently dropped (never shows up in any log). This means the Logstash is losing important data from the device (which transmits at long intervals, so losing the first record is a huge detriment).
In the pcap, frame 4 is the template record, and 6,8,10,12 are the data records. As can be seen from the rubydebug stdout, only frames 10 and 12 make it through, frames 6 and 8 are dropped.
Thanks for taking the time to draft such a detailed issue report! Like!
I think this issue can be attributed to the fact that we don't implement a "MAY" requirement from the IPFIX RFC. (See chapter 8 template management. The entire IPFIX RFC compliance is tracked in #83):
"...the Collecting Process MAY buffer Data Records for which it has no Templates..."
Currently we already don't implement a high number of MUST and SHOULD requirements, so this won't get much attention for the foreseeable future.
Obviously, you're very much welcome to contribute code and tests to resolve this issue!
Hi, I am trying to use Logstash with input-tcp and codec-netflow plugin to receive IPFIX (netflow v10) from a device.
The device I am using that is generating the IPFIX data has the following behavior:
In my testing I have observed that any data-record that Logstash received within the first ~50-200ms of template-record, get's silently dropped (never shows up in any log). This means the Logstash is losing important data from the device (which transmits at long intervals, so losing the first record is a huge detriment).
I have simulated the IPFIX stream to help troubleshoot:
Example packet capture: https://drive.google.com/file/d/0B3VctabAy1c9bDBUNHJNdnNZeXM/view?usp=sharing
Stdout rubydebug:
In the pcap, frame 4 is the template record, and 6,8,10,12 are the data records. As can be seen from the rubydebug stdout, only frames 10 and 12 make it through, frames 6 and 8 are dropped.
Relevant information:
Logstash version:
Plugin version:
Running docker image
docker.elastic.co/logstash/logstash:5.6.3
Host OS: Ubuntu 16.04
logstash.conf
logstash.yml
Lastly,
--log.level=debug
crashes logstash, so I cannot post the debug log output.Please let me know if there is any other data that might be useful, or anything I should try.
Thanks,
Stefan
The text was updated successfully, but these errors were encountered: