配置rhel 6syslog_第1页
配置rhel 6syslog_第2页
配置rhel 6syslog_第3页
配置rhel 6syslog_第4页
配置rhel 6syslog_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、配置rhel 6.4(64位)安装使用syslog-ng 3.5Linux保存了系统中所发生事件的详细记录,这些记录称作日志文件或消息文件。可以查阅日志文件来确定系统当前状态,观察入侵者踪迹,寻找某特定程序(或事件)相关的数据。syslogd与klogd(监控linux内核提交的消息)守护进程负责记录,发送系统或工具产生的信息,二者的配置文件都是/etc/syslog.conf。当系统内核或工具产生信息时,通过调用相关函数将信息发送到syslogd或klogd守护进程。syslogd与klogd守护进程会根据/etc/syslog.conf中的配置信息,对消息的去向作出处理。syslog协议的

2、详细描述在RFC3164中。    logrotate工具用来定期重命名、压缩、邮递系统日志文件,它可以保证日志文件不会占用太大的磁盘空间。    1、配置文件/etc/syslog.conf: syslog.conf是syslogd进程的配置文件,将在程序启动时读取,默认位置是/etc/syslog.conf。这个配置文件中的空白行和以"#"开头的行将被忽略。"facility.level"部分也被称为选择符(seletor)。 seletor和action之间使用一个或多个空白分隔。它指定了

3、一系列日志记录规则。规则的格式如下:    facility.level    action    选择符(seletor)由facility和level两部分组成,之间用一个句点(.)连接。    (1)facility:指定了产生日志的设备,可以是下面的关键字之一:关键字                 

4、  值            解释kern                0          内核信息,首先通过klogd传递user        

5、0;       1          由用户程序生成的信息mail                2          与电子邮件有关的信息daemon    

6、0;         3          与inetd守护进程有关的信息auth                4          由pam_pwdb报告的认证活动syslog 

7、;             5          由syslog生成的信息lpr                 6          与打

8、印服务有关的信息news                7          来自新闻服务器的信息uucp                8      

9、;    由uucp生成的信息(uucp = unix to unix copy)cron                9          与cron和at有关的信息authpriv            10

10、60;        包括私有信息(如用户名)在内的认证活动ftp                 11         与FTP有关的信息            

11、60;       12-15      系统保留local0 local7     16-23      由自定义程序使用,例如使用local5做为ssh功能mark                   &#

12、160;       syslog内部功能,用于生成时间戳*                              通配符代表除了mark以外的所有功能    在大多数情况下,任何程序都可以通过任何facility发

13、送日志消息,但是一般都遵守约定俗成的规则。比如,只有内核才能使用"kern"facility。注意syslog保留从“local0”到“local7”这几个设备号来接受从远程服务器和网络设备上发送过来的日志信息。路由器,交换机,防火墙和负载均衡器都很容易给它们各自配置一个独立的日志文件。    (2)level:指定了消息的优先级,可以是下面的关键字之一(降序排列,严重性越来越低):关键字             &

14、#160;      值         解释emerg                0        系统不可用alert          &#

15、160;     1        需要立即被修改的条件crit                 2        (临界)阻止某些工具或子系统功能实现的错误条件err       

16、0;          3        阻止工具或某些子系统部分功能实现的错误条件warning              4        预警信息notice      &#

17、160;        5        具有重要性的普通条件info                 6        提供信息的消息debug       

18、         7        不包含函数条件或问题的其他信息none                          (屏蔽所有来自指定设备的消息)没有优先级,通常用于排错* 

19、60;                           除了none之外的所有级别    facility部分可以是用逗号(,)分隔的多个设备,而多个seletor之间也可以通过分号(;)组合在一起。注意多个组合在一起的选择符,后面的会覆盖前面的,这样就允许从模式中排除一些优先级。默认将对指定级别以及更严

20、重级别的消息进行操作,但是可以通过2个操作符进行修改。等于操作符(=)表示仅对这个级别的消息进行操作,不等操作符(!)表示忽略这个级别以及更严重级别的消息。这两个操作符可以同时使用,不过"!"必须出现在"="的前面。    (3)动作action:动作确定了syslogd与klogd守护进程将日志消息发送到什么地方去。有以下几种选择:    普通文件:使用文件的绝对路径来指明日志文件所在的位置,例如:/var/log/cron。    终端设备:终端可以是/dev/

