您现在的位置是:首页 > 文章详情

玩转OurBMC第五期:深入探索BMC日志管理模块(下)

日期:2024-03-07点击:43

栏目介绍:“玩转OurBMC”是OurBMC社区开创的知识分享类栏目,主要聚焦于社区和BMC全栈技术相关基础知识的分享,全方位涵盖了从理论原理到实践操作的知识传递。OurBMC社区将通过“玩转OurBMC”栏目,帮助开发者们深入了解到社区文化、理念及特色,增进开发者对BMC全栈技术的理解。

欢迎各位关注“玩转OurBMC”栏目,共同探索OurBMC社区的精彩世界。同时,我们诚挚地邀请各位开发者向“玩转OurBMC”栏目投稿,共同学习进步,将栏目打造成为汇聚智慧、激发创意的知识园地。

上期内容聚焦于 BMC 日志管理框架与 systemd-journald 模块的介绍,本期将继续通过对实际案例的剖析,深入探讨 BMC 日志管理模块中 rsyslog 模块 和 logrotate 工具 的具体作用,并展示其在日常运维中的实际应用操作。旨在帮助各位读者更好地理解和使用 BMC 日志管理模块,为服务器的稳定运行和故障排查提供有力支持。

rsyslog 模块

rsyslog 的全称是 rocket-fast system for log,是专为系统日志设计的高效转发处理工具,它能够接收来自各种来源的日志数据,并将其输出到不同的目的地,通过配置 /etc/rsyslog.conf 实现日志的集中管理和分析。rsyslog 内部集成了多个模块,这些模块可以协同工作,确保日志数据的流畅传输和高效处理。其中,imjournal 和 imuxsock 是两个关键的配置模块,它们在BMC日志管理中扮演着重要的角色。下文主要介绍 imjournal 和 imuxsock 两个模块,如想了解其他模块,可通过 rsyslog 官网获取信息。

1、imjournal模块

该模块主要接受来自 journal 中的日志源,也是目前 BMC 最常见的日志处理方式。结合上文中提到的 SEL 消息,我们可以根据 MESSAGE_ID,来标识 SEL 消息,因此 rsyslog 可以进行筛选,将 ID 相等消息,通过 omfile 模块,以 IPMISELTemplate 定义的模板格式,写入到 "/var/log/ipmi_sel" 文件中。

其中,模板 IPMISELTemplate 由用户自己定义,property 代表 journal中KEY 字段的值,constant 代表常量字符串,如下:

生成到文件中的格式如下:

2、Imuxsock 模块

imuxsock 模块是 rsyslog 的核心输入模块,用于接收来自本地 Unix 域套接字的日志消息。在 BMC 中主要应用于服务器主机串口日志,obmc-console-server 读取串口发送过来的数据,并将这些数据发送到本地 UNIX 套接字上。随后,rsyslog 或者其他应用(如 SOL),通过监听套接字流,实时获取并保存服务器串口的信息,其流程如下所示:

其配置与上述 imjounal 配置类似,其中 SSocket 则是需要访问套接字端口,其数据值来源为 /etc/hostlogger/ttyAMA1.conf 配置中的 STREAM_DST 字段。phosphor-hostlogger 的作用就是将 obmc-console-server 中的数据流转发到配置的 STREAM_DST 端口上。详情如下:

除了这两个模块外,rsyslog 还支持通过配置 IP 和端口将本地的日志上传到远端服务器,这一般是通过编辑 /etc/rsyslog.d/server.conf 文件来实现的。在这个配置文件中,管理员可以指定 rsyslog 监听的 IP 地址和端口号,以及将日志数据发送到远程服务器的相关信息。

总的来说,rsyslog 的各个模块共同协作,实现了从日志消息的收集、处理到输出的完整流程。每个模块都有其独特的功能和作用,共同保证了 rsyslog 的高效和稳定。

logrotate 工具

为了节省磁盘空间和方便日志管理,通常会将日志文件按照时间或大小进行分割,并删除较旧的日志文件。这个过程被称为日志滚动(logrotation),而 logrotate 工具就是用来实现这一功能的。此外,logrotate 还可以对备份的日志文件进行压缩,以进一步节省空间。

以下配置示例,对 rsyslog 配置生成的文件大小进行控制。当 ipmi_sel 文件的大小达到 64KB 时,logrotate 会将其重命名(或 “滚动”)为 ipmi_sel.1,并开始写入新的 ipmi_sel 文件。rotate 配置为 3,则代表可以备份 3 个文件,即最多存储 64K*4 大小的 ipmi_sel 日志文件。

通过玩转 OurBMC 栏目对 BMC 日志管理模块两期内容的介绍,可以了解到 OpenBMC 通过 rsyslog 和 systemd-journald 的协同工作,实现了日志的有效收集、筛选、格式化和存储。同时,也为系统管理员和开发人员提供了强大的日志分析工具,帮助他们更好地监控、诊断和优化系统性能。

欢迎大家关注OurBMC社区,了解更多技术干货。

OurBMC社区官方网站:

https://www.ourbmc.cn/

原文链接:https://my.oschina.net/ourbmc/blog/11046257
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章