防火墙配置将日志输出值日志缓冲区后,上限是1024条,如果我一秒的日志大于1024条是不是就会被覆盖丢弃,我目前发现安全策略日志有丢失记录不全,是不是这个原因导致的
Log buffer: Enabled
Max buffer size 1024, current buffer size 1024
Current messages 1024, dropped messages 0, overwritten messages 58961
Log file: Enabled
Security log file: Enabled
Information timestamp format:
Log host: Date
Other output destination: Date
暂无评论
缓冲区上限 1024 条,如果一秒产生日志大于 1024 条,会发生什么?
overwritten messages 58961
overwritten messages = 被覆盖旧日志数量
dropped messages = 内存分配失败、极端拥塞直接丢弃日志数量
你现场 dropped messages=0,说明没有发生内存层面直接丢弃,丢失是【旧日志被循环覆盖】造成。你观察到「安全策略日志记录不全」很大概率就是这个原因。 重点区分: Web 界面看到的实时日志,读取的就是内存 logbuffer;一旦流量高峰日志爆发,缓冲区迅速填满,较早的策略日志直接被新日志覆盖,你在页面就查不到历史记录。
display logbuffer查询overwritten messages 58961 数值持续上涨,证明长期处于写满覆盖状态。流量高峰,会话 / 策略命中日志大量产生,1024 条缓存很快打满,早期日志被覆盖。
display current-configuration | include info-center source POLICY
display current-configuration | include session statistics enable
system-view
info-center loghost x.x.x.x # 日志服务器IP
# 确保POLICY策略日志允许向loghost输出
info-center source POLICY channel loghost log level informational
# 开启安全日志文件
security logfile enable
# 缩短日志缓冲区落盘间隔,加快写入硬盘
info-center logbuffer save interval 3
仅缓解,不能根治;极端爆发流量依然存在来不及落盘被覆盖风险。
logfile就不会丢日志
日志是异步刷盘,缓冲区满、写入不及时依然丢失;外置 syslog 实时转发可靠性远高于本地文件。info-center logbuffer size最大只能设置 1024,无法扩容。overwritten messages ≠ dropped messagesoverwritten messages 58961持续增长,安全策略日志不全主要就是 logbuffer 1024 条上限循环覆盖导致;暂无评论
是的,你的判断完全正确。日志丢失就是因为每秒产生的日志量(>1024条)远超缓冲区的容量(1024条),导致旧日志被迅速覆盖。
你日志信息中的 overwritten messages: 58961 这个数字,就是问题的直接证据。它表明自系统启动以来,已有 58,961 条日志因缓冲区满而被新日志覆盖。安全策略日志通常产生量大,正是这种“覆盖”的主要受害者。
H3C防火墙的日志管理遵循以下机制:
内存缓冲区(Log Buffer):这是日志的第一站,容量最大为 1024条。Web界面显示的安全策略日志,正是从这里读取的。由于其容量固定且有限,当日志产生速度超过写入速度时,新日志会直接覆盖旧日志。
日志文件(Log File):这是日志的第二站。系统会定期(通常是每天凌晨12点)将缓冲区中的日志转储到硬盘上的日志文件中。日志文件大小通常为 10MB,且存满后也会循环覆盖。
你的情况是,日志产生速度太快,在系统还没能将它们写入日志文件之前,旧日志就已经在缓冲区中被新日志覆盖掉了。
针对你的情况,有几种解决方案,你可以根据需求和资源来选择:
方案一:配置日志服务器(最推荐)
这是最根本、最有效的解决方案。将日志实时发送到外部专门的日志服务器(如Syslog服务器或H3C iMC等网管平台),实现长期、完整的存储和备份。
方案二:调整日志文件存储(临时缓解)
如果暂时无法配置日志服务器,可以通过调整日志文件参数来留存更多日志。例如,增大单个日志文件的大小或增加保留的文件数量:
注意:这仅是缓解措施,当日志文件存满后,旧的日志文件依然会被覆盖。
方案三:限制不必要的日志输出(辅助手段)
如果某些模块(如安全策略)日志量过大,且非必须,可以考虑关闭其日志记录功能,以减少日志总量。
方案四:调整日志缓冲区大小(效果有限)
虽然可以将缓冲区从默认的512条调整到最大1024条,但鉴于你每秒的日志量已远超此容量,这仅能争取到极其有限的时间,无法从根本上解决问题。
暂无评论
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作
举报
×
侵犯我的权益
×
侵犯了我企业的权益
×
抄袭了我的内容
×
原文链接或出处
诽谤我
×
对根叔社区有害的内容
×
不规范转载
×
举报说明
暂无评论