由于队列,rsyslog停滞

Rsyslog在发送端和/或源端被阻塞/冻结,从而导致服务器总体停滞/缓慢,这从一个问题开始,并且继续/多less涉及: Rsyslog队列和性能影响

我认为这是一个很好的post,有很好的答案,触及我最近的一些问题。

我对rsyslog本身有很多疑问 – 甚至在阅读了数十次的文档并为它提供了一些基础设施之后,我将重点关注那些与我看到的这个post / current问题有关的问题

也许一些configuration可以在问题之前提供帮助;现在让我们来看看这样的事情,但是我甚至直接在两个规则集上都有这个configuration, 我只是为了有一些想法而把它放在这里,不要把它当作绝对的完整configuration,因为我不确定哪种方式对于服务器和客户端的压力较小,而不是放松事件,失去一些事件的结局比拖延一切事情更为可取。

configuration示例

所以直接这个词:a)直接行动队列和b)直接规则集队列。 当消息被应用到这些直接排队的后面/后面(按照时间顺序排列)时,假设发生了什么? 正如所解释的, 直接意味着没有队列本身,但它说了一些关于“返回码(成功/失败)”,这是否意味着如果事件发送失败,发件人或上一个线程将被通知?

例如:我们在规则集(侦听器发送消息的地方)中有直接队列 – 不确定消息是否通过另一个“主队列”前往此规则集,在这里,我是这些规则集之后的侦听器是第一个整个生态系统“)+我们在行动前有直接排队,但是由于pipe道是满/目的地(tcp)不可达,所以我们不能完成这个行动。

  • 项目清单

行动的直接队列的线程/工作者将通知线程/工作者规则集的直接队列(都在相同的服务器系统上),这又将通知本地OS /或者可能客户端/发送器rsyslog / client / sender OS事件不能被写入,一切都将最终与本地和远程服务器被冻结/冻结? 如果这是真的(在上面),那么将动作和规则集队列都configuration为LinkedList或只将规则集队列configuration为LinkedList将解决此问题? (也许通过强制甚至timeoutenqueue为0)

  • 项目清单

或者把它放在一个不同的格式中 – 直接和LinkedList在与客户端/发送者/生产者的通信方面有什么不同,哪一个会减less压力/哪一个可以configuration给发送者(即使它是在同一个系统上的rsyslog远程或以前的工人)容易的时候?

总是我有印象,我明白,或者我已经接近理解rsyslog中的队列,但总是现实,我拍我。 例如,我首先想到,把所有东西都设置为直接的,不会给系统带来压力,信息会来,它会被发送,而不会被检查,如果这样做的话,但是如果没有排队,它就会丢失。我不确定这是怎么回事。 反过来,我认为LinkedList或其他types的队列确实将消息保留在队列中,并根据一些configuration细节(timeoutenqueue)将消息保留在之前的队列中,因此给系统带来一些压力。

  • 项目清单

我们当然可以扩展与pipe道/文件和ompipe / omfile行为有关的问题,毕竟这里可能是最后一个碰撞,如果这里有一个问题,它可以触发一个多米诺骨牌回到远程发件人一路回来通过在本地系统上configuration的所有队列。 我认为,虽然我们有pipe道作为目的地和ompipeconfiguration在他们面前,没有反馈从操作系统rsyslog如果行动成功(从经验观察说);虽然有pipe道作为目的地和使用omfile似乎有很多的反馈,因为pipe道似乎感觉真的很快(我们假设pipe道根本没有读取,只是为了简单起见),队列开始真的很快填充 – pipe道+ ompipe似乎不是pipe道接受更多消息的情况。

我有点担心把这两个主题(队列+ ompipe / omfile),但也许看到整个上下文可以帮助有经验的人推荐或解释一些rsyslog的行为

非常感谢,这里的帮助是非常需要的! 否则真的很好的信息,真的很好,但我想我仍然错过服务器端的这些细节,而客户端上的一些选项已被解释kb

PS:我可能发布这里 – http://kb.monitorware.com – 以及我不知道在哪里答案有更大的机会popup:)