21、tty0/dev/tty6,也可以为/dev/console。    用户列表:例如动作为“root hackbutter”,将消息写入到用户root与hackbutter的计算机屏幕上。    远程主机:将信息发往网络中的其他主机的syslogd守护进程,格式为“hostname”。    (4)配置文件的语法说明:    *用作设备或优先级时,可以匹配所有的设备或优先级。    *用作动作时,将消息发送给所有的登录用户。  

22、;   多个选择器可在同一行中,并使用分号分隔开,且后面的会覆盖前面的。如uucp,news.crit。     关键字none用作优先级时,会屏蔽所有来自指定设备的消息。     通过使用相同的选择器和不同的动作,同一消息可以记录到多个位置。    syslog.conf文件中后面的配置行不会覆盖前面的配置行,每一行指定的动作都独立的运作。    (5)我的Ubuntu中默认的/etc/syslog.conf内容:python vie

23、w plaincopyprint?1. # /etc/syslog.conf  syslogd的配置文件   2. # 更多信息参考syslog.conf(5)   3. #   4. # 首先是一些标准的日志文件,消息由相应设备发送   5. #   6. # 认证活动auth,authpriv的日志消息发送到auth.log中   7. auth,authpriv.*    

24、;     /var/log/auth.log  8. # 除auth和authpriv之外的所有设备的所有消息都要发送到syslog中   9. *.*;auth,authpriv.none      -/var/log/syslog  10. # cron及at的消息发送到cron.log   11. #cron.*     

25、0;       /var/log/cron.log   12. # inetd的所有消息发送到daemon.log   13. daemon.*            -/var/log/daemon.log  14. # 内核的所有消息(如klogd的消息)发送到kernlog   15. kern.*&

26、#160;             -/var/log/kern.log  16. # 打印服务的所有消息发送到lpr.log   17. lpr.*               -/var/log/lpr.log  18. # 邮件的所有

27、消息发送到mail.log   19. mail.*              -/var/log/mail.log  20. # 用户程序的所有消息发送到user.log   21. user.*              -/var/log/us

28、er.log  22. #   23. # 邮件系统的日志记录。分割成不同的文件,以便能够比较容易地写脚本来   24. # 解析这些文件   25. #   26. # 邮件的info或更高级别的消息发送到,warn更高级别的消息发送到mail.warn,   27. # err或更高级别的消息发送到mail.err   28.     &

29、#160;      -/var/log/  29. mail.warn           -/var/log/mail.warn  30. mail.err            /var/log/mail.err  31. #

30、 INN新闻系统的日志记录:来自新闻服务器的消息   32. #   33. news.crit           /var/log/news/news.crit  34. news.err            /var/log/news/news.err  35. news

31、.notice         -/var/log/news/news.notice  36. #   37. # 一些捕捉用的日志文件   38. #   39. # 除auth,authpriv,news,mail之外的所有设备的debug级别消息都要发送到debug中   40. *.=debug;/  41.     a

32、uth,authpriv.none;/  42.     news.none;mail.none -/var/log/debug  43. # 除auth,authpriv,cron,daemon,mail,news之外的所有设备的info,notice,   44. # warn级别消息都要发送到messages中   45. *.=info;*.=notice;*.=warn;/  46.   

33、0; auth,authpriv.none;/  47.     cron,daemon.none;/  48.     mail,news.none      -/var/log/messages  49. #   50. # 所有设备的emerg级别消息(系统无法使用)会发送给所有登录的用户   51. #   5

34、2. *.emerg             *  53. #   54. # 希望一些消息显示在控制台,但只在虚拟控制台上:daemon,mail的任何消息;news的危险、   55. # 错误、通知消息;任何设备的调试、信息、通知、预警消息   56. #   57. #daemon,mail.*;/   58. #

35、60;  news.=crit;news.=err;news.=notice;/   59. #   *.=debug;*.=info;/   60. #   *.=notice;*.=warn   /dev/tty8   61. # 命名管道/dev/xconsole用于xconsloe工具。为了使用它,你必须带-file选项来调用xconsole   62. #  

36、0; $ xconsole -file /dev/xconsole .   63. # 注意:调整下面的列表,否则如果你有一个相当繁忙的站点,你将变得发狂   64. daemon.*;mail.*;/  65.     news.err;/  66.     *.=debug;*.=info;/  67.     *

