千家信息网

CentOS下怎么查看日志文件的内容

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,这篇文章主要讲解了"CentOS下怎么查看日志文件的内容",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"CentOS下怎么查看日志文件的内容"吧!1.
千家信息网最后更新 2024年11月18日CentOS下怎么查看日志文件的内容

这篇文章主要讲解了"CentOS下怎么查看日志文件的内容",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"CentOS下怎么查看日志文件的内容"吧!

1. 主要日志文件

Linux系统本身和大部分服务程序的日志文件默认情况下都放置在目录"/var/log"中。有些程序会共用一个日志文件,有些程序则会使用单个日志文件,还有一些比较大型的程序由于日志文件不止一个,所以会在"/var/log"目录中建立相应的子目录来存放日志文件。有相当一部分日志文件只有root用户才有权限读取,这保证了相关日志信息的安全性。

例:查看"/var/log"目录中的各种日志文件及子目录。

在这些日志文件中,比较重要或是经常用到的有:

/var/log/messages:记录Linux内核消息及各种应用程序的公共日志信息,包括启动、I/O错误、网络错误、程序故障等。对于未使用独立日志文件的应用程序或服务,一般都可以从该日志文件中获得相关的事件记录信息。

/var/log/cron:记录crond计划任务产生的事件信息。

/var/log/dmesg:记录Linux系统在引导过程中的各种事件信息。

/var/log/maillog:记录进入或发出系统的电子邮件活动。

/var/log/lastlog:最近几次成功登录事件和最后一次不成功登录事件。

/var/log/rpmpkgs:记录系统中安装的各rpm包列表信息。

/var/log/secure:记录所有与安全相关以及用户登录认证过程中的事件信息。

/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件。

/var/run/utmp:记录当前登录的每个用户的详细信息。

2. 查看日志文件内容

大多数的日志文件都可以使用tail、more、less、cat等文本处理工具查看日志内容,其中在大多数情况下都是使用tail命令,这样可以方便地查看到最近的日志信息。而且如果在tail命令中加上"-f"选项,还可以实时查看到日志文件中的最新信息。

通常情况下,内核及大多数系统消息都被记录到公共日志文件"/var/log/messages"中,而其它一些程序消息被记录到不同的文件中。日志消息还能够记录到特定的存储设备中,或者直接向用户发送。

例:实时监测/var/log/messages中的日志信息。

[root@localhost ~]# tail -f /var/log/messages

Oct 21 04:48:35 localhost avahi-daemon[3152]: Joining mDNS multicast group on interface eth0.IPv4 with address 192.168.80.130.

Oct 21 04:48:35 localhost avahi-daemon[3152]: Registering new address record for 192.168.80.130 on eth0.

Oct 21 04:48:35 localhost NET[4094]: /sbin/dhclient-script : updated /etc/resolv.conf

Oct 21 04:48:35 localhost dhclient: bound to 192.168.80.130 -- renewal in 760 seconds.

Oct 21 05:01:15 localhost dhclient: DHCPREQUEST on eth0 to 192.168.80.254 port 67

Oct 21 05:01:15 localhost dhclient: DHCPACK from 192.168.80.254

Oct 21 05:01:15 localhost dhclient: bound to 192.168.80.130 -- renewal in 723 seconds.

Oct 21 05:13:18 localhost dhclient: DHCPREQUEST on eth0 to 192.168.80.254 port 67

Oct 21 05:13:18 localhost dhclient: DHCPACK from 192.168.80.254

Oct 21 05:13:18 localhost dhclient: bound to 192.168.80.130 -- renewal in 749 seconds.

Oct 21 05:22:58 localhost kernel: Installing knfsd (copyright (C) 1996 okir@monad.swb.de).

Oct 21 05:22:58 localhost kernel: NFSD: Using /var/lib/nfs/v4recovery as the NFSv4 state recovery directory

Oct 21 05:22:58 localhost kernel: NFSD: starting 90-second grace period

大部分日志文件中所使用的日志记录格式都是相同的。下面以公共日志文件"/var/log/messages"为例来说明日志记录的基本格式。

