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