2015-06-18 5:13 GMT+02:00 chenlin rao <[email protected]>:
> yes. you are right.
>
> FYI, This rsyslog server is sending a short msg with 100B size. And I use a
> special ES template with _source disabled for it.
>
> I check another rsyslog server which is sending 600B longmsg and has also a
> nearfull queue, it surely has a large bulk size(18MB). So I don't know
> where the problem is.

Can you pls disable the delay, run stats in 1-minute intervals and
provide the pstats file for a couple of hours -- so that we can see
how things evolve.

Rainer
>
> I use rsyslog-8.10.0.ad1-2.el6.x86_64 on CentOS6.2,
> elasticsearch-1.5.1-1.noarch on CentOS6.5.
>
> 2015-06-18 4:21 GMT+08:00 Radu Gheorghe <[email protected]>:
>
>> But I think what Chenlin is describing is a bug. He basically ends up with
>> small batches, but the queue is getting full. So rsyslog could build bigger
>> batches (there are messages in the queue) but it doesn't. Am I right? If
>> yes, it's a weird thing, I didn't see this issue before :( Maybe a full
>> reproduction (complete config of rsyslog + ES + versions + OSes) would
>> help?
>>
>> --
>> Performance Monitoring * Log Analytics * Search Analytics
>> Solr & Elasticsearch Support * http://sematext.com/
>>
>> On Wed, Jun 17, 2015 at 6:47 PM, singh.janmejay <[email protected]>
>> wrote:
>>
>> > ES uses worker-pool for indexing(there is a worker-pool for
>> > bulk-indexing too). Prioritizing approach may not be easy, and
>> > possibly a little dangerous too, but sizing that thread-pool is
>> > definitely easy. Just size it to your need and it'll shape the
>> > batch-size optimally when under pressure (like David explained).
>> >
>> > On Wed, Jun 17, 2015 at 6:14 PM, chenlin rao <[email protected]>
>> > wrote:
>> > > well, there is something I can't understand: If rsyslog use 10msg per
>> > bulk
>> > > because Elasticsearch keep up the sending speed, why the output queue
>> > has a
>> > > size reached maxsize and discarded.nf/enqueued = 90%.
>> > >
>> > > here is my configuration:
>> > >
>> > > ```
>> > >    action (
>> > >         type="omelasticsearch"
>> > >         template="videotmpl"
>> > >         server="10.13.244.214"
>> > >         dynSearchIndex="on"
>> > >         searchIndex="videoIndexName"
>> > >         searchType="videoaccess"
>> > >         bulkmode="on"
>> > >         name="action_videoaccess-es1003"
>> > >         queue.size="1000000"
>> > >         queue.dequeuebatchsize="40000"
>> > >         queue.discardmark="950000"
>> > >         queue.highwatermark="600000"
>> > >         queue.lowwatermark="400000"
>> > >         queue.discardseverity="3"
>> > >         queue.dequeueslowdown="10000"
>> > >         queue.type="linkedlist"
>> > >         queue.maxdiskspace="15G"
>> > >         queue.maxfilesize="500M"
>> > >         queue.filename="action_videoaccess-es1003"
>> > >         queue.checkpointinterval="10000"
>> > >         queue.saveonshutdown="on"
>> > >     )
>> > > ```
>> > >
>> > > and pstats.log:
>> > >
>> > > ```
>> > > 2015-06-17T12:17:48.708364+08:00 localhost rsyslogd-pstats:
>> > > {"name":"action_videoaccess-es1003
>> > >
>> >
>> queue[DA]","origin":"core.queue","size":27838434,"enqueued":9,"full":735,"discarded.full":9,"
>> > > discarded.nf":0,"maxqsize":28153530}
>> > > 2015-06-17T12:17:48.708370+08:00 localhost rsyslogd-pstats:
>> > > {"name":"action_videoaccess-es1003
>> > >
>> >
>> queue","origin":"core.queue","size":950000,"enqueued":522298,"full":0,"discarded.full":0,"
>> > > discarded.nf":442298,"maxqsize":950000}
>> > > ```
>> > >
>> > > btw: I had try slowdown setting from 10 to 10000, no change to 10 msg
>> per
>> > > bulk.
>> > >
>> > > 2015-06-17 19:54 GMT+08:00 Radu Gheorghe <[email protected]>:
>> > >
>> > >> That might work, thanks for the feedback and the interesting article!
>> > >>
>> > >> --
>> > >> Performance Monitoring * Log Analytics * Search Analytics
>> > >> Solr & Elasticsearch Support * http://sematext.com/
>> > >>
>> > >> On Wed, Jun 17, 2015 at 12:58 PM, David Lang <[email protected]> wrote:
>> > >>
>> > >> > Probably a risk, something to keep an eye on (or watch the pstats
>> from
>> > >> > rsyslog and tweak the priority if the queue too large)
>> > >> >
>> > >> > I also believe that the vast majority of searches that are typically
>> > done
>> > >> > are done wrong (see my dashboards/reports article at
>> > >> >
>> > >>
>> >
>> https://www.usenix.org/publications/login/feb14/logging-reports-dashboards
>> > >> > )
>> > >> >
>> > >> > David Lang
>> > >> >
>> > >> > On Wed, 17 Jun 2015, Radu Gheorghe wrote:
>> > >> >
>> > >> >  This sounds interesting, David. I guess it's possible to renice
>> just
>> > >> some
>> > >> >> threads from an app and make it "nicer", right? Googling a bit it
>> > seems
>> > >> it
>> > >> >> is possible.
>> > >> >>
>> > >> >> The only problem I see with this approach is that searches (and
>> other
>> > >> >> kinds
>> > >> >> of requests from other threadpools
>> > >> >> <
>> > >> >>
>> > >>
>> >
>> https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html
>> > >> >> >)
>> > >> >>
>> > >> >> would automatically have higher priority so, with heavy searches,
>> > >> indexing
>> > >> >> might fall behind more than usual. Am I getting it right?
>> > >> >>
>> > >> >> --
>> > >> >> Performance Monitoring * Log Analytics * Search Analytics
>> > >> >> Solr & Elasticsearch Support * http://sematext.com/
>> > >> >>
>> > >> >> On Wed, Jun 17, 2015 at 11:53 AM, David Lang <[email protected]>
>> wrote:
>> > >> >>
>> > >> >>  Thinking about it, probably the best thing to do is to renice the
>> ES
>> > >> >>> threads that accept the messages from rsyslog. That way if nothing
>> > else
>> > >> >>> needs the capacity, everything works at the fastest insert speed
>> > (even
>> > >> if
>> > >> >>> less optimized than if there were larger batches) But if anything
>> > else
>> > >> on
>> > >> >>> the system need the resources, the indexing threads work slower,
>> > which
>> > >> >>> will
>> > >> >>> result in larger batches.
>> > >> >>>
>> > >> >>> all self tuning.
>> > >> >>>
>> > >> >>> David Lang
>> > >> >>>
>> > >> >>>
>> > >> >>>
>> > >> >>> On Wed, 17 Jun 2015, Radu Gheorghe wrote:
>> > >> >>>
>> > >> >>>  Date: Wed, 17 Jun 2015 10:20:46 +0300
>> > >> >>>
>> > >> >>>> From: Radu Gheorghe <[email protected]>
>> > >> >>>> Reply-To: rsyslog-users <[email protected]>
>> > >> >>>> To: rsyslog-users <[email protected]>
>> > >> >>>> Subject: Re: [rsyslog] how to force a larger omelasticsearch bulk
>> > >> size?
>> > >> >>>>
>> > >> >>>> Maybe this went overlooked, but David suggested earlier that you
>> > can
>> > >> >>>> slowdown the queue to let more messages arrive before sending a
>> > bulk.
>> > >> >>>> queue.dequeueslowdown
>> > >> >>>> <
>> > >> >>>>
>> > >>
>> http://www.rsyslog.com/doc/v8-stable/rainerscript/queue_parameters.html
>> > >> >>>> >
>> > >> >>>> is the option and it's in microseconds.
>> > >> >>>>
>> > >> >>>> I think you have a valid point in that if batches are too small
>> > then
>> > >> >>>> Elasticsearch will do more work than necessary (as indexing in
>> very
>> > >> >>>> small
>> > >> >>>> batches is more expensive). Plus, since the refresh rate (i.e.
>> how
>> > >> long
>> > >> >>>> it
>> > >> >>>> may take for an indexed doc to be visible to searches, because
>> > >> Searchers
>> > >> >>>> reopen their view in the index at a certain interval) is
>> typically
>> > a
>> > >> few
>> > >> >>>> seconds
>> > >> >>>> <
>> > >> >>>>
>> > >> >>>>
>> > >>
>> >
>> http://blog.sematext.com/2013/07/08/elasticsearch-refresh-interval-vs-indexing-performance/
>> > >> >>>>
>> > >> >>>>> ,
>> > >> >>>>>
>> > >> >>>>
>> > >> >>>> waiting a bit before submitting a batch will have no impact on
>> the
>> > >> user
>> > >> >>>> experience.
>> > >> >>>>
>> > >> >>>> On the other hand, in my experience you'll be sending small
>> > batches if
>> > >> >>>> the
>> > >> >>>> indexing rate is low - which means the load on ES is low anyway.
>> So
>> > >> I'm
>> > >> >>>> not
>> > >> >>>> sure if optimizing this will actually give significant results.
>> You
>> > >> >>>> could
>> > >> >>>> introduce that slowdown, but then rsyslog may have trouble
>> keeping
>> > up
>> > >> >>>> when
>> > >> >>>> the load is high. You can compensate by raising the limit of
>> > maximum
>> > >> >>>> worker
>> > >> >>>> threads for the queue (queue.workerthreads) and play with
>> > >> >>>> queue.workerthreadminimummessages and
>> > >> queue.timeoutworkerthreadshutdown
>> > >> >>>> to
>> > >> >>>> make rsyslog spawn new threads when there are at least N messages
>> > in
>> > >> the
>> > >> >>>> queue (that's what min messages does) and kill them when the
>> queue
>> > is
>> > >> >>>> smaller than that for a while (that's the timeout option). If the
>> > load
>> > >> >>>> is
>> > >> >>>> low, you'd have just one thread that works with that slowdown.
>> > >> >>>>
>> > >> >>>> I hope this helps.
>> > >> >>>>
>> > >> >>>> Best regards,
>> > >> >>>> Radu
>> > >> >>>>
>> > >> >>>> --
>> > >> >>>> Performance Monitoring * Log Analytics * Search Analytics
>> > >> >>>> Solr & Elasticsearch Support * http://sematext.com/
>> > >> >>>>
>> > >> >>>> On Wed, Jun 17, 2015 at 6:23 AM, chenlin rao <
>> > [email protected]>
>> > >> >>>> wrote:
>> > >> >>>>
>> > >> >>>>  So how can I define the output queue configuration?
>> > >> >>>>
>> > >> >>>>> I found the omelasticsearch action process 60000/min, and the
>> > >> >>>>> queue.discarded.nf was 600000.
>> > >> >>>>> I run `tcpdump -i eth1 -s0 -A 'tcp dst port 9200'  | grep
>> > >> >>>>> Content-Length`
>> > >> >>>>> and saw the length is 1.6k. As my msgline size is 0.1k, the bulk
>> > size
>> > >> >>>>> is
>> > >> >>>>> only 10. Too small.
>> > >> >>>>>
>> > >> >>>>> Sometimes when I restart rsyslogd, the Content-Length grows to
>> > 8MB.
>> > >> >>>>> Why~~
>> > >> >>>>>
>> > >> >>>>> 2015-05-06 1:39 GMT+08:00 David Lang <[email protected]>:
>> > >> >>>>>
>> > >> >>>>>  On Tue, 5 May 2015, chenlin rao wrote:
>> > >> >>>>>
>> > >> >>>>>>
>> > >> >>>>>>  I'm using rsyslog-elasticsearch to writing nginx accesslog
>> into
>> > >> >>>>>>
>> > >> >>>>>>  Elasticsearch cluster. I found the document told that the
>> plugin
>> > >> >>>>>>> would
>> > >> >>>>>>>
>> > >> >>>>>>>  use
>> > >> >>>>>>
>> > >> >>>>>
>> > >> >>>>>  queue.dequeuesize as the bulk size.But my tcpdump show that
>> every
>> > >> POST
>> > >> >>>>>>
>> > >> >>>>>>> only
>> > >> >>>>>>> has 8-9 events in the bulk body while my input flow is nearly
>> > 10k
>> > >> per
>> > >> >>>>>>> second.
>> > >> >>>>>>>
>> > >> >>>>>>> How can I force a larger bulk size?
>> > >> >>>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>  Rsyslog adapts the size to the number of messages waiting to
>> be
>> > >> >>>>>>
>> > >> >>>>>>  delivered,
>> > >> >>>>>
>> > >> >>>>>  so if it's keeping up at that size, it won't increase it.
>> > >> >>>>>>
>> > >> >>>>>> are you running impstats? if so, please look at the queue size.
>> > If
>> > >> >>>>>> it's
>> > >> >>>>>> staying low, then you just have a nice, fast ES instance that
>> is
>> > >> able
>> > >> >>>>>> to
>> > >> >>>>>>
>> > >> >>>>>>  do
>> > >> >>>>>
>> > >> >>>>>  1k inserts/sec (which is not unreasonable), so each insert
>> would
>> > be
>> > >> >>>>>> <10
>> > >> >>>>>>
>> > >> >>>>>>>
>> > >> >>>>>>>  messages.
>> > >> >>>>>>
>> > >> >>>>>> Trying to force a larger bulk size would mean not inserting
>> > messages
>> > >> >>>>>> as
>> > >> >>>>>> fast as we can, and instead pausing and waiting for enough
>> > messages
>> > >> to
>> > >> >>>>>> accumulate to fill the bulk size. We never delay messages
>> > >> >>>>>> intentionally,
>> > >> >>>>>> each pass through the loop we grab all pending messages, up to
>> > the
>> > >> max
>> > >> >>>>>> dequeue size, and deliver them. If more messages arrive than we
>> > >> >>>>>> deliver,
>> > >> >>>>>> the next pass through the queue is larger, so we grab more
>> > messages
>> > >> >>>>>> (this
>> > >> >>>>>> quickly stabilizes to inserting messages as fast as they are
>> > >> arriving)
>> > >> >>>>>>
>> > >> >>>>>> there is a dequeue delay that forces rsyslog to sit and do
>> > nothing
>> > >> >>>>>>
>> > >> >>>>>>  between
>> > >> >>>>>
>> > >> >>>>>  one batch of messages and the next. It's use is discouraged,
>> but
>> > >> >>>>>> delaying
>> > >> >>>>>> like this would allow more messages to accumulate.
>> > >> >>>>>>
>> > >> >>>>>> 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.
>> >
>> >
>> >
>> > --
>> > Regards,
>> > Janmejay
>> > http://codehunk.wordpress.com
>> > _______________________________________________
>> > 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