近日见闻
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,这就厉害了,所以以后真的不需要程序员了吗?
- 摘抄:
“那咱们往哪走啊?”
“往前走。”
“哪是前啊?”
“我对您透露一个大秘密,这是人类最古老的玩笑。往哪走,都是往前走。”
——米兰·昆德拉
米兰·昆德拉(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/mysql
系统管理和监控类
/var/log/yum.log
- 用途:记录CentOS系统上YUM包管理器的使用情况。
- 作用:监控和回溯系统软件包更新和安装。
/var/log/apt/history.log
- Ubuntu系统上,APT软件包管理器的历史记录。
/var/log/dpkg.log
- Ubuntu系统上,记录所有dpkg命令执行的结果。
/var/log/journal/
- 用途:systemd系统和服务管理器使用的二进制日志存储位置。
- 作用:通过
journalctl
工具访问和分析系统事件。
/var/log/audit/audit.log
- 如果安装并启用了auditd服务,此文件记录系统的审计事件。
其他类
/var/log/*
- 应用程序和服务可以在/var/log/下创建自己的日志文件。这些日志文件名通常与服务或应用程序的名字相关。
/etc/logrotate.conf -/etc/logrotate.d/
- 这些配置文件控制日志文件的轮转和压缩。轮转是为了防止日志文件无限增长。
工具
journalctl
logrotate
less, cat, grep, tail, head
这些仅仅是常见的日志文件,具体的日志文件可能因Linux发行版和配置而异。管理员可以配置日志管理守护进程(如rsyslog或syslog-ng)来修改日志文件的位置、格式和保留策略。大多数日志文件都是纯文本格式,可以使用文本编辑器或专门的日志查看软件来查看。
以上列举基本涵盖了常用的系统日志,关键是如何高效利用这些文件进行排查问题,所以日志的过滤以及分析对于故障定位以及恢复是有很大的帮助的。这一部分系统日志分析的内容,我这边也会整理一些实用的内容,分享给大家。