rsyslog:

日志:历史日志

历史事件:

时间,事件

日志级别:事件的关键性程度,Loglevel


系统日志服务:

syslog:

syslogd: system

klogd: kernel


rsyslog:

syslogd

klogd


rsyslog:

多线程;

UDP, TCP, SSL, TLS, RELP;

MySQL, PGSQL, Oralce实现日志存储;

强大的过滤器,可实现过滤日志信息中任何部分;

自定义输出格式


elasticsearch, logstash, kibana = elk


日志收集方:

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: 没有级别

priority: 此级别及更高级别的日志信息

=priority:此级别


facility.priority /var/log/messages


程序环境:

主程序:rsyslogd

配置文件:/etc/rsyslog.conf

服务脚本:/etc/rc.d/init.d/rsyslog


rsyslog.conf

RULES:

facility.priority target


target: 

文件路径:记录于指定的日志文件中,通常应该在/var/log目录下;文件路径前的“-”表示异步写入;

用户:将日志通知给指定用户

*: 所有用户

日志服务器:@host

host: 必须要监听在tcp或udp协议514端口上提供服务;

管道: |COMMAND


文件记录的日志的格式:

事件产生的日期时间 主机 进程(pid):事件内容


有些日志记录二进制格式:/var/log/wtmp,/var/log/btmp

/var/log/wtmp: 当前系统上成功登录的日志;

last

/var/log/btmp:当前系统上失败的登录尝试;

lastb


lastlog命令:显示当前系统每一个用户最近一次的登录时间;


rsyslog服务器:

# Provides UDP syslog reception

$ModLoad imudp //一定要有个端口接收日志信息

$UDPServerRun 514


# Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514


配置使用基于mysql存储日志信息:

(1) 准备好MySQL服务器,创建用户,授权对Syslog数据库的全部访问权限;

                    GRANT ALL ON Syslog.* TO 'syslog'@'192.168.%.%' IDENTIFIED BY 'syslog'

(2) 安装rsyslog-mysql程序包;

                    yum install rsyslog-mysql

                    rpm -ql rsyslog-mysql

                        查询到/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

(3) 创建rsyslog-mysql依赖的数据库;//自动执行sql语句创建

# mysql -uUSERNAME -hHOST -pPASSWORD < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

(4) 配置rsyslog使用ommysql模块

#### MODULES ####

$ModLoad ommysql //output modules


#### RULES ####

facility.priority :ommysql:DBHOST,DB,DBUSER,USERPASS

                        :ommysql:192.168.18.9,Syslog,syslog,syslog

重启rsyslog服务

                        service rsyslog restart

(5) 安装loganalyzer//是rsyslog的web前端

(a) 配置webserver, 支持php

# yum install httpd php php -mysql php-gd

# service httpd start

(b) loganalyzer

# 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