Replies: 1 comment 1 reply
|
I would separate message framing from backpressure before increasing capacity. The posted errors don't yet prove that Fortigate is sending incorrect lengths.
Your output also changes framing to For throughput, random sharding is not load-aware: events assigned to a slow/full sink are not automatically reassigned to a healthier one. With A useful isolated test is the same input/route setup with fast local consumers, then deliberately slow one consumer while watching per-sink buffer occupancy and sent-event rates. If that reproduces the source zero-window condition, you have downstream/topology backpressure rather than evidence of an overall 8-core throughput ceiling. Finally, |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Question
Hi
We've implemented Vector as our solution for per Syslog message load balancing due to our environment consisting of high volume and very low volume senders (in the testing phase mostly Fortinet Fortigate), which a L3/L4 load balancer could not adequatly distribute to our Elastic agent forwarders. In total we expect around 200k EPS continously which adds up to 20MB/s.
We've got 1500 senders which send to two vector instances through a round robin L3 load balancer. Vector in turn has 60 sinks which point to Elastic Agents.
Source devices -> load balancer -> 2 Vector -> 60 Elastic Agents.
As the only thing we need is even distribution of messages our Vector config was planned to be as simple as possible and leave the original message untouched. With that we have two issues:
We've optet to octet_counting because we are not interested in any parsing of the message. However, we've seen log messages indicating issues with the built-in utf8 check for that particular framing method.
On the host we've tuned our TCP config so it should theoretically be able to handle the load:
Vector runs on 8 CPUs with about 30% load on each.
I haven't found much in terms of similar setups and would greatly appreciate if someone could tell me if we're completely off track with our thoughts recarding the vector configuration with the goal we want to achieve or if it's simply a limitation of what vector can handle (other discussions talk about 70MB/s throughput) and we need to scale horizontally. In terms of the broken messages I assume that's because Fortigate sends its Logs with wrong octet counts, currently I have no idea how we could fix that.
Vector Config
Vector Logs
All reactions