在示例输出中可以看到大量的信息,范围从硬件设备中的问题一直到邮件服务的当前配置中的问题.
文件的格式非常简单:它包含日期、主机名、服务名称、唯一 ID(使系统记录多行消息并标识它们)和条目的标识符和类.每行上的其余文本只是系统记录错误消息的自由格式文本.
文件的该格式使提取所需信息变得更加方便.文件中的所有行都是使用唯一 ID 标记的,并且所有的行都标有错误消息的标识符和类.
例如,您可以使用邮件系统提取关键问题的信息,方法是使用 grep 挑选使用 mail.crit 标记的项: $ grep mail.crit /var/adm/messages.
处理日志中个别行的详细信息比较复杂.尽管文件的前几列是标准化的(它们由 syslog 守护进程写入),但是,行的其余格式完全依赖于报告错误消息的组件.
它使阅读和分析文件的内容变得非常复杂,您需要根据标识符和报告工具来处理每行.更有甚者,有些行不符合某个格式.
内核日志(dmesg 和 alog)
所有 UNIX 和 Linux 系统的日志实际上是内核的一部分.日志实际上是内核中内存的一部分,用于记录无法写入磁盘的有关内核的信息,这是该信息是加载文件系统之前生成的.
例如,在启动过程中,不能以写入方式访问文件系统(大多数内核以读取模式启动文件系统,直到认为系统足够安全,能够切换到读/写模式为止).此日志中的数据包含关于连接到系统的设备的信息,以及在启动和操作过程中系统记录的任何错误和问题的信息.
在一些系统上,信息会定期写入文件 (/var/log/dmesg);而在另一些系统上,只有使用 alog 命令 (AIX) 或 dmesg(所有其他 UNIX/Linux 变体)才可获得信息.
内核生成的信息并不总是写入另一个文件,如 syslog.这意味着某些信息(如关于设备和硬件的内部数据)只能通过 dmesg 日志提供.
例如,清单 6 显示了 Gentoo Linux 系统上 dmesg 的一些示例输出.为简单起见,此处仅显示了主要启动信息.
清单 6. dmesg 日志内容
$ dmesg Linux version 2.6.22-gentoo-r8 (root@gentoo2.vm) (gcc version 4.1.2 (Gentoo 4.1.2 p1.0.1)) #1 SMP Fri Sep 28 14:22:07 GMT 2007 BIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009fc00 (usable) BIOS-e820: 0000000000100000 - 0000000020000000 (usable) 0MB HIGHMEM available. 512MB LOWMEM available. Entering add_active_range(0, 0, 131072) 0 entries of 256 used Zone PFN ranges: DMA 0 -> 4096 Normal 4096 -> 131072 HighMem 131072 -> 131072 early_node_map[1] active PFN ranges 0: 0 -> 131072 On node 0 totalpages: 131072 DMA zone: 32 pages used for memmap DMA zone: 0 pages reserved DMA zone: 4064 pages, LIFO batch:0 Normal zone: 992 pages used for memmap Normal zone: 125984 pages, LIFO batch:31 HighMem zone: 0 pages used for memmap DMI not present or invalid. Allocating PCI resources starting at 30000000 (gap: 20000000:e0000000) Built 1 zonelists. Total pages: 130048 Kernel command line: root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev Local APIC disabled by BIOS -- you can enable it with "lapic" mapped APIC to ffffd000 (0140c000) Enabling fast FPU save and restore... done. Enabling unmasked SIMD FPU exception support... done. Initializing CPU#0 CPU 0 irqstacks, hard=c054e000 soft=c052e000 PID hash table entries: 2048 (order: 11, 8192 bytes) Detected 2295.874 MHz processor. Console: colour VGA 80x25 Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) Memory: 511616k/524288k available (3150k kernel code, 12100k reserved, 818k data, 264k init, 0k highmem) virtual kernel memory layout: fixmap : 0xffe17000 - 0xfffff000 (1952 kB) pkmap : 0xff800000 - 0xffc00000 (4096 kB) vmalloc : 0xe0800000 - 0xff7fe000 ( 495 MB) lowmem : 0xc0000000 - 0xe0000000 ( 512 MB) .init : 0xc04e7000 - 0xc0529000 ( 264 kB) .data : 0xc0413884 - 0xc04e0364 ( 818 kB) .text : 0xc0100000 - 0xc0413884 (3150 kB) Checking if this processor honours the WP bit even in supervisor mode... Ok. Calibrating delay using timer specific routine.. 4674.89 BogoMIPS (lpj=23374475) Mount-cache hash table entries: 512 CPU: After generic identify, caps: 0f80b9b9 00000000 00000000 00000000 00000001 00000000 00000000 CPU: L1 I cache: 32K, L1 D cache: 32K CPU: L3 cache: 4096K CPU: After all inits, caps: 0f80b9b9 00000000 00000000 00000140 00000001 00000000 00000000 ...
拥有帝国一切,皆有可能。欢迎访问phome.net |
|