On Wed, 14 Dec 2016, mostolog--- via rsyslog wrote:

we are using RELP.
according to some comments in https://github.com/rsyslog/rsyslog-doc/pull/281, seems rulesets should have a queue to avoid "creating a temporary queue"

no such thing as a temporary queue

as we are looking for 0% loss...

under all conditions? including a fire in the server room or a metor hitting the building?

0% loss is a very strong statement, and really needs to be clarified. If you really do mean 0% loss under all conditions (includeing the building being destroyed), then rsyslog may not actually be the right tool for you.

Due to the performance impact of trying to comply with such a requirement, the cost of implementing such a system would also be extremely high

But almost nobody really means 0% loss under all conditions, so the first thing you really need to do is to think really hard about what the real requirements are. Are there conditions where you would be willing to have data lost if the building is destroyed, or some server looses power?

1. imrelp -> ruleset+main_queue(disk) is there any chance a message
  being lost between RELP reception and queueing?

no, RELP does not consider the data accepted (and send it's ack) unless the data is in the queue.

but main_queue being disk does not neccessarily mean that the log will survive under all conditions (if you allow the OS to buffer writes to disk, it could be lost in a crash, if you only write to one disk it could be lost if the disk fails, if you only write to one system, a fire in that system could destroy all disks, if you only write to systems in one datacenter, a bomb could destroy all the systems ....)

2. ruleset+main_queue(disk) -> mmjsonparse -> mmnormalize -> omfile is
  there any chance a message being lost anywhere?

that depends on how you configure omfile. If you allow the OS to buffer writes to disk... (see discussion above)

message processing (including mm modules) cannot cause data loss, but it does take time that the message spends in the queues, and if those queues are in ram...)

3. imfile -> omelasticsearch is there any change a message being lost?

for imfile -> rsyslog, that depends on the queues (see above)

for omeleasticsearch, that depends on the ES configuration. There are many ways that ES could loose a message if things crash at just the wrong time...

PS: using RELP, when there are connection issues we noticed some problems, bottlenecks and so. hence, we decided to use a file between RELP and elastic

let's talk about this more in the other thread. omfile/imfile is NOT the correct way to implement a buffer between rsyslog and ES.

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.

Reply via email to