Score:2

Huge CPU usage when enable rsyslog TLS

ru flag

We currently using rsyslog for gathering logs from ~1M IoT devices, we used to use plain-text UDP syslog and our server handling those just fine with minimal system load, but now because we need to send some sensitive data inside the syslog so we decided to enable TLS but after tried it with just 20k devices, our server keeps dropping logs because all the CPU cores are loaded at 100%.

It looks like that TCP TLS isn't very suitable for this large amount of requests because the syslog client just sent a message then disconnect, forcing it to redo the TLS handshake process every time it wants to send a log. Is there any other encryption mechanism included with rsyslog that I could've used? I was thinking of some sort of asymmetric encryption with a static key so it doesn't have to do the handshake every time?

I've thought about VPN but OpenVPN will create an even bigger load on the VPN server meanwhile our client hardware doesn't have a recent enough kernel for a lightweight Wireguard setup.

Our current rsyslog server is having 40 cores (80 HT), 48GB RAM so if we have to buy more server for setup some sort of load balancing system then there will be a significant cost constrain.

djdomi avatar
za flag
1m iot devices? What the h... are you doing?
minhng99 avatar
ru flag
Yeah... we really don't want those to get hacked :)
mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.