设为首页
收藏本站
淘宝精选
开启辅助访问
登录
注册后绑定Q登陆
手机号登录
手机号码,快捷登录
微信登录
QQ登录
快捷导航
发布信息
搜索
搜索
支持我们
使用96IE来支持论坛
首页
任务
勋章
签到
签到等于每天打卡
导读
邀请码
装机必备的软件、去广告版
装机助手
装机网
精品操作系统下载
免费邀请码
记录
Doing
每日签到
本版
帖子
用户
PCOS技术网
»
首页
›
≡技术交流≡
›
电脑技术交流
›
配置linux syslog日志服务器
返回列表
发新帖
查看:
498
|
回复:
2
配置linux syslog日志服务器
[复制链接]
amwdnuff
amwdnuff
当前离线
积分
10395266
IP卡
狗仔卡
签到天数: 2626 天
连续签到: 5 天
[LV.Master]至尊海神IIIIII
发表于 2009-5-11 13:48
|
广东
|
显示全部楼层
|
阅读模式
配置linux syslog日志服务器 目前,linux依旧使用syslogd作为日志监控进程,而在主流的linux发行版中依旧使用syslog这个比较老的日志服务器套件。对syslog进行必要的配置能减少很多麻烦,并且可更有效的从
系统
日志监控到系统的状态。理解并完善一个syslog的配置,对于系统管理员来说显得尤为重要。
一、配置文件
以红旗DC Server 5.0为例,默认的日志服务器就是sysklog套件:# rpm -qa|grep sysklogd
sysklogd-1.4.1-26_EL
其主要的配置文件有两个:
/etc/sysconfig/syslog这里定义syslog服务启动时可加入的参数。
/etc/syslog.conf这个是syslog服务的主要配置文件,根据定义的规则导向日志信息。
二、设置主配置文件
/etc/syslog.conf根据如下的格式定义规则:
facility.level action
设备.优先级 动作facility.level 字段也被称为seletor(选择条件),选择条件和动作之间用空格或tab分割开。
#号开头的是注释,空白行会自动跳过。
1、facility
facility定义日志消息的范围,其可使用的key有:auth -由 pam_pwdb 报告的认证活动。
authpriv -包括特权信息如用户名在内的认证活动
cron -与 cron 和 at 有关的计划任务信息。
daemon -与 inetd 守护进程有关的后台进程信息。
kern -内核信息,首先通过 klogd 传递。
lpr -与打印服务有关的信息。
mail -与电子邮件有关的信息
mark - syslog内部功能用于生成时间戳
news -来自新闻服务器的信息
syslog -由 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)优先级是由应用程序在编程的时候已经决定的,除非修改源码再编译,否则不能改变消息的优先级;
2)低的优先级包含高优先级,例如,为某个应用程序定义info的日志导向,则涵盖notice、warning、err、crit、alert、emerg等消息。(除非使用=号定义)3、selector选择条件
通过小数点符号“.”把facility和level连接在一起则成为selector(选择条件)。
可以使用分号“;”同时定义多个选择条件。也支持三个修饰符:* - 所有日志信息
= 等于,即仅包含本优先级的日志信息
! = 不等于,本优先级日志信息除外
4、action动作
由前面选择条件定义的日志信息,可执行下面的动作:file-指定日志文件的绝对路径
terminal 或 print -发送到串行或并行设备标志符,例如/dev/ttyS2
@host -远程的日志服务器
username -发送信息本机的指定用户信息窗口中,但该用户必须已经登陆到系统中
named pipe -发送到预先使用 mkfifo 命令来创建的 FIFO 文件的绝对路径※注意,不能通过“|/var/xxx.sh”方式导向日志到其他脚本中处理。
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主机都会收到相同的信息。
这样看上去比较烦琐,但可以带来的好处就是保证了信息的完整性,可供不同地方进行分析。
6、测试
部分情况下,上述规的实际执行结果和定义的预想结果可能会有出入。这时,可使用logger程序辅助测试:
# logger -p user.notice 'Hello World!'
日志显示:
Nov 12 13:40:04 dc5test root: Hello World!
其表示意思如下:
第一列:日志产生时间
第二列:产生此日志的主机名称
第三列:产生此日志的应用程序或用户名称
第四列:日志信息7、自定义日志级别
正如前面所说的,应用程序的日志级别是由应用程序所决定的。部分应用程序可通过配置,定义其日志级别。
例如,/etc/ssh/sshd_config文件中就有:#
SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
把sshd的日志定义在authpriv.info级别。
配合syslog.conf中的:
authpriv.* /var/log/secure
则日志文件被写入/var/log/secure文件中。
我们修改为:SyslogFacility local0
配合在syslog.conf中增加:
local0.* /var/log/sshd.log
保存后,重新启动sshd或syslog服务,则以后sshd服务的所有日志都会单独的放到 sshd.log文件中了。
三、设置服务参数
默认情况下,syslog进程是不能接受其他日志服务器发过来的消息的。而通过修改其启动参数,可实现日志的大集中功能。
修改/etc/sysconfig/syslog文件:
-r : 打开接受外来日志消息的功能,其监控514 UDP端口;
-x : 关闭自动解析对方日志服务器的FQDN信息,这能避免DNS不完整所带来的麻烦;
-m : 修改syslog的内部mark消息写入间隔时间(0为关闭),例如240为每隔240分钟写入一次“--MARK--”信息;
-h :默认情况下,syslog不会发送从远端接受过来的消息到其他主机,而使用该选项,则把该开关打开,所有接受到的信息都可根据syslog.conf中定义的@主机转发过去。
通过man syslogd可获得更详细的帮助,
而具体到实际配置文件改为:
SYSLOGD_OPTIONS=\"-r-x-m 0\"
保存后,重启服务即可:
# service syslog restart
此时,客户机只要通过修改syslog.conf,在最后定义动作为@主机或IP,即可发送日志信息到本服务器中。
*.* @192.168.22.100
这地方也可以用 @name 不过这个name要在 /etc/hosts 中指定ip地址
(在构建集中的日志服务器时,请务必配合ntp时间服务,以保证信息的有效性,避免不必要的麻烦)
另外,/etc/sysconfig/syslog配置文件中,还定义有klogd服务的启动参数:
KLOGD_OPTIONS=\"-x\"详细帮助,请参考man 8 klogd或man klogd。
PCOS系统下载站:http://zhuangji.wang
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
抢沙发
千斤顶
显身卡
amwdnuff
amwdnuff
当前离线
积分
10395266
IP卡
狗仔卡
签到天数: 2626 天
连续签到: 5 天
[LV.Master]至尊海神IIIIII
楼主
|
发表于 2009-5-11 13:48
|
广东
|
显示全部楼层
配置linux syslog日志服务器
配置linux syslog日志服务器 目前,linux依旧使用syslogd作为日志监控进程,而在主流的linux发行版中依旧使用syslog这个比较老的日志服务器套件。对syslog进行必要的配置能减少很多麻烦,并且可更有效的从系统日志监控到系统的状态。理解并完善一个syslog的配置,对于系统管理员来说显得尤为重要。
一、配置文件
以红旗DC Server 5.0为例,默认的日志服务器就是sysklog套件:# rpm -qa|grep sysklogd
sysklogd-1.4.1-26_EL
其主要的配置文件有两个:
/etc/sysconfig/syslog这里定义syslog服务启动时可加入的参数。
/etc/syslog.conf这个是syslog服务的主要配置文件,根据定义的规则导向日志信息。
二、设置主配置文件
/etc/syslog.conf根据如下的格式定义规则:
facility.level action
设备.优先级 动作facility.level 字段也被称为seletor(选择条件),选择条件和动作之间用空格或tab分割开。
#号开头的是注释,空白行会自动跳过。
1、facility
facility定义日志消息的范围,其可使用的key有:auth -由 pam_pwdb 报告的认证活动。
authpriv -包括特权信息如用户名在内的认证活动
cron -与 cron 和 at 有关的计划任务信息。
daemon -与 inetd 守护进程有关的后台进程信息。
kern -内核信息,首先通过 klogd 传递。
lpr -与打印服务有关的信息。
mail -与电子邮件有关的信息
mark - syslog内部功能用于生成时间戳
news -来自新闻服务器的信息
syslog -由 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)优先级是由应用程序在编程的时候已经决定的,除非修改源码再编译,否则不能改变消息的优先级;
2)低的优先级包含高优先级,例如,为某个应用程序定义info的日志导向,则涵盖notice、warning、err、crit、alert、emerg等消息。(除非使用=号定义)3、selector选择条件
通过小数点符号“.”把facility和level连接在一起则成为selector(选择条件)。
可以使用分号“;”同时定义多个选择条件。也支持三个修饰符:* - 所有日志信息
= 等于,即仅包含本优先级的日志信息
! = 不等于,本优先级日志信息除外
4、action动作
由前面选择条件定义的日志信息,可执行下面的动作:file-指定日志文件的绝对路径
terminal 或 print -发送到串行或并行设备标志符,例如/dev/ttyS2
@host -远程的日志服务器
username -发送信息本机的指定用户信息窗口中,但该用户必须已经登陆到系统中
named pipe -发送到预先使用 mkfifo 命令来创建的 FIFO 文件的绝对路径※注意,不能通过“|/var/xxx.sh”方式导向日志到其他脚本中处理。
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主机都会收到相同的信息。
这样看上去比较烦琐,但可以带来的好处就是保证了信息的完整性,可供不同地方进行分析。
6、测试
部分情况下,上述规的实际执行结果和定义的预想结果可能会有出入。这时,可使用logger程序辅助测试:
# logger -p user.notice 'Hello World!'
日志显示:
Nov 12 13:40:04 dc5test root: Hello World!
其表示意思如下:
第一列:日志产生时间
第二列:产生此日志的主机名称
第三列:产生此日志的应用程序或用户名称
第四列:日志信息7、自定义日志级别
正如前面所说的,应用程序的日志级别是由应用程序所决定的。部分应用程序可通过配置,定义其日志级别。
例如,/etc/ssh/sshd_config文件中就有:#
SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
把sshd的日志定义在authpriv.info级别。
配合syslog.conf中的:
authpriv.* /var/log/secure
则日志文件被写入/var/log/secure文件中。
我们修改为:SyslogFacility local0
配合在syslog.conf中增加:
local0.* /var/log/sshd.log
保存后,重新启动sshd或syslog服务,则以后sshd服务的所有日志都会单独的放到 sshd.log文件中了。
三、设置服务参数
默认情况下,syslog进程是不能接受其他日志服务器发过来的消息的。而通过修改其启动参数,可实现日志的大集中功能。
修改/etc/sysconfig/syslog文件:
-r : 打开接受外来日志消息的功能,其监控514 UDP端口;
-x : 关闭自动解析对方日志服务器的FQDN信息,这能避免DNS不完整所带来的麻烦;
-m : 修改syslog的内部mark消息写入间隔时间(0为关闭),例如240为每隔240分钟写入一次“--MARK--”信息;
-h :默认情况下,syslog不会发送从远端接受过来的消息到其他主机,而使用该选项,则把该开关打开,所有接受到的信息都可根据syslog.conf中定义的@主机转发过去。
通过man syslogd可获得更详细的帮助,
而具体到实际配置文件改为:
SYSLOGD_OPTIONS=\"-r-x-m 0\"
保存后,重启服务即可:
# service syslog restart
此时,客户机只要通过修改syslog.conf,在最后定义动作为@主机或IP,即可发送日志信息到本服务器中。
*.* @192.168.22.100
这地方也可以用 @name 不过这个name要在 /etc/hosts 中指定ip地址
(在构建集中的日志服务器时,请务必配合ntp时间服务,以保证信息的有效性,避免不必要的麻烦)
另外,/etc/sysconfig/syslog配置文件中,还定义有klogd服务的启动参数:
KLOGD_OPTIONS=\"-x\"详细帮助,请参考man 8 klogd或man klogd。
PCOS系统下载站:http://zhuangji.wang
回复
支持
反对
使用道具
举报
显身卡
amwdnuff
amwdnuff
当前离线
积分
10395266
IP卡
狗仔卡
签到天数: 2626 天
连续签到: 5 天
[LV.Master]至尊海神IIIIII
楼主
|
发表于 2009-5-11 13:48
|
广东
|
显示全部楼层
配置linux syslog日志服务器
配置linux syslog日志服务器 目前,linux依旧使用syslogd作为日志监控进程,而在主流的linux发行版中依旧使用syslog这个比较老的日志服务器套件。对syslog进行必要的配置能减少很多麻烦,并且可更有效的从系统日志监控到系统的状态。理解并完善一个syslog的配置,对于系统管理员来说显得尤为重要。
一、配置文件
以红旗DC Server 5.0为例,默认的日志服务器就是sysklog套件:# rpm -qa|grep sysklogd
sysklogd-1.4.1-26_EL
其主要的配置文件有两个:
/etc/sysconfig/syslog这里定义syslog服务启动时可加入的参数。
/etc/syslog.conf这个是syslog服务的主要配置文件,根据定义的规则导向日志信息。
二、设置主配置文件
/etc/syslog.conf根据如下的格式定义规则:
facility.level action
设备.优先级 动作facility.level 字段也被称为seletor(选择条件),选择条件和动作之间用空格或tab分割开。
#号开头的是注释,空白行会自动跳过。
1、facility
facility定义日志消息的范围,其可使用的key有:auth -由 pam_pwdb 报告的认证活动。
authpriv -包括特权信息如用户名在内的认证活动
cron -与 cron 和 at 有关的计划任务信息。
daemon -与 inetd 守护进程有关的后台进程信息。
kern -内核信息,首先通过 klogd 传递。
lpr -与打印服务有关的信息。
mail -与电子邮件有关的信息
mark - syslog内部功能用于生成时间戳
news -来自新闻服务器的信息
syslog -由 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)优先级是由应用程序在编程的时候已经决定的,除非修改源码再编译,否则不能改变消息的优先级;
2)低的优先级包含高优先级,例如,为某个应用程序定义info的日志导向,则涵盖notice、warning、err、crit、alert、emerg等消息。(除非使用=号定义)3、selector选择条件
通过小数点符号“.”把facility和level连接在一起则成为selector(选择条件)。
可以使用分号“;”同时定义多个选择条件。也支持三个修饰符:* - 所有日志信息
= 等于,即仅包含本优先级的日志信息
! = 不等于,本优先级日志信息除外
4、action动作
由前面选择条件定义的日志信息,可执行下面的动作:file-指定日志文件的绝对路径
terminal 或 print -发送到串行或并行设备标志符,例如/dev/ttyS2
@host -远程的日志服务器
username -发送信息本机的指定用户信息窗口中,但该用户必须已经登陆到系统中
named pipe -发送到预先使用 mkfifo 命令来创建的 FIFO 文件的绝对路径※注意,不能通过“|/var/xxx.sh”方式导向日志到其他脚本中处理。
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主机都会收到相同的信息。
这样看上去比较烦琐,但可以带来的好处就是保证了信息的完整性,可供不同地方进行分析。
6、测试
部分情况下,上述规的实际执行结果和定义的预想结果可能会有出入。这时,可使用logger程序辅助测试:
# logger -p user.notice 'Hello World!'
日志显示:
Nov 12 13:40:04 dc5test root: Hello World!
其表示意思如下:
第一列:日志产生时间
第二列:产生此日志的主机名称
第三列:产生此日志的应用程序或用户名称
第四列:日志信息7、自定义日志级别
正如前面所说的,应用程序的日志级别是由应用程序所决定的。部分应用程序可通过配置,定义其日志级别。
例如,/etc/ssh/sshd_config文件中就有:#
SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
把sshd的日志定义在authpriv.info级别。
配合syslog.conf中的:
authpriv.* /var/log/secure
则日志文件被写入/var/log/secure文件中。
我们修改为:SyslogFacility local0
配合在syslog.conf中增加:
local0.* /var/log/sshd.log
保存后,重新启动sshd或syslog服务,则以后sshd服务的所有日志都会单独的放到 sshd.log文件中了。
三、设置服务参数
默认情况下,syslog进程是不能接受其他日志服务器发过来的消息的。而通过修改其启动参数,可实现日志的大集中功能。
修改/etc/sysconfig/syslog文件:
-r : 打开接受外来日志消息的功能,其监控514 UDP端口;
-x : 关闭自动解析对方日志服务器的FQDN信息,这能避免DNS不完整所带来的麻烦;
-m : 修改syslog的内部mark消息写入间隔时间(0为关闭),例如240为每隔240分钟写入一次“--MARK--”信息;
-h :默认情况下,syslog不会发送从远端接受过来的消息到其他主机,而使用该选项,则把该开关打开,所有接受到的信息都可根据syslog.conf中定义的@主机转发过去。
通过man syslogd可获得更详细的帮助,
而具体到实际配置文件改为:
SYSLOGD_OPTIONS=\"-r-x-m 0\"
保存后,重启服务即可:
# service syslog restart
此时,客户机只要通过修改syslog.conf,在最后定义动作为@主机或IP,即可发送日志信息到本服务器中。
*.* @192.168.22.100
这地方也可以用 @name 不过这个name要在 /etc/hosts 中指定ip地址
(在构建集中的日志服务器时,请务必配合ntp时间服务,以保证信息的有效性,避免不必要的麻烦)
另外,/etc/sysconfig/syslog配置文件中,还定义有klogd服务的启动参数:
KLOGD_OPTIONS=\"-x\"详细帮助,请参考man 8 klogd或man klogd。
PCOS系统下载站:http://zhuangji.wang
回复
支持
反对
使用道具
举报
显身卡
返回列表
发新帖
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册后绑定Q登陆
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页