2015-12-15 8:24 GMT+01:00 David Lang <[email protected]>:
> Ok, this shows that the queues at this point in time are pretty empty, but
> at some point they had filled up. If they all filled up at the same time (a
> reasonable possibility), you had ~23K messages queued at one point.
>
> do you use fixedarray or linkedlist as your queue type?
>
> do you do much parsing of the logs? I don't know exactly how the memory is
> accounted for, but if you have a message size of 10K, and have it parsed
> into many messages, your $! variables are going to be more than 10K by
> themselves. I don't know if $msg and $rawmsg are separate copies in ram or
> just pointers into the original message. The ES module would create a large
> string of the entire batch it's trying to process before sending it to the
> ES server (what's your batch size? you would have hit it right after the
> outage where you were unable to deliver to ES)?
>
> it still seems a stretch for 23K messages to use 6G of ram. that's
> ~250K/message when you have a max message size of 10K (if I've done my math
> right). If we were talking a factor of 3x or 4x I would shrug and put it
> down to plain overhead, but 25x seems a bit much :-)
>
> Let's see if Rainer has any other thoughts when he wakes up in the next few
> hours.

I would prefer if we look into 8.15, simply because I *know* it has
some fixes for memleaks that very seldom show up. If the problem
persists, it makes sense to debug, but I'd prefer not to hunt
potentially fixed bugs...

