linux系统日志

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记录与系统定时任务相关的日志

日志等级

日志等级通常根据其重要性和紧急程度排序,编码越小级别越高。

编码级别说明
0EMERG紧急:会导致系统不可用
1ALERT警告:需要马上采取措施解决
2CRIT严重:关键错误,已经影响整个系统或软件不能正常工作
3ERR错误:某个模块或程序的功能不能正常使用
4WARNING提醒:如果不采取措施,将会发生错误
5NOTICE注意:不会影响正常功能,但是需要注意的事件
6INFO信息:一般信息
7DEBUG调试:程序或系统调试信息等

日志格式

通常一般日志遵循以下格式

日志产生时间产生日志的主机名产生日志的服务名或程序名日志具体信息

典型的日志示例

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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值