linux系统日志分类
Linux系统日志主要分为四个部分:内核日志、系统日志、安全日志和应用程序日志。
内核日志:记录了系统内核的运行状态和事件,例如系统启动和关机时间、硬件错误等。
系统日志:记录了系统服务和进程的运行情况,例如登录信息、网络连接等。
安全日志:记录了系统的安全事件,例如认证失败、攻击尝试等。
应用程序日志:记录了应用程序的运行状态和事件,例如数据库服务器的连接信息、Web服务器的请求信息等。
重要日志文件
在大多数 Linux 发行版中,系统日志文件通常保存在 /var/log 目录下。这个目录包含了许多不同的日志文件,每个日志文件都用于记录特定类型的日志信息
| 日志文件 | 说明 |
| /var/log/messages | 它是核心系统日志文件,其中包含了系统启动时的引导信息,以及系统运行时的其他状态消息。I/O 错误、网络错误和其他系统错误都会记录到此文件中。其他信息,比如某个人的身份切换为 root,已经用户自定义安装软件的日志,也会在这里列出 |
| /var/log/dmesg | 记录了系统在开机时内核自检的信息。也可以使用 dmesg 命令直接查看内核自检信息 |
| /var/log/secure | 记录验证和授权方面的信息,只要涉及账户和密码的程序都会记录,比如系统的登录、ssh 的登录、su 切换用户,sudo 授权,甚至添加用户和修改用户密码都会记录在这个日志文件中 |
| /var/log/lastlog | 记录系统中所有用户最后一次的登录时间的日志。这个文件是二进制文件,不能直接用 Vi 查看。而要使用 lastlog 命令查看 |
| /var/log/wtmp | 永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。这个文件是二进制文件。不能直接用 Vi 查看,而要使用 last 命令查看 |
| /var/log/btmp | 记录错误登录的日志。这个文件是二进制文件,不能直接用 Vi 查看,而要使用 lastb 命令查看 |
| /var/run/utmp | 记录当前已经登录的用户的信息。这个文件会随着用户的登录和注销而不断变化,只记录当前登录用户的信息。同样,这个文件不能直接用 Vi 查看,而要使用 w、who、users 等命令查看 |
| /var/log/cron | 记录与系统定时任务相关的日志 |
日志等级
日志等级通常根据其重要性和紧急程度排序,编码越小级别越高。
| 编码 | 级别 | 说明 |
| 0 | EMERG | 紧急:会导致系统不可用 |
| 1 | ALERT | 警告:需要马上采取措施解决 |
| 2 | CRIT | 严重:关键错误,已经影响整个系统或软件不能正常工作 |
| 3 | ERR | 错误:某个模块或程序的功能不能正常使用 |
| 4 | WARNING | 提醒:如果不采取措施,将会发生错误 |
| 5 | NOTICE | 注意:不会影响正常功能,但是需要注意的事件 |
| 6 | INFO | 信息:一般信息 |
| 7 | DEBUG | 调试:程序或系统调试信息等 |
日志格式
通常一般日志遵循以下格式
| 日志产生时间 | 产生日志的主机名 | 产生日志的服务名或程序名 | 日志具体信息 |
典型的日志示例
Jun 5 03:20:46 localhost sshd[1630]:Accepted password for root from 192.168.0.104 port 4229 ssh2
查看日志
tail命令
显示最后10行内容(默认)
[root@linuxcool ~]# tail /var/log/secure
持续刷新显示最新内容
[root@linuxcool ~]# tail -f /var/log/secure
显示文件尾部N行内容
[root@linuxcool ~]# tail -n 30 /var/log/secure
查看登录失败的日志信息
[root@pc0 ~]# tail -n 100 /var/log/secure | grep "Failed password"
Jun 12 07:56:12 localhost sshd[22473]: Failed password for invalid user deploy from 209.38.88.35 port 48892 ssh2
Jun 12 07:56:16 localhost sshd[22477]: Failed password for invalid user user from 209.38.88.35 port 37300 ssh2
Jun 12 07:56:20 localhost sshd[22482]: Failed password for invalid user username from 209.38.88.35 port 37304 ssh2
日志服务
rsyslog是日志服务名称,它有一个守护进程rsyslogd。
查看日志服务状态
[root@pc0 etc]# systemctl status rsyslog.service
● rsyslog.service - System Logging Service
Loaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
Active: active (running) since 一 2025-06-09 14:18:11 CST; 2 days ago
Docs: man:rsyslogd(8)
http://www.rsyslog.com/doc/
Main PID: 1736 (rsyslogd)
Tasks: 3
Memory: 25.4M
CGroup: /system.slice/rsyslog.service
└─1736 /usr/sbin/rsyslogd -n
查看守护进程
[root@pc0 ~]# ps -aux | grep rsyslogd
root 1736 0.0 0.0 367716 30200 ? Ssl 6月09 0:45 /usr/sbin/rsyslogd -n
日志配置文件
/etc/rsyslog.conf是rsyslog的主要配置文件,它用于指定日志消息如何被接收、处理和转发。
rsyslog.conf 文件的格式是基于模块的,并且由一系列指令和参数组成。其中,每个指令都以一个美元符号($)开头,后面跟着指令的名称和参数。
[root@pc0 ~]# more /etc/rsyslog.conf
# rsyslog configuration file
# For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
# If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
#### MODULES ####
# The imjournal module bellow is now used as a message source instead of imuxsock.
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
#$ModLoad imklog # reads kernel messages (the same are read from journald)
#$ModLoad immark # provides --MARK-- message capability
# Provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514
# Provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514
#### GLOBAL DIRECTIVES ####
# Where to place auxiliary files
$WorkDirectory /var/lib/rsyslog
# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
1278

被折叠的 条评论
为什么被折叠?