Rainer
>
> David Lang
>
> On Tue, 15 Dec 2015, Ciprian Hacman wrote:
>
>> Date: Tue, 15 Dec 2015 08:43:52 +0200
>> From: Ciprian Hacman <[email protected]>
>> Reply-To: rsyslog-users <[email protected]>
>> To: rsyslog-users <[email protected]>
>> Subject: Re: [rsyslog] Rsyslog using huge amounts of memory
>>
>>
>> Hi Peter,
>>
>> Just checked and impstats were actually enabled. Here is the sample before
>> restart:
>>
>> Dec 14 09:25:09 host1 rsyslogd-pstats: omelasticsearch:
>> origin=omelasticsearch submitted=198115631 failed.http=260
>> failed.httprequests=2 failed.es=58720
>> Dec 14 09:25:09 host1 rsyslogd-pstats: test-norm-direct:
>> origin=core.action
>> processed=197076777 failed=0 suspended=0 suspended.duration=0 resumed=0
>> Dec 14 09:25:09 host1 rsyslogd-pstats: test-es-direct: origin=core.action
>> processed=197076777 failed=0 suspended=0 suspended.duration=0 resumed=0
>> Dec 14 09:25:09 host1 rsyslogd-pstats: test-norm: origin=core.action
>> processed=1040122 failed=0 suspended=0 suspended.duration=0 resumed=0
>> Dec 14 09:25:09 host1 rsyslogd-pstats: test-es: origin=core.action
>> processed=1039926 failed=0 suspended=0 suspended.duration=0 resumed=0
>> Dec 14 09:25:09 host1 rsyslogd-pstats: resource-usage: origin=impstats
>> utime=5859695897 stime=206002475 maxrss=6587196 minflt=15802757
>> majflt=19279 inblock=3838232 oublock=2238104 nvcsw=5667006 nivcsw=596991
>> Dec 14 09:25:09 host1 rsyslogd-pstats: test-es-direct queue:
>> origin=core.queue size=75 enqueued=197076777 full=1742 discarded.full=1423
>> discarded.nf=0 maxqsize=10000
>> Dec 14 09:25:09 host1 rsyslogd-pstats: test-es queue: origin=core.queue
>> size=0 enqueued=1039926 full=0 discarded.full=0 discarded.nf=0
>> maxqsize=2888
>> Dec 14 09:25:09 host1 rsyslogd-pstats: main Q: origin=core.queue size=27
>> enqueued=198705203 full=0 discarded.full=0 discarded.nf=0 maxqsize=9765
>>
>>
>> Ciprian
>>
>> --
>> Performance Monitoring * Log Analytics * Search Analytics
>> Solr & Elasticsearch Support * http://sematext.com/
>>
>> On Tue, Dec 15, 2015 at 7:57 AM, Peter Portante
>> <[email protected]>
>> wrote:
>>
>>> On Tue, Dec 15, 2015 at 12:30 AM, Ciprian Hacman <
>>> [email protected]> wrote:
>>>
>>>> Hi David,
>>>>
>>>> maxMessageSize="10000"
>>>> queue.size="10000" - main queue
>>>> queue.size="10000" - elasticsearch queue
>>>>
>>>> Based on my calculations this brings me to a max of 200MB of memory,
>>>
>>> maybe
>>>>
>>>> a little more depending on how maxMessageSize is calculated.
>>>>
>>>> I read logs from a file and push them to Elasticsearch (on the same
>>>> network), so TCP is the only possibility. This server has a very simple
>>>> setup.
>>>>
>>>> If I don't find the reason for this issue, I might have to go implement
>>>
>>> the
>>>>
>>>> forwarding to a central location and push to Elasticsearch from there.
>>>>
>>>> Thanks,
>>>> Ciprian
>>>>
>>>> --
>>>> Performance Monitoring * Log Analytics * Search Analytics
>>>> Solr & Elasticsearch Support * http://sematext.com/
>>>>
>>>> On Tue, Dec 15, 2015 at 12:52 AM, David Lang <[email protected]> wrote:
>>>>
>>>>> what is your maxmessagesize and your max queue size? rsyslog will use
>>>
>>> up
>>>>>
>>>>> to maxmessagesize*maxqueuesize ram to buffer messages if they can't be
>>>>> delivered.
>>>>>
>>>>> you probably want to set these values smaller rather than setting
>>>>> something up to kill rsyslog when it gets large.
>>>>>
>>>>> What is the transport you use to deliver the logs from these systems?
>>>>>
>>>>> I like to setup log redundant log relay servers in each datacenter and
>>>>> then have all the systems log to these relays via UDP. UDP is reliable
>>>>
>>>> over
>>>>>
>>>>> a local network, but if there is a problem with the receiving system,
>>>
>>> it
>>>>>
>>>>> will go ahead and loose logs rather than affecting the sending system.
>>>>>
>>>>> David Lang
>>>>>
>>>>>
>>>>>
>>>>> On Mon, 14 Dec 2015, Ciprian Hacman wrote:
>>>>>
>>>>> Hi David,
>>>>>>
>>>>>>
>>>>>> Yes, killing Rsyslog is a last resort, but for most people I think
>>>>>> shipping
>>>>>> logs is a secondary function on a server. Would prefer that Rsyslog
>>>>>> doesn't
>>>>>> interfere with other apps.
>>>>>>
>>>>>> I usually enable impstats, though on these particular server the
>>>
>>> queues
>>>>>>
>>>>>> are
>>>>>> really tiny so that it doesn't use that much memory. I would expect
>>>
>>> some
>>>>>>
>>>>>> memory usage fluctuations when Elasticsearch doesn't respond, but
>>>>
>>>> nothing
>>>>>>
>>>>>> as extreme as using 6GB of memory.
>>>>>>
>>>>>> If changes in 8.15 don't help, I think I have to spend a few hours
>>>>
>>>> trying
>>>>>>
>>>>>> to reproduce this.
>>>>>>
>>>>>> Thanks,
>>>>>> Ciprian
>>>>>>
>>>>>> --
>>>>>> Performance Monitoring * Log Analytics * Search Analytics
>>>>>> Solr & Elasticsearch Support * http://sematext.com/
>>>>>>
>>>>>> On Mon, Dec 14, 2015 at 8:17 PM, David Lang <[email protected]> wrote:
>>>>>>
>>>>>> On Mon, 14 Dec 2015, Ciprian Hacman wrote:
>>>>>>>
>>>>>>>
>>>>>>> Hi,
>>>>>>>
>>>>>>>>
>>>>>>>> We are noticing some Rsyslog instances that push about 500MB of logs
>>>>>>>> daily
>>>>>>>> to an Elasticsearch instance, so not that much. We noticed one of
>>>
>>> the
>>>>>>>>
>>>>>>>> Rsyslog processes using about 6GB of RAM. Usually this is less than
>>>>
>>>> 1MB.
>>>>>>>>
>>>>>>>>
>>>>>>>> I plan on debugging this in the next few days, but wanted to see
>>>
>>> also
>>>>
>>>> if
>>>>>>>>
>>>>>>>> there is a good idea to add a RSS limit (doable in Upstart and
>>>>
>>>> Systemd)
>>>>>>>>
>>>>>>>> and
>>>>>>>> kill / restart Rsyslog when it gets into such a situation.
>>>>>>>>
>>>>>>>>
>>>>>>> killing/restarting rsyslog is a last resort. large memory usage
>>>
>>> usually
>>>>>>>
>>>>>>> means that you have lots of logs that aren't delivered and are
>>>
>>> sitting
>>>>>>>
>>>>>>> in a
>>>>>>> queue somewhere.
>>>>>>>
>>>>>>> do you have impstats configured?
>>>>
>>>>
>>>
>>> Ciprian, are you going to enable impstats?  I'd be curious to know what I
>>> shows.
>>>
>>> Thanks, -peter
>>>
>>>
>>>
>>>> if not, it's a _really_ good idea to
>>>>>>>
>>>>>>> configure it and have it write either directly to a file (log
>>>
>>> rotation
>>>>
>>>> of
>>>>>>>
>>>>>>> this file is a bit of an issue) or to it's own ruleset. either way
>>>>
>>>> means
>>>>>>>
>>>>>>> that a blockage in normal log processing will not affect the pstats
>>>>
>>>> logs.
>>>>>>>
>>>>>>> These logs will show you if you have queues building up and where.
>>>>>>>
>>>>>>> David Lang
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> rsyslog mailing list
>>>>>>> http://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.
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>
>>>>>> rsyslog mailing list
>>>>>> http://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.
>>>>>>
>>>>>> _______________________________________________
>>>>>
>>>>> rsyslog mailing list
>>>>> http://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.
>>>>>
>>>> _______________________________________________
>>>> rsyslog mailing list
>>>> http://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.
>>>>
>>> _______________________________________________
>>> rsyslog mailing list
>>> http://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.
>>>
>> _______________________________________________
>> rsyslog mailing list
>> http://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.
>>
> _______________________________________________
> rsyslog mailing list
> http://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.
_______________________________________________
rsyslog mailing list
http://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