首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Unix/Linux 系统自动化管理 日志管理篇(1)

Unix/Linux 系统自动化管理 日志管理篇(1)

系统日志Unix/Linux中一个非常重要的功能组成部分。它可以按照某种规范记录下系统所产生的所有行为。我们可以使用系统日志所记录的信息进行系统排错,系统性能优化,或者根据这些信息调整系统的行为。另外,系统日志还可以为系统的安全管理提供重要的信息。
不同的操作系统可能会使用不同的日志方式,如AIX的Error log和Linux的syslog/syslog-ng。本文将分别论述在AIX上对Error log的监控和在Linux上对syslog/syslog-ng的监控。
AIX Error log 简介及其自动化监控机制大部分的 Unix/Linux 系统都使用 syslog 作为系统日志方式,AIX 也支持 syslog 机制,但是 AIX 操作系统及其主要应用程序相关的日志都使用 Error log 来记录日志,只有少量的应用程序使用 syslog。AIX syslog 和 Linux syslog 的功能以及配置非常类似,在此不再重复论述。
AIX Error log 机制是 AIX 基本系统 (Base Operating System) 的一部分,在缺省安装情况下无需进行任何配置即可使用 AIX Error log 机制。
AIX Error log 机制组件AIX Error log 机制主要由以下几个部分组成:
  • 设备文件 /dev/error: 用于接收内核以及应用程序产生的日志信息。
  • 守护进程 /usr/lib/errdemon:在系统初始化时自动启动,监控内核以及应用程序传递给设备文件 /dev/error 的日志信息,并将日志信息计入日志文件。
  • 日志文件 /var/adm/ras/errlog:缺省日志文件。日志文件位置可以通过命令 /usr/lib/errdemon – i 进行配置
  • 辅助程序:除了设备文件、守护进程和日志文件外,AIX Error log 还提供了丰富的辅助程序对 Error log 进行配置、操作、分析和生成报告。在下面的章节中会对各辅助程序进行详细的说明。
AIX Error log 配置AIX Error log 可以在不进行任何配置的情况下使用而且缺省配置基本上可以满足各种场景的使用需求,但 AIX 仍然提供了配置接口。通过配置接口可以修改设备文件 /dev/error 的缓冲区尺寸、日志文件的位置、日志文件的尺寸限制以及对重复日志的处理等等。AIX Error log 通过命令 /usr/lib/errdemon 进行配置。
  • 修改 Error log 设备的缓冲区大小                        Error log 设备 /dev/error 为块设备,需要使用缓冲区进行读写。缺省情况下,/dev/error 的缓冲区大小为 8KB,我们可以通过 /usr/lib/errdemon – B 来配置 /dev/error 的缓冲区大小。如果新配置的缓冲区大小大于现有的配置,新配置将会立即生效;如果新配置的缓冲区大小小于现有的配置,则新配置会在 errdemon 重新启动后生效。
  • 配置日志文件路径                        缺省情况下,AIX Error log 会使用文件 /var/adm/ras/errlog 存储日志信息,使用 /usr/lib/errdemon – i 可以配置 Error log 日志文件的路径。新配置的日志文件路径会立即生效。
  • 配置日志文件大小限制                        AIX Error log 的日志文件大小是可配置的,配置命令为 /usr/lib/errdemon – s。如果新配置的日志文件大小大于现有的配置,新配置将会立即生效;如果新配置的日志文件大小小于现有的配置,则现有的日志文件将会被备份为 *.log,然后 errdemon 会用新的日志文件大小配置生成一个新的日志文件。
  • 配置对重复条目的处理                        如果操作系统或者应用程序发生了重复的信息或者错误,在 Error log 中就会造成重复的条目。AIX Error log 对重复的条目会进行相应的处理,如在一定时间内内容相同的条目将会被标记为重复,如果重复的条目数超过了预先设置的阈值,则新的重复的条目将不会再作为重复条目被记入 Error log。是否打开重复条目处理功能的配置参数为 /usr/lib/errdemon – d,重复条目的时间间隔配置参数为 /usr/lib/errdemon – t,最大重复条目数的配置参数为 /usr/lib/errdemon – m。
AIX Error log 使用AIX Error log 机制启动后,操作系统或者应用程序将会通过 AIX Error log 记录所发生的事件或者错误。本节将给出日常使用 AIX Error log 的常用命令及其使用方法。AIX Error log 的使用主要有生成 Error log 报告和删除 Error log 条目。
生成 AIX Error log 报告
AIX 命令 errpt 可以用来生成 Error log 报告,errpt 提供了丰富的参数来指定源数据的范围和报告的格式。如 -d 参数可以用来指定只显示特定的错误种类,-s 和 -e 参数可以指定特定时间范围内的日志条目,-l 参数可以指定之显示特定序号的日志条目,-a 参数可以指定显示日志条目的详细信息。具体 errpt 的用法可参见 errpt 的 manpage。
在此列举 errpt 使用的一个例子并以此例子说明 AIX Error log 条目中各字段的含义。
清单 1. errpt 命令输出示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#errpt -a -l 2
---------------------------------------------------------
LABEL:          REBOOT_ID
IDENTIFIER:     2BFA76F6

Date/Time:       Mon Mar  2 21:38:21 2009
Sequence Number: 2
Machine Id:      00C0DD724C00
Node Id:         p6ml4n05
Class:           S
Type:            TEMP
WPAR:            Global
Resource Name:   SYSPROC

Description
SYSTEM SHUTDOWN BY USER

Probable Causes
SYSTEM SHUTDOWN

Detail Data
USER ID
          0
0=SOFT IPL 1=HALT 2=TIME REBOOT
          0
TIME TO REBOOT (FOR TIMED REBOOT ONLY)
          0
#




其中各主要字段的含义如下:
LABEL:为该事件预先定义的名称
IDENTIFIER:此事件的数字标识
Date/Time:事件发生的日期和时间
Sequence Number:事件序列号
Machine Id:此事件发生的节点处理器识别符
Node Id:此事件发生的节点名称
Class:事件的类别。AIX Error log 目前支持的类别有:
H: 硬件
S:软件
O:Informational 条目
U:无法确定事件的类别
Type:事件的严重程度,AIX Error log 目前支持的事件严重程度有:
PEND:设备或组件即将失效
PERF:设备或组件的性能已经低于可以接受的阈值
PERM:无法修复的错误。PERM 是所有错误中最严重的一种,PERM log 往往说明某个硬件或者软件组件已经失效并且无法修复。
TEMP:在若干次失败后某个错误被成功修复。TEMP 也可以用于标识 informational 条目。
UNKN:无法确定事件的严重程度
INFO:信息而并非错误
Resource Name:产生信息的组件名称
Description:事件的简短描述
Probable Causes:事件产生的可能原因
删除 AIX Error log
删除 AIX Error log 条目可以使用命令 errclear,errclear 也提供了选项用于指定删除的范围,如 -d 指定仅删除特定类别的事件,-l 指定仅删除特定序号的条目。通常情况下,errclear 可以被用作 cron 条目周期性执行用以清楚 Error log 文件。
手动生成 AIX Error log 条目
命令 errlogger 可以用于手动生成 AIX Error log 条目。手动生成 AIX Error log 条目可以用于测试 AIX Error log 功能或者测试下面将要论述的自动监控功能等。
返回列表