济南网站制作费用,手机网站展示,网站策划 要求,网址最全的浏览器Linux日志服务介绍 #xff11;. 在Linux系统#xff0c;大部分日志都是由syslog日志服务驱动和管理的 syslog服务由两个重要的配置文件控制管理#xff0c;分别是/etc/syslog.conf主配置文件和/etc/sysconfig/syslog辅助 配置文件#xff0c; /etc/init.d/syslog是启动脚本… Linux日志服务介绍 . 在Linux系统大部分日志都是由syslog日志服务驱动和管理的 syslog服务由两个重要的配置文件控制管理分别是/etc/syslog.conf主配置文件和/etc/sysconfig/syslog辅助 配置文件 /etc/init.d/syslog是启动脚本这里主讲主配置文件/etc/syslog.conf /etc/syslog.conf 语句结构 [rootxhot ~]# grep -v # /etc/syslog.conf //列出非#打头的每一行 *.info;mail.none;authpriv.none;cron.none /var/log/messages authpriv.* /var/log/secure mail.* -/var/log/maillog cron.* /var/log/cron .emerg uucp,news.crit /var/log/spooler local7.* /var/log/boot.log 选择域(消息类型.错误级别) 动作域 . 消息类型auth,authpriv,security;cron,daemon,kern,lpr,mail, mark,news,syslog,user,uucp,local0~local7. 错误级别(8级)debug,info,notice,warning|warn;err|error;crit,alert,emerg|panic 动作域file,user,console,remote_ip 举如上的/etc/syslog.conf文件三个例子 *.info;mail.none;authpriv.none;cron.none /var/log/messages 表示info级别的任何消息都发送到/var/log/messages日志文件但邮件系统、验证系统 和计划任务的错误级别信息就除外不发送none表示禁止 cron.* /var/log/cron 表示所有级别的cron信息发到/var/log/cron文件 .emerg 表示emerg错误级别危险状态的所有消息类型发给所有用户 Linux日志服务器配置 此服务器的配置非常简单只是修改一个文件的一个地方然后重启服务即可 [rootxhot ~]# grep -v # /etc/sysconfig/syslog SYSLOGD_OPTIONS-m 0 -r //只要在这里添加“-r”就行咯 KLOGD_OPTIONS-x SYSLOG_UMASK077 [rootxhot ~]# service syslog restart 关闭内核日志记录器 [确定] 关闭系统日志记录器 [确定] 启动系统日志记录器 [确定] 启动内核日志记录器 [确定] 对于发送消息到服务器的OS只要在写/etc/syslog.conf主配置文件的时候作用域 为server-ip就行了比如针对218.192.87.24这台日志服务器把一台ubuntu系统的所有 info级别的auth信息发给日志服务器那么对于ubuntu系统的/etc/syslog.conf文件最后一 行添加 auth.info 218.192.87.24 就OK了 日志转储服务 系统工作到了一定时间后日志文件的内容随着时间和访问量的增加而越来越多 日志文件也越来越大。而且当日志文件超过系统控制范围时候还会对系统性能 造成影响。转储方式可以设为每年转储、每月转储、每周转储、达到一定大小转储。 在Linux系统经常使用“logrotate”工具进行日志转储结合cron计划任务可以轻松 实现日志文件的转储。转储方式的设置由“/etc/logrotate.conf”配置文件控制 [rootxhot ~]# cat /etc/logrotate.conf # see man logrotate for details //可以查看帮助文档 # rotate log files weekly weekly //设置每周转储 # keep 4 weeks worth of backlogs rotate 4 //最多转储4次 # create new (empty) log files after rotating old ones create //当转储后文件不存储时创建它 # uncomment this if you want your log files compressed #compress //以压缩方式转储 # RPM packages drop log rotation information into this directory include /etc/logrotate.d //其他日志文件的转储方式包含在该目录下 # no packages own wtmp -- well rotate them here /var/log/wtmp { //设置/var/log/wtmp日志文件的转储参数 monthly //每月转储 create 0664 root utmp //转储后文件不存在时创建它文件所有者为root 所属组为utmp对应的权限为0664 rotate 1 //转储一次 } # system-specific logs may be also be configured here. 举两个例子 为/var/log/news/目录下的所有文件设置转储参数每周转储转储2次转储 时将老的日志文件放到/var/log/news/old目录下若日志文件不存在则跳过。完成后重启 news新闻组服务转储时不压缩。那么可以在/etc/logrotate.conf文件的最后添加如下 /var/log/news/*{ monthly rotate 2 olddir /var/log/news/old missingok postrotate kill -HUP cat /var/run/inn.pid endscript nocompress } 另一个例子为/var/log/httpd/access.log和/var/log/httpd/error.log日志设置转储参数。转储 5次转储时发送邮件给rootlocalhost用户当日志文件达到100KB时才转储转储后重启 httpd服务那么可以直接在/etc/logrotate.conf文件的最后添加如下 /var/log/httpd/access.log /var/log/http/error.log{ rotate 5 mail rootlocalhost size100k sharedscripts /sbin/killall -HUP httpd endscript } 自定义日志转储/etc/logrotate.d/* 通过下面一个例子将所有类型错误级别为info的日志转储到/var/log/test.log日志文件中并设置 /var/log/test.log达到50KB后进行转储转储10次转储时压缩转储后重启syslog服务 1、修改/etc/syslog.conf文件使得如下 [rootxhot ~]# tail -1 /etc/syslog.conf //查看该文件的最后一行 *.info /var/log/test.log 2、重启syslog服务 [rootxhot ~]# /sbin/service syslog restart 关闭内核日志记录器 [确定] 关闭系统日志记录器 [确定] 启动系统日志记录器 [确定] 启动内核日志记录器 [确定] 3、创建/etc/logrotate.d/test.log日志转储参数配置文件添加如下 [rootxhot ~]# vim /etc/logrotate.d/test.log [rootxhot ~]# cat /etc/logrotate.d/test.log /var/log/test.log{ rotate 10 size 50k compress postrotate killall -HUP syslog endscript } 4、查看文件/etc/cron.daily/logrotate确保如下 [rootxhot ~]# cat /etc/cron.daily/logrotate #!/bin/sh /usr/sbin/logrotate /etc/logrotate.conf EXITVALUE$? if [ $EXITVALUE ! 0 ]; then /usr/bin/logger -t logrotate ALERT exited abnormally with [$EXITVALUE] fi exit 0 5、查看转储后的文件 [rootxhot log]# pwd /var/log [rootxhot log]# ls test.log* …… //结果等要转储的时候会发现压缩文件和原本的test.log文件 syslog是一个被UNIX和Linux广泛使用的日志系统Linux系统中大部分的日志文件都是通过它进行管理的。本节将对syslog的功能及配置、日志文件的查看和管理以及syslog中默认配置的日志文件进行介绍。 12.2.1 syslog简介 syslog是一个历史悠久的日志系统几乎所有的UNIX和Linux操作系统都是采用syslog进行系统日志的管理和配置。Linux系统内核和许多程序会产生各种错误信息、警告信息和其他的提示信息。这些信息对管理员了解系统的运行状态是非常有用的所以应该把它们写到日志文件中去。而执行这个过程的程序就是syslog。syslog可以根据信息的来源以及信息的重要程度将信息保存到不同的日志文件中例如为了方便查阅可以把内核信息与其他信息分开单独保存到一个独立的日志文件中。在默认的syslog配置下日志文件通常都保存在“/var/log”目录下。syslog的守护进程为syslogd系统启动时默认会自动运行syslogd守护进程。 如果要手工启动可以使用如下命令 /sbin/syslogd 在修改syslog配置后需要重新启动syslogd守护进程才能使新的配置生效。其命令如下所示。 killall -HUP syslogd Red Hat Enterprise Linux 5.2安装后默认就已经在syslog中定义了一些日志文件这些日志的位置以及它们的说明如表12.2所示。 日 志 文 件 说明 /var/log/message 系统启动后的信息和错误日志是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/maillog 与邮件相关的日志信息 /var/log/cron 与定时任务相关的日志信息 /var/log/spooler 与UUCP和news设备相关的日志信息 /var/log/boot.log 守护进程启动和停止相关的日志消息 本文转自 yuri_cto 51CTO博客原文链接http://blog.51cto.com/laobaiv1/2052127如需转载请自行联系原作者