Rsyslog:syslog的加强版本
日志对于系统中程序和服务的运行起着很大的作用,我们经常需要去看日志记录来查看各种信息,有用户登录信息,有网页访问信息,有系统故障信息,等等。。
日志通常有日志级别,日志存放目录,日志的有效期等等
日志级别有以下几种:
Debug 调试,不分轻重缓急,只要输出信息,全部记录
Info 正常信息
Notice 注意信息
warning, warn (same as warning) 警告信息
err, error (same as err) 错误信息
Crit 比错误更严重,意思为,多久后不处理就有严重信息
Alert 现在不处理,一会更加严重
emerg, panic (same as emerg) 系统崩溃掉,最为紧急
注意:定义一个级别后,只输出此级别和比此级别更好的级别的日志信息
通配机制:
*:所有
,: 列表
!: 取反
日志存放目录: /var/log/*
/etc/log/中有各式各样的文件,分别存放着不同服务,不同等级的日志信息
例如:
/var/log/messages
/var/log/secure
/var/log/cron
Rsyslog的配置文件: /etc/rsyslog.conf ---> centos 6 /etc/syslog.conf ----> centos 5
/etc/rsyslog.conf/*.conf
日志的输出:
可以输入到本地的文件目录下,通常在/var/log/*
也可以发送到某个用户,用 * 表示全部用户
输出到日志服务器中 例如:@172.16.251.112
也支持送入管道中 | COMMAND
当然也可以存入到Mysql数据库中:需要安装 rsyslog--mysql
某级别的日志,定义:(当然这些都是定义在配置文件中的)
facitlity.priorityTarget
Mail.info(info 以及以上) /var/log/maillog(保存位置)
mail.=info (仅info级别) * (系统级别的,*,发给全部用户)
mail.!info(info以下的)
*.info (所有设施的info级别)
mail,news.info(mail以及news的info及以上)
记录下来的日志信息格式:
时间 主机 进程(PID):事件
例如:/var/log/messages
Apr 9 12:45:11(时间) station138(主机) dhclient[1496](进程PID): DHCPREQUEST on eth0 to 172.16.0.1 port 67 (xid=0x624af529)(事件)
日志收集、分析工具:
分析rsyslog产生的日志: 分析httpd日志:
把日志记入mysql数据库 webanalyzer
使用loganalyzer分析; awstat
查看配置文件都提供了哪些配置信息:
[root@station138 ~]# vim /etc/rsyslog.conf 编辑配置文件 #### MODULES #### $ModLoad imuxsock # provides support for local system logging (e.g. via logger command) $ModLoad imklog # provides kernel logging support (previously done by rklogd) #$ModLoad immark # provides --MARK-- message capability # Provides UDP syslog reception #$ModLoad imudp $ModLoad 指加载模块、imudp UDP协议的输入模块,意思本机可以做日志服务器通过UDP协议接受输入的日志信息。 #$UDPServerRun 514 运行rsyslogd服务,监听在UDP的514端口上。 #以上两个模块同时启用,然后重读rsyslogd服务放可生效 # Provides TCP syslog reception #$ModLoad imtcp 顾名思义,加载TCP协议模块 #$InputTCPServerRun 514 启动服务监听在TCP的514端口 #### GLOBAL DIRECTIVES #### #$ActionFileEnableSync on # Include all config files in /etc/rsyslog.d/ $IncludeConfig /etc/rsyslog.d/*.conf 读取/etc/rsyslog.d/目录下的所有配置文件 #### RULES #### # Log all kernel messages to the console. # Logging much else clutters up the screen. #kern.* /dev/console 内核级别的日志全部记录 记录在/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 info及以上级别的日志都存在/var/log/messages中 # The authpriv file has restricted access. authpriv.* /var/log/secure 和安全认证相关的日志全部记录在/var/log/secure中 # Log all the mail messages in one place. mail.* -/var/log/maillog
分析完配置文件,下来我们来用rsyslog做点事情吧
准备如题做:rsyslog输出到Mysql基于loganalyzer查看分析
这里先安装我们用到的软件,本文中的MySQL准备用源码包安装,所以就先来准备安装Mysql。
大家可以到网上去下载mysql的源码包,我这里是提前下载好的。
mysql的编译安装不同于其他软件,需要用到cmake,所以先去编译安装cmake来支持mysql的编译安装
开始这些很简单,就不贴图了,忘谅解。
一、安装cmake 跨平台编译器
# tar xf cmake-2.8.8.tar.gz # cd cmake-2.8.8 # ./bootstrap # make # make install