日志文件中的每一行表示一条消息,每个消息均由四个字段的固定格式组成。

时间标签:消息发出的日期和时间。

主机名:生成消息的计算机的名称。

子系统名称:发出消息的应用程序的名称。

消息:消息的具体内容。

例如上面所显示的最后一条消息:

Oct 21 05:22:58 localhost kernel: NFSD: starting 90-second grace period

这条消息的含义为:

10月21日05:22:58在localhost这台主机上,由内核kernel中的nfsd服务所产生的信息,信息的内容为"starting 90-second grace period"。管理日志服务

RHEL系统中的内核及系统日志功能主要由rsyslogd服务提供,该服务的配置文件为"/etc/rsyslog.conf"。

rsyslogd服务默认已经安装并自动运行,/etc/rsyslog.conf配置文件则可以对日志进行设置,它可以指定那些信息需要记录,以及记录在哪里。

例:查看/etc/rsyslog.conf配置文件中的主要内容。

/etc/rsyslog.conf文件中的每一行代表一条设置值,每一条设置值的语法如下:

消息类型 执行动作

其中的"消息类型"指定哪些消息需要记录,"执行动作"则告诉系统日志服务该如何处理这些消息。

"消息类型"必须以下列的格式指定消息的种类:

消息来源.优先级

"消息来源"表示消息是从哪个子系统传送过来的,来源主要有以下这些:

authpriv:与用户安全、验证有关的消息;

cron:与计划任务有关的消息;

daemon:与一般服务有关的消息;

kern:来自系统内核的消息;

mail:来自邮件系统的消息;

localN:保留

"优先级"则用来指出消息的优先等级,即消息的重要程度。其优先级别如下(数字等级越小,优先级越高,消息越重要):

0 EMERG(紧急):会导致主机系统不可用的情况。

1 ALERT(警告):必须马上采取措施解决的问题。

2 CRIT(严重):比较严重的情况。

3 ERR(错误):运行出现错误。

4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件。

5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。

6 INFO(信息):一般信息。

7 DEBUG(调试):程序或系统调试信息等。

除此之外,"消息来源"与"优先级"可以使用星号(*)代表所有,因此*.*就表示来自所有子系统的所有级别的消息。

而"执行动作"字段则用来定义如何处理接收到的消息,可以指定如下几项内容:

/PATH/FILENAME:将消息存储到指定的文件中,文件必须以斜线(/)开头的绝对路径命名;

USERNAME:将消息发送给指定的已经登录的用户;

@HOSTNAME:将消息转发到指定的日志服务器;

*:将消息发送给所有已经登录的用户。

因而文件中的设置值:

authpriv.* /var/log/secure

它所代表的含义为:将与用户安全、验证有关的所有级别的消息都存储到指定的文件/var/log/secure中。

在对"消息类型"进行设置时,有以下三种方法:

l ".":代表"比后面还要高的优先级(含该优先级)都被记录下来"的意思,例如:mail.info代表只要是mail的消息,而且该消息优先级高于info(含info本身)时,就会被记录下来。

l ".=":代表所需要的优先级就是后面的优先级而已,其他的不要。

l ".!":代表不等于,也就是除了该优先级外的其他优先级都记录。

比如下面的设置项:

mail.info /var/log/maillog_info

表示mail服务产生的大于等于info优先级的信息,都记录到/var/log/maillog_info文件中。

另外,如果需要对不同类型的消息,采用同一种"执行动作",syslog.conf允许使用分号连接多个消息,例如设置值:

*.info;mail.none;authpriv.none;cron.none /var/log/messages

它表示的含义是:将所有的info级别以上的消息(不包括来自邮件系统的、与用户安全、验证有关的、与计划任务有关的消息),都存储到指定的文件/var/log/messages中。

感谢各位的阅读,以上就是"CentOS下怎么查看日志文件的内容"的内容了,经过本文的学习后,相信大家对CentOS下怎么查看日志文件的内容这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0