日志文件分析
记录的保存文件名
/var/log/boot.log
电脑启动会叫日志信息会保存到这个文件里面,不会保存启动后的文件/var/log/messages
系统报错都会保存到这个文件里面/var/log/lastlog
所有最近登录的信息/var/log/cron
记录crontab/var/log/dmesg
内核检查信息/var/log/maillo``或
/var/log/mail/`记录SMTP信息/var/log/secure
只要牵涉到“ 需要输入帐号密码”的软件/var/log/wtmp
和/var/log/faillog
记录登录成功和失败的账号信息
记录日志文件的程序
程序名 | 作用 |
---|---|
rsyslog.service | 主要登录系统与网络等服务的讯息 |
logrotate | 主要在进行登录文件的轮替功能 |
systemd-journald.service | 最主要的讯息收受者,由 systemd 提供的 |
rsyslog程序
这个程序是统一管理,记录日志
服务有没有开启
命令
1 | ps aux | grep rsyslog |
rsyslog程序修改配置文件
rsyslog.service
的配置文件在/etc/rsyslog.conf
我们可以通过配置文件修改日志文件的保存的地方
看一下文件内容
他的格式分三部分
- 服务器名称
- 信息等级
服务器名称
man rsyslogd
这样可以了解他的配置的相关内容
下面的内容都是linux内核syslog函数自行定制的服务名称
相对序号 | 服务类别 | 说明 |
---|---|---|
0 | kern(kernel) | 核心 (kernel) 产生的讯息,大部分都是硬件侦测以及核心功能的启用; |
1 | user | 在用户层级所产生的信息,例如用户使用 logger 指令来记录登录文件的功能; |
2 | 只要与邮件收发有关的讯息记录都属于这个; | |
3 | daemon | 主要是系统的服务所产生的信息,例如 systemd 就是这个有关的讯息; |
4 | auth | 主要与认证/授权有关的机制,例如 login, ssh, su 等需要账号/密码的操作; |
5 | syslog | 由 syslog 相关协议产生的信息,其实就是 rsyslogd 这支程序本身产生的信息; |
6 | lpr | 打印相关的讯息啊; |
7 | news | 与新闻组服务器有关的信息; |
8 | uucp | 全名为 Unix to Unix Copy Protocol,早期用于 unix 系统间的程序数据交换; |
9 | cron | 例行性工作排程 cron/at 等产生的讯息记录; |
10 | authpriv | 与 auth 类似,但记录较多账号私人的信息,包括 pam 模块的运作等; |
11 | ftp | 与 FTP 通讯协议有关的讯息输出; |
16-23 | local0 ~ local7 | 保留给本机用户使用的一些登录文件讯息,较常与终端机互动。 |
软件开发者也可以通过上面的服务来定义自己的开发的软件,同时都调用syslog函数的mail服务名称
上面的服务差异很打,比如mail服务多的要命,他会记录很多东西。这样的话我们就可以用其他的适合的服务进行记录日志
信息等级
下面的是越靠近0问题越严重
等级数值 | 等级名称 | 说明 |
---|---|---|
7 | debug | 用来 debug (除错) 时产生的讯息数据; |
6 | info | 仅是一些基本的讯息说明而已; |
5 | notice | 虽然是正常信息,但比 info 还需要被注意到的一些信息内容; |
4 | warning | (warn)警示的讯息,可能有问题,但是还不至于影响到某个 daemon 运作的信息;基本上, info,notice, warn 这三个讯息都是在告知一些基本信息而已,应该还不至于造成一些系统运作困扰; |
3 | err | (error)一些重大的错误讯息,例如配置文件的某些设定值造成该服务无法启动的信息说明, 通常藉由 err 的错误告知,应该可以了解到该服务无法启动的问题; |
2 | crit | 比 error 还要严重的错误信息,这个 crit 是临界点 (critical) 的缩写,这个错误已经很严重了喔; |
1 | alert | 警告警告,已经很有问题的等级,比 crit 还要严重; |
0 | emerg | (panic)等级,意指系统已经几乎要宕机的状态。 很严重的错误信息了。通常大概只有硬件出问题,导致整个核心无法顺利运作,就会出现这样的等级的讯息。 |
下面还有两个特殊的等级
等级名称 | 作用 |
---|---|
debug | 错误检查等级 |
nome | 不需登录等级 |
在信息等级前面还有一个连接符合下面的是他的意思
连接符合 | 作用 |
---|---|
. |
代表比后面还要严重的等级 (含该等级) 都被记录下来的意思,例如: mail.info 代表只要是 mail的信息,而且该信息等级严重于 info (含 info 本身)时,就会被记录下来的意思 |
.= |
代表所需要的等级就是后面接的等级而已, 其他的不要 |
.! |
代表不等于, 即除了该等级外的其他等级都记录 |
一般来说,我们比较常使用的是.
这个链接符号
logrotate程序
他是提供日志定期删除用的
就是将旧的登录文件更改名称,然后创建一个空的登录文件,如此一来, 新的登录文件将重新开始记录,然后他长时间了就会自动删除以前的文件
systemd程序
经过systemd程序启动的服务他都会记录,他用的是systemd-journald.service 服务
日志格式
他的格式是
- 发生的时间
- 发生的事件的主机名
- 启动事件的服务名
- 产生的实际内容
1 | ~ » sudo cat /var/log/messages |
上面的意思
Mar 5 07:25:47
的意思:Mar
是三月
的意思,那Mar 5 07:25:47
就是3月5日07:25:47
zss
的意思:`使用的主机名
kernel
的意思:`程序名
[ 4.232728] EDAC amd64: F17h_M60h detected (node 0)
的意思:`产生的实际内容
更新中。。。。。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 ZSSのW啥都学!
评论