rsyslog|日志缓冲

日志缓冲是指将日志消息写入目标位置(如文件、数据库或远程服务器)之前,先将它们暂时存储在内存中。这样做的目的是提高性能和效率,减少对磁盘I/O的频繁访问

缓冲的主要类型包括:

  1. 环形缓冲区:一种固定大小的缓冲区,当缓冲区满时,新消息会覆盖最旧的消息
  2. 消息队列:将日志消息放入队列中,按顺序处理和发送
  3. 写缓冲区:在将日志消息写入目标文件或数据库之前,先将它们存储在内存中

action关键词定义动作

日志缓冲使用action()配置动作,action()配置在rsyslog中用于定义更复杂和灵活的日志处理动作。

action类型主要有:

  • omfile:将日志消息写入文件
action(type="omfile" file="/path/to/logfile" template="MyFormat")
  • omfwd:将日志消息转发到远程服务器
action(type="omfwd" target="remote.server.com" port="514" protocol="tcp")
  • omusrmsg:将日志消息发送给指定用户
action(type="omusrmsg" users="username")
  • ommail:通过电子邮件发送日志消息
action(type="ommail" server="smtp.server.com" port="25" mailfrom="sender@example.com" mailto="recipient@example.com" subject="Log Alert")
  • omprog:将日志消息传递给外部程序
action(type="omprog" binary="/path/to/program" template="MyFormat")
  • omstdout:将日志消息输出到标准输出(通常用于调试)
action(type="omstdout")

环形缓冲区

module(load="imuxsock" SysSock.Use="off")
module(load="imklog")
module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")
action(type="omfile" file="/var/log/messages" bufferSize="10000" bufferType="ring")
  • module(load="imuxsock" SysSock.Use="off"):加载imuxsock模块,用于接收本地Unix套接字日志消息
  • module(load="imklog"):加载imklog模块,用于接收内核日志消息
  • module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat"):加载omfile模块,用于将日志消息写入文件,并使用传统的日志格式
  • action(type="omfile" file="/var/log/messages" bufferSize="10000" bufferType="ring"):配置一个动作,将日志消息写入/var/log/messages文件,使用大小为10000的环形缓冲区
  • bufferSize:这是缓冲区的大小,以字节为单位,根据日志的流量和系统的内存情况进行调整。默认值通常是 10000 字节
  • bufferType:环形缓冲区的类型,常见的类型有 ring 和 fixed
    • ring类型的缓冲区在满了之后会覆盖最旧的日
    • fixed类型的缓冲区在满了之后会停止接收新的日志

消息队列

module(load="imuxsock" SysSock.Use="off")
module(load="imklog")
module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")
action(type="omfile" file="/var/log/messages" queue.type="LinkedList" queue.size="10000")
  • module(load="imuxsock" SysSock.Use="off"):加载imuxsock模块,用于接收本地Unix套接字日志消息
  • module(load="imklog"):加载imklog模块,用于接收内核日志消息
  • module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat"):加载omfile模块,用于将日志消息写入文件,并使用传统的日志格式
  • action(type="omfile" file="/var/log/messages" queue.type="LinkedList" queue.size="10000"):配置一个动作,将日志消息写入/var/log/messages文件,使用大小为10000的链表队列

写缓冲区

module(load="imuxsock" SysSock.Use="off")
module(load="imklog")
module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat")
action(type="omfile" file="/var/log/messages" action.resumeRetryCount="-1" queue.type="FixedArray" queue.size="10000")
  • module(load="imuxsock" SysSock.Use="off"):加载imuxsock模块,用于接收本地Unix套接字日志消息。
  • module(load="imklog"):加载imklog模块,用于接收内核日志消息。
  • module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat"):加载omfile模块,用于将日志消息写入文件,并使用传统的日志格式。
  • action(type="omfile" file="/var/log/messages" action.resumeRetryCount="-1" queue.type="FixedArray" queue.size="10000"):配置一个动作,将日志消息写入/var/log/messages文件,使用大小为10000的固定数组队列,并设置action.resumeRetryCount为-1,表示无限重试。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!