队列参数可以和下列陈述一起使用:
(1)、action()
(2)、ruleset()
(3)、main_queue()
队列需要在它应该影响的动作或者规则集中配置。如果没用东西被配置,那么将会使用默认值。并且,默认的规则集只用默认的主队列,特定的行为队列默认是不安装的。
为了充分理解队列参数以及它们如何相互作用,一定要阅读queues文档。
queue.filename name:用于队列文件的文件名。清注意这实际上仅仅是文件的名字,一个目录不能在这个参数中指定。如果文件需要在特定的目录中被创建,则制定队列。spoolDirectory用于这种情况。这个文件名被用来构建队列文件的完整路径。
queue.spoolDirectory name:这个是队列文件将会被存储到的目录。需要注意这个目录必须一定存在,他并不会被rsyslog自动创建,若果没有指定spoolDirectory,则工作目录被使用。
queue.size number:这是队列中能够存储消息的最大尺寸。注意到将对列尺寸设置为一个非常小的数(大致上小于100个消息)并不被支持并且可能会导致不可预测的结果。关于这个限制的当前状态的详细信息参考rsyslog FAQ: “lower bound for queue sizes”。
queue.dequeuebatchsize number:默认16。
queue.maxdiskspace number:所有队列文件所能够使用的最大磁盘空间,注意到实际的尺寸可能会被配置的最大值略大,因为rsyslog从来不写部分的队列记录。
queue highwatermark number:这只适用于磁盘辅助队列。当队列达到这个消息数量时,队列开始将消息后台处理到磁盘上。请注意这不应该作为通常处理中的部分发生,因为磁盘队列模式比内存队列模式要慢很多。将其写到磁盘上应该为在某些时候一个输出动作目的地离线的情况下保留。
queue.lowwatermark number:默认2000。
queue.fulldelaymark number:当队列应该阻塞延时的消息时的消息数量,消息将不会被处理知道队列有了足够的空间。一个消息是否延时依赖于输入。例如,通过imtcp收到的消息是延时的(delayable)(因为TCP可以推回),但是又imudp收到的消息则不能(因为UDP并不允许推回);这个设定背后的目的是为了在一个几乎满的队列中为非延时消息留出一部分空间,如果队列使用完了空间它们将会丢失。请注意如果你使用了一个DA队列,那么将fulldelaymark设置在highwatermark之上将会使队列永远不会为延迟输入激活磁盘模式。所以这应该不是你所想要的。
queue.lightdelaymark number
queue.discardmark number:默认9750。
queue.discardseverity number:*数值的*严重性!默认为8(全都不丢弃)。
queue.checkpointinterval number:默认情况下磁盘队列在每次队列写入磁盘时不更新管理结构。这是为了性能的原因。在故障的情况下,数据仍然会丢失(除非数据在文件结构种错位)。但是,磁盘队列可以被设置在检查点时写记帐信息(每n条记录),这样也可以变得非常可靠。如果检查点间隔被设置为1,则没有数据会丢失,但是队列会变得异常缓慢。
queue.syncqueuefiles on/off(默认”off“):基于磁盘的队列队列可以通过每个写操作之后进行一个f(sync)而变得非常可靠。这会发生在当你把该参数设置为”on“时。激活这个选项会有一个性能代价,所以在没有一个好的理由的情况下它不应该被打开,注意到这个代价也依赖于queue.checkpointInterval的频率。
queue.type [FixedArray/LinkedList/Direct/Disk]
queue.workerthreads number:工作线程数,默认为1,推荐为1。
queue.timeoutshutdown number:数字是超时毫秒数(1000毫秒代表1s),默认为0(即未定义)。
queue.timeoutactioncompletion number:数字是超时毫秒数(1000毫秒是1s),默认为1000,0代表立刻!
queue.timeoutenqueue number:数字是超时毫秒数(1000毫秒是1s),默认为2000,0代表立刻丢弃!
queue.timeoutworkerthreadshutdown number:数字是超时毫秒数(1000毫秒是1s),默认为60000(1分钟)
queue.workerthreadminimummessages number:默认100。
queue.maxfilesize size_nbr:默认1M。
queue.saveonshutdown:on/off。
queue.dequeueslowdown number:时间是超时毫秒数(1000000us是1s),默认为0(非延时)。单纯的限速!
queue.dequeuetimebegin number
queue.dequeuetimeend number