When using syslog-ng server my syslog data is 'pinning' to a single stream worker process when sending syslog over TCP. Am sending too much data for that single WP to handle?
How can I prevent my syslog-ng server from pinning to a single stream worker process
Best answer by Michael Donnelly
The normal recommendation from Cribl would be to phase out your Syslog-NG server, and use Cribl to directly receive Syslog events from all of your senders. (You won't have TCP connection issues where Syslog-NG gets "stuck" on a single worker process, if you're not using Syslog-NG.)
You may still have situations with high-volume TCP senders, sending over 400GB/day. As noted by Michael Hocke, you might consider switching those specific senders to use UDP rather than TCP. (UDP doesn't have "sessions" like TCP does.) Some senders (including Syslog-NG) support the distribution of the data across a pool of targets, or support multiple connections to the same target.
For high volume senders that do not support sending to multiple destinations, the HA-Proxy approach mentioned by Balasz works. Send from high-volume TCP syslog devices to HA Proxy, and HA proxy will distribute the events across multiple Cribl workers.
Lastly, check out Cribl's Syslog Best Practices page. You might find it useful.
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.

