系统日志管理与监控全解析
1. Syslog-ng 的 sync( ) 选项
Syslog-ng 中的 file( ) 选项里有一个 sync( ) 选项,它可用于限制日志文件同步的频率。这类似于 syslog 的 “-” 前缀,但更具粒度。“-” 只是关闭同步,而 file( ) 接受一个数值,能将同步延迟到你指定的消息数量。
数值越高,在文件系统同步之前缓存的消息就越多,文件系统上的 “打开读取” 操作也就越少。数值越低,数据丢失的可能性就越低,消息处理和写入磁盘之间的延迟也越低。默认情况下, sync( ) 设置为 0,意味着 “每条消息后都同步”。一般而言,在低流量场景中,默认值或较低的 sync( ) 值更合适;而在高流量情况下,可能需要设置为几百甚至几千。一个好的经验法则是将此值设置为系统在峰值负载下每秒必须处理的日志消息行数。
如果你使用像 Swatch 这样的日志监视器来提醒正在进行的攻击,不要将 sync( ) 设置得太高。因为如果入侵者删除了日志文件,Syslog-ng 缓存的所有消息都可能在未被日志监视器解析的情况下丢失(日志监视器是在消息写入时解析,而不是在缓存时)。
2. 消息过滤器
消息过滤器是 Syslog-ng 中的重要功能。虽然它是可选的,但可以让你不仅根据优先级/级别和设备(这是 syslog 也能做到的)来路由消息,还能根据发送消息的程序名称、通过网络转发消息的主机名称、针对消息本身计算的正则表达式,甚至是另一个过滤器的名
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