37、.=notice;*.=warn   |/dev/xconsole      某些应用软件也会将自己的运行状况记录到特定的日志文件上,它不受syslog.conf文件的控制。如文件/var/log/apache2/access.log,目录/var/log/apache2, /var/log/cups, /var/log/gdm, /var/log/mysql, /var/log/samba等。    修改完/etc/syslog.conf后,可用service syslog rest

38、art重启syslog服务,Debian/Ubuntu中则用sudo /etc/init.d/sysklogd restart。查看日志文件里最新的记录可用tail -f /var/log/messages。    2、将日志信息记录到远程Linux服务器上: 将你的系统信息记录到远程服务器上将是一个很好的安全措施。如果把公司所有的服务器的日志信息都记录到一个集中的syslog服务器上,这将会方便你管理各个服务器中发生的相关事件。这也会使得掩盖错误和恶意攻击变得更困难,因为对各个日志文件的恶意删除在日志服务器上不能同时发生,特别是当你限制用户访问日志服务器时。&#

39、160;   配置Syslog服务器:在默认情况下,syslog并不会接受远程客户端的信息,要激活它,RedHat/Fedora中需要修改/etc/sysconfig/syslog文件,在SYSLOGD_OPTIONS参数中增加-r选项,以允许记录远程机器的信息。Debian/Ubuntu中则是修改/etc/default/syslogd文件中的SYSLOGD参数,也可直接编辑syslog启动脚本/etc/init.d/sysklogd,将SYSLOGD的参数定义为“-r”。修改完后要重启syslog服务。    配置客户端:syslog服务器

40、现在可以接受syslog信息了。你还要设置好远程linux客户端以向服务器发送信息。假设客户端主机名为smallfry,可通过编辑/etc/hosts文件来实现。    (1)确定远程服务器的IP地址和有效的域名。    (2)在客户端班机的/etc/hosts文件中加入远程服务器的描述:IP地址 完整域名 服务器名 “别名”,例如00 bigboy.my- bigboy loghost,这样为服务器主机bigboy设置了一个别名loghost。    (3)编辑客户端的/etc/s

41、yslog.conf文件,使得syslog信息能发送到你新设置的日志服务器loghost上。*.debug loghost*.debug /var/log/messages    重启syslog服务,现在你的机器将会将所有“调试”级别及以上级别的信息同时发送到服务器bigboy和本地文件/var/log/messeges上。你可以做个简单测试看看syslog服务器是否在接受你的信息了。比如重启一下lpd打印机守护进程,看看能否在服务器上看到相关日志消息。    3、配置文件/etc/logrotate.conf: 它是logrota

42、te的一般性配置文件。你可以通过它设置哪个日志文件被循环重用以及多久重用一次。可以设定的循环参数有每周(weekly)或每天(daily)。rotate参数定义保留多少份日志文件备份,create参数指定在每轮循环后就新建空的日志文件。我的Ubuntu中默认的/etc/logrotate.conf内容为:python view plaincopyprint?1. # 更多细节参考"man logrotate"   2. # 每周循环更新日志文件   3. weekly  4. #

43、60;保留4份日志文件的备份,若日志文件为logfile,则其备份   5. # 分别为logfile.0logfile3   6. rotate 4  7. # 在每轮循环后创建新的空白日志文件   8. create  9. # 如果你想压缩日志文件,则取消下面注释   10. #compress   11. # 一些使用syslog的软件包会把日志轮转信息放在这个目录下,因此要包含进来  &

44、#160;12. include /etc/logrotate.d  13. # 没有软件包拥有wtmp或btmp,我们将在这里轮转   14. /var/log/wtmp   15.     missingok       # 如果日志文件丢失,使用下一个并且不发送任何错误消息   16.     monthly &

45、#160;       # 轮转周期为每月   17.     create 0664 root utmp  # 创建新日志文件时,权限为0664,属主为root,组为utmp   18.     rotate 1  19.   20. /var/log/btmp  &

46、#160;21.     missingok  22.     monthly  23.     create 0664 root utmp  24.     rotate 1  25.   26. # 特定于系统的日志可以在这里配置    

