神铸利刃·装备养成活动门户

日志文件:各类系统的黑匣子

近日见闻

1、 IntelliJ IDEA 2023.3.5 发布 --Idea

2、Node.js 新版官网已开启 Beta 测试,体验地址:https://beta-node-js-org.vercel.app/en。--Nodejs

3、全球首位 AI 软件工程师 Devin:能自学新语言、开发迭代 App、自动 Debug,这就厉害了,所以以后真的不需要程序员了吗?

摘抄:代码语言:javascript代码运行次数:0运行复制“那咱们往哪走啊?”

“往前走。”

“哪是前啊?”

“我对您透露一个大秘密,这是人类最古老的玩笑。往哪走,都是往前走。”

——米兰·昆德拉

米兰·昆德拉(Milan Kundera,1929年4月1日-2023年7月11日),出生于捷克布尔诺市,毕业于布拉格查理大学,小说家。1967年,他的第一部长篇小说《玩笑》在捷克出版,获得巨大成功,曾多次获得国际文学奖,并多次被提名为诺贝尔文学奖的候选人。

作为一线故障排查工程师,遇到系统问题是不可避免的,如果监控是飞机雷达,那日志就是飞机的黑匣子。所以排查问题需要靠翻阅日志,这里日志的重要性不言而喻了,但是系统日志不止一个,除了常用的,看到日志目录下那么多熟悉而又陌生的文件又不知道干什么用的,我就总结一下,遇到了就可以回头复习复习了。

系统日志到底有哪些在Linux系统中,日志文件用于记录系统事件、服务状态、系统警告、错误消息、以及其他重要信息。这些信息对于系统管理、安全审计、故障排除和维护活动至关重要。

通用日志类/var/log/messages用途:这是一个通用日志文件,记录了系统的一般信息和启动信息。它包含了大量的系统活动日志,如系统错误消息、启动消息和其他重要事件。作用:这个日志文件用于一般的问题诊断和系统分析。/var/log/syslog用途:在许多系统上,/var/log/syslog 保存了不同系统事件的日志,包括系统错误,类似于 /var/log/messages。作用:同样用于系统监控和故障排除。/var/log/boot.log用途:记录系统启动过程中发生的事件。作用:有助于分析检查启动过程中可能出现的问题。/var/log/dmesg用途:记录内核探测硬件时的消息,例如在启动过程中。作用:用于诊断硬件相关的问题。/var/log/kern.log用途:包含内核产生的日志信息,记录内核产生的消息和警告。作用:内核故障排除和分析。认证和授权日志类/var/log/auth.log用途:记录用户认证信息,包括登录尝试和使用sudo命令的记录。作用:监控和审计用户验证行为,检查潜在的安全问题。/var/log/secure (Red Hat/CentOS)用途:记录验证和授权方面的信息,类似于 /var/log/auth.log。作用:安全相关事件的审计和监控。/var/log/faillog存储失败的登录尝试。/var/log/lastlog用途:记录系统中所有用户最后一次登录的时间和IP地址。作用:用户活动监控。/var/log/wtmp 或 /var/log/btmp用途:记录登录和注销事件,wtmp 记录成功的登录尝试,而 btmp 记录失败的尝试。作用:系统访问监控。特定服务类/var/log/cron用途:记录cron守护进程执行定时任务的信息。作用:用于监控定时任务。/var/log/mail.log或/var/log/maillog用途:记录邮件服务器的日志,如Postfix或Sendmail。作用:邮件服务的故障排除和监控。/var/log/httpd/或/var/log/apache2/用途:Apache HTTP服务器的日志目录。作用:网站访问、错误日志、以及其他与Web服务器相关的活动监控。var/log/mysqlMySQL数据库服务器的日志文件。系统管理和监控类/var/log/yum.log用途:记录CentOS系统上YUM包管理器的使用情况。作用:监控和回溯系统软件包更新和安装。/var/log/apt/history.logUbuntu系统上,APT软件包管理器的历史记录。/var/log/dpkg.logUbuntu系统上,记录所有dpkg命令执行的结果。/var/log/journal/用途:systemd系统和服务管理器使用的二进制日志存储位置。作用:通过 journalctl 工具访问和分析系统事件。/var/log/audit/audit.log如果安装并启用了auditd服务,此文件记录系统的审计事件。其他类/var/log/*应用程序和服务可以在/var/log/下创建自己的日志文件。这些日志文件名通常与服务或应用程序的名字相关。/etc/logrotate.conf -/etc/logrotate.d/这些配置文件控制日志文件的轮转和压缩。轮转是为了防止日志文件无限增长。工具journalctl用于查看和管理systemd日志。logrotate用于管理和轮转日志文件。less, cat, grep, tail, head各种标准命令行工具,用于查看和过滤日志内容。这些仅仅是常见的日志文件,具体的日志文件可能因Linux发行版和配置而异。管理员可以配置日志管理守护进程(如rsyslog或syslog-ng)来修改日志文件的位置、格式和保留策略。大多数日志文件都是纯文本格式,可以使用文本编辑器或专门的日志查看软件来查看。

以上列举基本涵盖了常用的系统日志,关键是如何高效利用这些文件进行排查问题,所以日志的过滤以及分析对于故障定位以及恢复是有很大的帮助的。这一部分系统日志分析的内容,我这边也会整理一些实用的内容,分享给大家。