Hi Yuri

Unfortunately mmfields module is not installed for our RedHat machines, and
these are air gapped machines which cannot download the package.

Would it be possible to use property replacer technique to parse out the
field?


Regards,
Scorsese P.

On Sun, Oct 4, 2020 at 11:12 PM Yuri Bushmelev <[email protected]> wrote:

> Hello!
>
> From what I see you have 5 conditions. 4 of them doing full-scan of $msg
> on every incoming message. What I'd suggest is to parse the message first
> using a `mmnormalize`/`mmfields`/`mmpstructdata` module. Then you can refer
> to fields extracted in your conditions instead to prevent full message scan.
>
> I can guess you may be using the iptables message format. So you may check
> this liblognorm field type:
> https://www.liblognorm.com/files/manual/configuration.html#iptables
>
>
> On Sun, 4 Oct 2020 at 21:30, Kype Ahamed via rsyslog <
> [email protected]> wrote:
>
>> Hello,
>>
>> I am using rsyslog mainly as a syslog relay, to forward messages from 1
>> source device to multiple destination devices.
>>
>> Right now i am receiving about 50k messages per second, and i noticed CPU
>> usage is constantly above 80%
>>
>> Are there any further tweaks that can be done to below config to reduce
>> the
>> CPU usage?
>>
>> -------------------------------------------------
>> rsyslog config file:
>>
>> module(load="impstats"
>> interval="20"
>> severity="7"
>> log.syslog="off"
>> log.file="/var/log/impstats.log")
>>
>> global(parser.escapecontrolcharactertab="off")
>>
>> # Load Modules #
>> module(load="imudp" TimeRequery="5" BatchSize="64")
>>
>> # rsyslog Templates #
>> template(name="testMachineHeader" type="string"
>> string="%TIMESTAMP:::date-rfc3164% testMachine %rawmsg:::drop-last-lf%\n")
>> template(name="rawTemplate" type="string"
>> string="%rawmsg:::drop-last-lf%\n")
>>
>> # rsyslog Input Modules #
>> input(type="imudp"
>> port="10514"
>> ruleset="forwardToDestRule"
>> device="eth0"
>> )
>>
>>
>>
>> # rsyslog RuleSets #
>> ruleset(name="forwardToDestRule"
>>       queue.type="fixedArray"
>>       queue.size="25000"
>> ) {
>> if ($msg contains "interface=inbound" and $msg contains "source=10.1.1.1")
>> then {
>>       action(type="omfwd"
>>       Target="10.1.1.5"
>>       Port="514"
>>       Protocol="tcp"
>>       Device="eth0"
>>       queue.type="fixedArray"
>>       queue.size="50000"
>>       queue.dequeueBatchSize="1024"
>>       template="testMachineHeader")
>> }
>> else{
>>       action(type="omfwd"
>>       Target="10.1.1.6"
>>       Port="514"
>>       Protocol="udp"
>>       Device="eth0"
>>       queue.type="fixedArray"
>>       queue.size="50000"
>>       action.resumeRetryCount="-1"
>>       template="rawTemplate")
>> }
>>
>> if ($msg contains "interface=outbound" and $msg contains
>> "source=10.1.1.1")
>> then {
>>       if ($msg contains "proto=17") then {
>>             action(type="omfwd"
>>             Target="10.1.1.7"
>>             Port="514"
>>             Protocol="udp"
>>             Device="eth0"
>>             queue.type="linkedlist"
>>             queue.size="50000"
>>             action.resumeRetryCount="-1"
>>             template="rawTemplate")
>>             }
>>       }
>>
>> }
>>
>> -------------------------------------------------
>>
>> Top -H output:
>>
>> top - 08:53:26 up  1:55,  1 user,  load average: 2.32, 1.50, 1.07
>> Threads: 112 total,   7 running, 105 sleeping,   0 stopped,   0 zombie
>> %Cpu(s): 23.4 us, 53.5 sy,  0.0 ni,  3.5 id,  0.4 wa,  0.0 hi, 19.1 si,
>>  0.0 st
>> KiB Mem :  7972668 total,  7475888 free,   250088 used,   246692
>> buff/cache
>> KiB Swap:  4063228 total,  4063228 free,        0 used.  7449764 avail Mem
>>
>>    PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+
>> COMMAND
>>   2567 root      20   0  639540  16836  12416 R 32.4  0.2   1:11.53
>> rs:action 2 que
>>   2566 root      20   0  639540  16836  12416 R 30.1  0.2   1:11.32
>> rs:action 1 que
>>   2551 root      20   0  639540  16836  12416 R 14.1  0.2   0:30.68
>> in:imudp
>>   2565 root      20   0  639540  16836  12416 R 11.1  0.2   0:31.94
>> rs:forwardToDes
>>    600 root      20   0  100676  38508  38184 S  6.2  0.5   0:33.62
>> systemd-journal
>>
>> -------------------------------------------------
>>
>> impstats output:
>>
>> Sun Oct  4 08:46:49 2020: global: origin=dynstats
>> Sun Oct  4 08:46:49 2020: imuxsock: origin=imuxsock submitted=0
>> ratelimit.discarded=0 ratelimit.numratelimiters=0
>> Sun Oct  4 08:46:49 2020: action 0: origin=core.action processed=0
>> failed=0
>> suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: action 1: origin=core.action processed=1341545
>> failed=0 suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: action 2: origin=core.action processed=1341545
>> failed=0 suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: action 3: origin=core.action processed=4022
>> failed=0 suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: action 4: origin=core.action processed=1
>> failed=0
>> suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: action 5: origin=core.action processed=0
>> failed=0
>> suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: action 6: origin=core.action processed=0
>> failed=0
>> suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: action 7: origin=core.action processed=0
>> failed=0
>> suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: action 8: origin=core.action processed=0
>> failed=0
>> suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: action 9: origin=core.action processed=0
>> failed=0
>> suspended=0 suspended.duration=0 resumed=0
>> Sun Oct  4 08:46:49 2020: imudp(*:10514): origin=imudp submitted=1341849
>> Sun Oct  4 08:46:49 2020: imudp(*:10514): origin=imudp submitted=0
>> Sun Oct  4 08:46:49 2020: resource-usage: origin=impstats utime=9190927
>> stime=25608171 maxrss=12244 minflt=166970 majflt=0 inblock=0 oublock=4368
>> nvcsw=37503 nivcsw=339
>> Sun Oct  4 08:46:49 2020: action 0 queue: origin=core.queue size=0
>> enqueued=0 full=0 discarded.full=0 discarded.nf=0 maxqsize=0
>> Sun Oct  4 08:46:49 2020: action 1 queue: origin=core.queue size=0
>> enqueued=1341545 full=0 discarded.full=0 discarded.nf=0 maxqsize=5227
>> Sun Oct  4 08:46:49 2020: action 2 queue: origin=core.queue size=252
>> enqueued=1341545 full=0 discarded.full=0 discarded.nf=0 maxqsize=6051
>> Sun Oct  4 08:46:49 2020: forwardToDestRule: origin=core.queue size=304
>> enqueued=1341849 full=0 discarded.full=0 discarded.nf=0 maxqsize=1003
>> Sun Oct  4 08:46:49 2020: main Q: origin=core.queue size=0 enqueued=4023
>> full=0 discarded.full=0 discarded.nf=0 maxqsize=64
>> Sun Oct  4 08:46:49 2020: imudp(w0): origin=imudp called.recvmmsg=40859
>> called.recvmsg=0 msgs.received=1341849
>>
>> -------------------------------------------------
>>
>>
>> Regards,
>> Scorsese P.
>> _______________________________________________
>> rsyslog mailing list
>> https://lists.adiscon.net/mailman/listinfo/rsyslog
>> http://www.rsyslog.com/professional-services/
>> What's up with rsyslog? Follow https://twitter.com/rgerhards
>> NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad
>> of sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you
>> DON'T LIKE THAT.
>>
>
>
> --
> Yury Bushmelev
>
_______________________________________________
rsyslog mailing list
https://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to