Linux日志服务器详细剖析

CentOS环境,yum源
 默认情况下Linux系统安装了SYSLOG服务,默认也是开启的
 [root@localhost ~]# service syslog restart
 Shutting down kernel logger: [ OK ]
 

Shutting down system logger: [ OK ]
 Starting system logger: [ OK ]
 Starting kernel logger: [ OK ]
 从上面可以看出系统日志管理有两部分组成:syslogd和klogd
 syslogd记录的是系统,服务产生的信息
 klogd主要纪录一些系统内核的动作
 syslog的配置文件
 [root@localhost ~]# vim /etc/syslog.conf
 # Log all kernel messages to the console.
 # Logging much else clutters up the screen.
 #kern.* /dev/console
 # Log anything (except mail) of level info or higher.
 # Don't log private authentication messages!
 *.info;mail.none;authpriv.none;cron.none /var/log/messages
 #把除邮件、新闻组、授权信息、计划任务等外的所有通知性消息都写入messages文件中
 # The authpriv file has restricted access.
 authpriv.* /var/log/secure
 # Log all the mail messages in one place.
 mail.* -/var/log/maillog
 ##把邮件、新闻组中仅通知性消息写入info文件,其他信息不写入,“-”表示支持异步写入,在有大量日志需要写入的时候,日志能够先缓存在内存中后写入到磁盘上。
 # Log cron stuff
 cron.* /var/log/cron
 #把计划任务的日志信息都写入到/var/log/cron
 # Everybody gets emergency messages
 *.emerg *
 #通常应广播到当前所有用户;
 # Save news errors of level crit and higher in a special file.
 uucp,news.crit /var/log/spooler
 # Save boot messages also to boot.log
 local7.* /var/log/boot.log
 
从它配置文件中可以看出日志文件设置的格式如下
 facility.level action
 facility定义日志消息的范围,常见的facility有kern,authpriv,mail,cron,uucp ,local0-local7 (与自定义程序使用) 和通配*
 
level日志级别:
 emerg:emerg 紧急,处于Panic状态。通常应广播到所有用户;
 alert:告警,当前状态必须立即进行纠正。例如,系统数据库崩溃;
 crit:关键状态的警告。例如,硬件故障;
 err:阻止工具或某些子系统部分功能实现的错误条件,等同error
 warning :预警信息,等同warn
 notice:具有重要性的普通条件
 info:提供信息的消息
 debug:不包含函数条件或问题的其他信息
 none:没有重要级,通常用于排错
 action:定义日志存放的位置
 上面就是linux日志的内容,有时候为了安全,需要把日志放到日志服务器上,下面就设置个简单日志服务器.
 我使用192.168.1.99做日志服务器,配置如下:
 默认情况下linux主机只接受本机的产生的日志,所以要开启99这个主机接受我的另一台机器产生的日志
 [root@localhost ~]# # vim /etc/sysconfig/syslog
 SYSLOGD_OPTIONS="-r -m 0" #修改成这样
 [root@localhost ~]# service syslog restart
 [root@localhost ~]# echo > /var/log/messages ##清空99主机上日志记录
 [root@localhost ~]# cat !$
 cat /var/log/messages
 [root@localhost ~]#
 然后我在开一台机器192.168.1.188让其产生的日志都传到192.168.1.99上,配置如下:
 [root@localhost ~]# vim /etc/syslog.conf
 *.info;mail.none;authpriv.none;cron.none @192.168.1.99 ##也可以是域名,但需要dns解析到。
 [root@localhost ~]# echo > /var/log/messages
 [root@localhost ~]# cat !$
 cat /var/log/messages
 [root@localhost ~]#
 [root@localhost ~]# service syslog restart
 Shutting down kernel logger: [ OK ]
 Shutting down system logger: [ OK ]
 Starting system logger: [ OK ]
 Starting kernel logger: [ OK ]
 此时在99主机上查看日志记录:
 [root@localhost ~]# cat /var/log/messages
 Apr 12 12:18:31 192.168.1.188 syslogd 1.4.1: restart.
 Apr 12 12:18:31 192.168.1.188 kernel: klogd 1.4.1, log source = /proc/kmsg started.
 记录已经到99主机上了,这样一个最简单没有经过优化日志服务器已经建成

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/0a286befac2ded9ef5fdcd87efb7fb2e.html