47、0; 注意在Debian/Ubuntu系统中,/etc/cron.daily.sysklogd脚本将读取/etc/syslog.conf文件,并根据它轮转所有设定的日志文件。所以,对于一般的系统日志,你不必再在/etc/logrotate.d文件夹中重复设定了。因为在 /etc/cron.daily文件夹中它没24小时便运行一次。在Fedora/Redhat系统中,这个脚本被/etc/cron.daily/logrotate取代,而且它不读取syslog配置文件。所以,你必须在/etc/logrotate.d设置好。    对logrotate的设置只有在你使用l

48、ogrotate -f命令时才会生效。如果你想让logrotate只读取特定的配置文件而不是所有,把配置文件名作为logrotate的参数运行即可,如logrotate -f /etc/logrotate.d/syslog。如果你的网页访问量比较高,那么日志文件将变得异常大。你可以通过编辑logrotate.conf文件加入压缩选项compress来实现对日志文件的压缩。这些日志文件将用gzip来压缩,所有的文件将会有一个.gz的扩展名。查看这些文件的内容依然很容易,因为你可以用zcat命令快速的将它们的内容显示在屏幕上。    Syslog服务器的一个缺点是没有

49、把不良来源的消息过滤掉。因此,当你的的服务器位于一个不安全的网络时,使用TCP wrappers软件或防火墙来限制可以接受的消息来源是一个明智的举措。这将有助于限制拒绝服务攻击的成效,这种拒绝服务攻击的目的是填塞你的服务器的硬盘或加重其他系统资源负担,它有可能最终导致服务器崩溃。     现在使用越来越广泛的syslog-ng程序结合了logrotate和syslog的特性,它能给用户提供更多的自定义功能,从功能上也更加丰富了。如果你想使用它,可到上去下载安装,其配置文件为/etc/syslog-ng/syslog-ng.conf。对应的CentOS 6.x也就可

50、能使用!下载地址:第一步:安装wget wget tar xvf eventlog_0.2.12+20120504+1700.tar.gz cd eventlog-0.2.12+20120504+1700./configure -prefix=/usr/local/services/eventlog make make install cd .tar -xvf syslog-ng_.tar.gz cd syslog-ng-/export PKG_CONFIG_PATH=/usr/local/services/even

51、tlog/lib/pkgconfig ./configure -prefix=/usr/local/services/syslog-ng#如果提示no package 'glib-2.0' found centos#那么就用yum install libgnomeui-develmakemake install第二步:添加服务配置将syslog-ng添加为系统服务, vim /etc/init.d/syslog-ng  #内容如下 #!/bin/bash #  # chkconfig: -  60 27

52、60;# description: syslog-ng SysV script.  . /etc/rc.d/init.d/functions  syslog_ng=/usr/local/services/syslog-ng/sbin/syslog-ng prog=syslog-ng pidfile=/usr/local/services/syslog-ng/var/syslog-ng.pid lockfile=/usr/local/services/syslog-ng/var/syslog-ng.lock RETVAL=0&

53、#160;STOP_TIMEOUT=$STOP_TIMEOUT-10  start()          echo -n $"Starting $prog: "         daemon -pidfile=$pidfile $syslog_ng $OPTIONS         RETVAL=$?         echo   

54、60;     $RETVAL = 0 && touch $lockfile         return $RETVAL   stop()      echo -n $"Stopping $prog: "     killproc -p $pidfile -d $STOP_TIMEOUT $syslog_ng     RETVAL=$?   

55、0; echo     $RETVAL = 0 && rm -f $lockfile $pidfile   case "$1" in   start)     start     ;   stop)     stop     ;   status)         stat

56、us -p $pidfile $syslog_ng     RETVAL=$?     ;   restart)     stop     start     ;   *)     echo $"Usage: $prog start|stop|restart|status"     RETVAL=2 esac 

57、;exit $RETVAL #启动服务chmod a+x /etc/init.d/syslog-ng killall syslogd chkconfig -add syslog-ng chkconfig syslog-ng on service syslog-ng start 第三步:实际配置命令 vi /usr/local/services/syslog-ng/etc/syslog-ng.conf# # Default syslog-ng.conf file which collects all local logs in

58、to a# single file called /var/log/messages.#version: 3.5include "scl.conf"options         create_dirs(yes);        dir_perm(0755);        use_dns(no);        perm(0644);        chain_hostnames(off);        stats_freq(30);source s_local         system();        internal();source s_net

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论