序
如果只有一个对象对于理解rsyslog的工作方式至关重要,那么该对象就是队列。队列提供各种服务,包括对多线程的支持。每当两个活动需要松散耦合时(用于削峰填谷或临时中转),Rsyslog就会使用队列(Queues)。
Queue是rsyslog中很重要的概念,了解队列对理解rsyslog运行机制大有裨益,并能在生产中产生实际效用!
数据流
可以参考rsyslog消息流处理原则.
数据总是要经历2个阶段,从主队列到action队列(需要清楚的是,每个动作前面都有一个队列)。
了解队列
-
主消息队列
- 主消息队列。每当rsyslog接收到一条消息时(例如,在本地,通过UDP,TCP或以其他任何方式),它将把这些消息放入主消息队列中。
-
Action队列
- 进入主队列以后,它由规则处理器出队,然后由处理器评估要执行的动作。在每个动作之前,还有一个队列,该队列可能使筛选器处理与实际动作脱钩(例如,写入文件,数据库或转发到另一台主机)。