在典型的 UNIX? 或 Linux? 计算机操作过程中会创建许多日志文件。其中一些日志文件包含有用的信息;还有一些可帮助您进行容量和资源规划。本文重点介绍不同日志文件中记录的基本信息、它们的位置以及如何使用该信息确定系统的运行情况。
关于本系列
典型的 UNIX 管理员拥有一套经常用于辅助管理过程的关键实用工具、诀窍和系统。有一些重要的实用程序、命令行以及脚本可用来简化各种处理过程。其中一些工具来自于操作系统,而大部分的诀窍则来源于长期的经验积累和减轻系统管理员工作压力的要求。本系列文章主要专注于最大限度地利用各种 UNIX 环境中可用的工具,包括简化异构环境中的管理任务的方法。
日志文件
所有系统都会生成不同数量的日志文件,这些文件用于跟踪和记录关于计算机的不同信息。这些文件的内容和效用因系统而异,但是文件提供的核心信息通常是一致的。
例如,所有的 UNIX 和 Linux 计算机都使用 syslog(操作系统、应用程序和服务用来记录信息的通用日志记录系统)来记录信息。syslog 一般会记录大量的数据,其中包括由不同硬件和系统报告的登录、性能信息和故障。除 syslog 外,系统还有用来记录关于计算机及其操作信息的各种服务、环境和应用程序日志。
尽管分析和提取日志文件内容的信息可能非常耗时和复杂,但是不能忽略这些日志中信息的价值。日志文件可以提供关于潜在问题、错误和安全漏洞等方面的提示,如果使用正确,甚至可以提供关于服务器负载和容量方面的警告。
日志位置
各种日志文件的位置因系统而异。在大多数的 UNIX 和 Linux 系统上,大部分日志文件都位于 /var/log 中。例如,清单 1 显示了 Gentoo Linux 系统上的日志文件列表。
清单 1. Linux /var/log 目录内容
$ ll /var/log total 3312 -rw-r----- 1 root root 8218 2007-11-03 06:21 dmesg -rw-rw---- 1 portage portage 650111 2008-02-02 13:01 emerge.log -rw------- 1 root root 24024 2007-11-05 07:26 faillog -rw-r--r-- 1 root root 386032 2007-09-28 14:39 genkernel.log drwxr-xr-x 2 root root 4096 2007-11-03 06:47 iptraf/ -rw-r--r-- 1 root root 292292 2008-02-03 08:07 lastlog -rw------- 1 root root 1346931 2008-02-03 08:50 messages drwxr-xr-x 2 root root 4096 2006-08-30 17:04 news/ drwxr-xr-x 3 root root 4096 2007-09-28 13:22 portage/ drwxrwx--- 2 root portage 4096 2007-11-03 06:40 sandbox/ drwxrwx--- 2 snort snort 4096 2007-10-13 11:34 snort/ -rw-rw-r-- 1 root utmp 496896 2008-02-03 08:07 wtmp -rw-rw-rw- 1 root mc 61189 2007-06-10 11:37 Xorg.0.log -rw-rw-rw- 1 root root 61189 2007-06-10 10:40 Xorg.0.log.old |
在 Solaris?、IBM? AIX? 和 HP-UX? 上,主要 syslog 和其它大多数日志文件都写入 /var/adm 目录中的文件(清单 2)。
清单 2. 传统 UNIX /var/adm 内容
$ ls -al /var/adm total 230 drwxrwxr-x 9 root sys 512 Feb 3 15:30 . drwxr-xr-x 48 root sys 1024 Feb 3 15:32 .. drwxrwxr-x 5 adm adm 512 Feb 2 16:13 acct -rw------- 1 uucp bin 0 Jan 12 18:49 aculog drwxr-xr-x 2 adm adm 512 Feb 2 16:03 exacct -r--r--r-- 1 root root 2856 Feb 3 16:10 lastlog drwxr-xr-x 2 adm adm 512 Feb 2 16:03 log -rw-r--r-- 1 root root 69065 Feb 3 16:08 messages drwxr-xr-x 2 root sys 512 Feb 2 16:09 pool drwxrwxr-x 2 adm sys 512 Feb 2 16:13 sa drwxr-xr-x 2 root sys 512 Feb 2 17:03 sm.bin -rw-rw-rw- 1 root bin 0 Jan 12 18:47 spellhist drwxr-xr-x 2 root sys 512 Feb 2 16:03 streams -rw------- 1 root root 93 Feb 3 16:08 sulog -rw-r--r-- 1 root bin 3720 Feb 3 16:14 utmpx -rw-r--r-- 1 adm adm 29760 Feb 3 16:10 wtmpx |
另外,某些非系统级别的消息和信息都写入位于 /var/log 中的日志中(清单 3)。例如,在 Solaris 上,邮件调试项在缺省情况下写入 /var/log/syslog。
清单 3. Solaris 上 /var/log 中的其他日志
$ ls -al /var/log/ total 48158 drwxr-xr-x 7 root sys 512 Feb 3 16:07 . drwxr-xr-x 48 root sys 1024 Feb 3 15:32 .. -rw------- 1 root sys 0 Jan 12 18:48 authlog -rw-r--r-- 1 root other 27 Feb 2 16:17 brlog drwxr-xr-x 2 root root 512 Feb 2 16:39 gdm drwxr-xr-x 2 root sys 512 Feb 2 16:09 pool -rw-r--r-- 1 root sys 24480410 Feb 3 12:51 postrun.log drwxr-xr-x 2 root sys 512 Feb 2 16:41 swupas -rw-r--r-- 1 root other 635 Feb 2 17:25 sysidconfig.log -rw-r--r-- 1 root sys 3967 Feb 3 16:08 syslog drwxr-xr-x 3 root sys 512 Feb 2 17:25 webconsole drwxr-xr-x 2 root sys 512 Feb 2 16:37 xen -rw-r--r-- 1 root root 66171 Feb 3 16:07 Xorg.0.log -rw-r--r-- 1 root root 66256 Feb 3 16:06 Xorg.0.log.old |
当然,找到文件是最起码的问题。您需要知道文件包含哪些有用的信息。
根据 UNIX 的变体,一些日志在其他地方可能比较杂乱,但是,已对标准化文件位置进行了一些有意义的尝试,使日志文件都归入前文已经提及的目录之一。
[1] [2] [3] [4] 下一页