rsyslog日志进程
系统日志服务,记录系统日志信息,也可以记录其他主机的日志信息作为日志服务器,也可以将日志记录在数据库中支持MySql,PGSQL,Oralce。在CentOS 5之前有两个服务,syslog和klogd,之后版本都是用rsyslogd代替。可以基于TCP和UDP协议工作,支持SSL和TLS加密协议。
日志格式:
facility:要收集日志的设备,约束多个程序的日志数据流到同一个管道内,记录的应用信息有auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, local0-local7, syslog等等。
priority:要收集的日志级别,debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)。用none表示不记录。
target:日志存储的位置,可以是一个本机文件的位置格式:/var/xxx.log,可以是一个远程主机的位置格式:@host,或者通过管道符 | command。
facility · priority target
启动服务:
主程序:rsyslogd,启动:service rsyslogd start
服务脚本:/etc/rc.d/init.d/rsyslog
配置文件:
配置文件:/etc/rsyslog.conf
将两个组合起来就是:facility · priority /var/log/messages
例:
kern.* /dev/console
*.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
第一条:kern.* 中的kern就是kern设备,也就是程序运行的日志,后面的星号“*”就是所有级别权限的意思,就是上面priority列表中的一串级别。/dev/console这一串表示控制台console本地物理终端,就是屏幕。
第二条:*.info;mail.none;authpriv.none;cron.none 这一串中的 *.info 表示所有的设备的info信息以及比info级别更高的信息都记录,后面的mail.none;authpriv.none;cron.none其中none表示不再记录,意思就是除去了这几项。/var/log/messages是一个日志几种处理文件。
第四条:mail的记录位置-/var/log/maillog中的“-”表示异步。因为日志量很大,且信息不是很关键,用异步写入减轻磁盘IO压力。
第六条:*.emerg表示所有设备的最高级别信息,后面写入位置的星号 * 表示通知所有登陆到系统上的用户。意思就是系统服务奔溃之前的消息通知给所有登陆到系统上的用户。
第七条:uucp,news.crit 表示统一级别的可以用逗号分隔。
第八条:local7.* 自定义日志,日志文件被放在自定义的地方。
登陆日志:
有些日志记录二进制格式:/var/log/wtmp,/var/log/btmp
/var/log/wtmp: 当前系统上成功登录的日志,使用last命令查看。
/var/log/btmp:当前系统上失败的登录尝试,使用lastb命令查看。
lastlog命令
rsyslog服务器:
1、接收其他主机发送的日志要打开的配置项:
$ModLoad imudp
$UDPServerRun 514
或
$ModLoad imtcp
$InputTCPServerRun 514
可以监听在tcp或udp的514端口,默认使用udp,iptables要开放514端口。
2、在另一台主机上,打开/etc/rsyslog.conf,将存储位置改为网络地址:
*.info;mail.none;authpriv.none;cron.none @192.168.96.130
保存后重启,然后在接收端主机上查看日志文件/var/log/messages的最后一条,看看是否有最新的日志信息,且主机名是发送端的主机的主机名。这样就配置好了。
日志存储到MySQL数据库中:
1、准备好MySQL服务器,创建用户,授权对Syslog数据库的全部访问权限
2、安装rsyslog-mysql程序包
3、创建rsyslog-mysql依赖的数据库:mysql -uUSERNAME -hHOST -pPASSWORD < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql
4、配置/etc/rsyslog.conf使用ommysql模块,配置完成后重启rsyslog服务,配置详情如下:
#### MODULES ####
$ModLoad ommysql
#### RULES ####
facility.priority :ommysql:DBHOST,DB,DBUSER,USERPASS
5、安装loganalyzer,这是一款基于httpd服务的图形化日志分析工具。
一、配置webserver, 支持php
yum install httpd php php-mysql php-gd
service httpd start
二、将loganalyzer程序文件放入web服务下:
cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer
cp loganalyzer-3.6.5/contrib/*.sh /var/www/html/loganalyzer
cd /var/www/html/loganalyzer
chmod +x *.sh
./configure.sh
./secure.sh
chmod 666 config.php
配置完成后打开浏览器即可查看。