你有可能编辑 /etc/syslog.conf 文件来使群集把事件记录到 /var/log/messages 以外的日志文件中。把群集消息记录到不同的文件有助于更清晰地诊断问题。
成员使用 syslogd 守护进程把和群集相关的事件记录到 /etc/syslog.conf 文件中指定的文件中。日志文件使诊断群集问题成为可能。推荐你设置事件记录,因此 syslogd 守护进程只记录运行着的成员上的群集消息。你需要检查所有成员上的日志文件来获得整个群集的全景。
syslogd 守护进程记录群集守护进程的消息,这些消息默认为严重性级别4(「警告」)。关于群集守护进程的详情请参阅第 2.6 节。
事件的重要性决定日志项目的严重性级别。重要的事件在它们会影响群集的可用性之前应该被调查。群集可以使用以下严重性级别来记录消息,这些级别按照其严重程度排列:
EMERG — 成员不能被使用(紧急情况)。
ALERT — 必须立即采取行动来解决问题。
CRIT — 出现了严重事件。
ERR — 出现了错误。
WARN — 可能需要注意的重要事件。
NOTICE — 重要的正常事件。
INFO — 不太重要的正常群集操作信息。
DEBUG — 详细描述群集操作的诊断性输出(通常是管理员不感兴趣的)。
日志文件项目的例子如下:
Jul 18 20:24:39 clu1 clufence[7397]: <info> STONITH: rps10 at /dev/ttyS0,\ port 0 controls clu1 Jul 18 20:24:39 clu1 clufence[7397]: <info> STONITH: rps10 at /dev/ttyS0,\ port 1 controls clu2 Jul 18 20:24:53 clu1 clufence[7397]: Port 0 being turned off. Jul 18 20:24:53 clu1 clufence[7397]: <notice> STONITH: clu2 has been fenced! Jul 18 20:51:03 clu1 clufence[30780]: <info> STONITH: rps10 at/dev/ttyS0,\ port 0 controls clu1 Jul 18 20:51:03 clu1 clufence[30780]: <info> STONITH: rps10 at /dev/ttyS0,\ port 1 controls clu2 Jul 18 20:51:17 clu1 clufence[30780]: Port 0 being turned on. Jul 18 20:51:17 clu1 clufence[30780]: <notice> STONITH: clu2 is no longer fenced off. [1] [2] [3] [4] [5] |
日志文件中的每个项目都包含以下信息:
[1] 日期和时间
[2] 主机名
[3] 群集资源或守护进程
[4] 严重性
[5] 消息
配置了群集软件后,你还可以编辑 /etc/syslog.conf 文件来使群集把事件记录到不同于默认日志文件(/var/log/messages)的文件中。群集工具和守护进程使用一个叫做 local4 的 syslog 标签来记录它们的消息。使用群集特有的日志文件使群集监视和解决问题成为可能。
要防止群集事件被记录到 /var/log/messages 文件中,把 local4.none 添加到 /etc/syslog.conf 文件中的以下行:
# Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;news.none;authpriv.none;local4.none /var/log/messages |
要让群集记录设施在 /var/log/cluster 文件中记录群集事件,把和以下相似的内容添加到 /etc/syslog.conf 文件中:
# # Cluster messages coming in on local4 go to /var/log/cluster # local4.* /var/log/cluster |
要应用从前的改变,使用 service syslog restart 命令来重新启动 syslogd。
此外,你还可能修改被个别群集守护进程记录的事件严重性级别;详情请参考第 2.6 节和 syslog.conf 的说明书页。
要根据 /etc/logrotate.conf 文件(默认为每周)中指定的频繁程度来循环群集日志文件,在 /etc/logrotate.d/syslog 文件的第一行中添加 /var/log/cluster。例如:
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron /var/log/cluster { sharedscripts postrotate /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true endscript } |