您的位置:首页 > 其它

Windows 2003服务器Windows 2003终极技巧 2

2008-03-24 15:38 357 查看
关于系统日志的主要配置文件有两个:

/etc/sysconfig/syslog这里定义syslog服务启动时可加入的参数。

/etc/syslog.conf这个是syslog服务的主要配置文件,根据定义的规则导向日志信息。

日志存放在: /var/log

内核启动信息:/var/log/dmesg 查看:dmesg | less

默认系统错误信息文件: /var/log/messages 该文件格式:时间 主机 产生程序 信息

邮件系统相关日志: /var/log/maillog

安全,认证及xinetd日志:/var/log/secure

内核审计信息:var/log/audit/adit.log ,使用aureport ,ausearch查看工具查看

日志守护进程:syslogd 系统 klogd 内核

该进程其实就是一个运行的脚本:/etc/init.d/syslog

# service syslog restart|start|stop|status 该脚本可以用service调用

/etc/syslog.conf 定义日志信息来源与日志存放位置 内容格式:facility.priority /var/log/Filename

facility.prioity为选择条件,本身分为两个字段,之间用一个小数点分隔。前一字段是一项服务,后一字段是一个优先级。选择条件其实是对消息类型的一种分类,这种分类便于人们把不同类型的消息发送到不同的地方。

1、facility

facility定义日志消息的范围,其可使用的key有:

auth -由 pam_pwdb 报告的认证活动。

authpriv -包括特权信息如用户名在内的认证活动

cron -计划任务信息

daemon -后台进程

kern -内核信息

lpr -打印信息。

mail -邮件

mark - syslog内部功能用于生成时间戳

news -新闻组信息

syslog -系统日志

user -用户进程

uucp - uucp 程序

local0-local7 -本地用户

* 通配符代表除了 mark 以外的所有功能。除mark为内部使用外,还有security为一个旧的key定义,等同于auth,已经不再建议使用。

2、level级别

level定义消息的紧急程度。按严重程度由高到低顺序排列为:emerg -该系统不可用,等同panic

alert -需要立即被修改的条件

crit -阻止某些工具或子系统功能实现的错误条件

err -阻止工具或某些子系统部分功能实现的错误条件,等同error

warning -预警信息,等同warn

notice -具有重要性的普通条件

info -提供信息的消息

debug -不包含函数条件或问题的其他信息

none -没有重要级,通常用于排错

* 所有级别,除了none。其中,panic、error、warn均为旧的标识符,不再建议使用。

在定义level级别的时候,需要注意两点:1)优先级是由应用程序在编程的时候已经决定的,除非修改源码再编译,否则不能改变消息的优先级;

优先级表示方法:facility.info 包括此级别及高级别的日志信息 facility.=info 级别等于info的 facility.!=info级别不等的 facility.!info 级别小于info的

uucp,new.crit uucp和news都使用crit级别 uucp.info;news.crit :uucp 使用info而news使用crit级别

5、举例

例如:*.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages

#把除邮件、新闻组、授权信息、计划任务等外的所有通知性消息都写入messages文件中。

mail,news.=info /var/adm/info

#把邮件、新闻组中仅通知性消息写入info文件,其他信息不写入。

mail.*;mail.!=info /var/adm/mail

#把邮件的除通知性消息外都写入mail文件中。

mail.=info /dev/tty12

#仅把邮件的通知性消息发送到tty12终端设备

*.alert root , joey

#如果root和joey用户已经登陆到系统,则把所有紧急信息通知他们

*.* @finlandia

#把所有信息都导向到finlandia主机(通过/etc/hosts或dns解析其IP地址)

注意的是:每条消息均会经过所有规则的,并不是唯一匹配的。

也就是说,假设mail.=info信息通过上面范例中定义的规则时,/var/adm/info、/var/adm/mail、/dev/tty12,甚至finalandia主机都会收到相同的信息。

这样看上去比较烦琐,但可以带来的好处就是保证了信息的完整性,可供不同地方进行分析。

三、设置服务参数

默认情况下,syslog进程是不能接受其他日志服务器发过来的消息的。而通过修改其启动参数,可实现日志的大集中功能。

修改/etc/sysconfig/syslog文件:

-r : 打开接受外来日志消息的功能,其监控514 UDP端口;

-x : 关闭自动解析对方日志服务器的FQDN信息,这能避免DNS不完整所带来的麻烦;

-m : 修改syslog的内部mark消息写入间隔时间(0为关闭),例如240为每隔240分钟写入一次“--MARK--”信息;

-h :默认情况下,syslog不会发送从远端接受过来的消息到其他主机,而使用该选项,则把该开关打开,所有接受到的信息都可根据syslog.conf中定义的@主机转发过去。

通过man syslogd可获得更详细的帮助。

配置日志服务器的操作十分简单:

vim /etc/syslog.conf

(修改SYSLOGD_POTIONS如下)

# SYSLOGD_OPTIONS="-r-x-m 0"

保存后,重启服务即可:

# service syslog restart

此时,客户机只要通过修改syslog.conf,在最后定义动作为@主机或IP(在最后写上下面一行),即可发送日志信息到本服务器中。

*.* @192.168.0.238

这地方也可以用 @name 不过这个name要在 /etc/hosts 中指定ip地址

(在构建集中的日志服务器时,请务必配合ntp时间服务,以保证信息的有效性,

如果这台机器上运行着iptables防火墙或TCPWrappers,请确保它们允许514号端口上的连接通过。syslog守护进程要用到514号端口。)

关于ntp配置的详情可以先参见下:http://linux.vbird.org/linux_server/0440ntp.php

我在以后也会详细讲到,在这里先简单说下配置:

保证日志客户端与服务器时间同步的发放有很多,例如将日志服务器配置为ntp服务器,让客户端每天与服务器同步一次时间:

例如服务器为192.168.0.238

服务器:

vim /etc/ntp.conf

restrict default ignore 客户端可以通过网络来校对时间,不能修改服务器时间参数

restrict 127.0.0.1 该ip不受限制

restrict 192.168.0.254 该ip不受限制

server 192.168.0.254 prefer 定义时间源,prefer表示高优先级

server 127.0.0.1 备用事件源定为自己

driftfile /var/lib/ntp/drift 记录时间差异

broadcastdelay 0.008

客户端:

crontab -e

00 03 * * * /usr/sbin/ntpdate 192.168.0.238 每天凌晨3点与服务器校对时间
本文出自 “linux之路” 博客,请务必保留此出处http://linuxzoe.blog.51cto.com/3005391/560858
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: