rsyslog简介及配置简单的日志服务器(基于mysql)
rsyslog:
//elasticsearch, logstash, kibana = elk
一、日志收集方:
1、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)
2、指定级别(priority):
*: 所有级别
none: 没有级别
priority: 此级别及更高级别的日志信息
=priority:此级别
3、facility.priority /var/log/messages
二、程序环境:
主程序:rsyslogd
配置文件:/etc/rsyslog.conf
服务脚本:/etc/rc.d/init.d/rsyslog
三、rsyslog.conf
1、RULES: facility.priority target
target:
文件路径:记录于指定的日志文件中,通常应该在/var/log目录下;文件路径前的“-”表示异步写入;
用户:将日志通知给指定用户 *: 所有用户
日志服务器:@host host: 必须要监听在tcp或udp协议514端口上提供服务;
管道: |COMMAND
2、文件记录的日志的格式: 事件产生的日期时间 主机 进程(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数据库的全部访问权限;
(2) 安装rsyslog-mysql程序包(epel源);
(3) 创建rsyslog-mysql依赖的数据库;
# mysql -uUSERNAME -hHOST -pPASSWORD < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql
(4) 配置rsyslog使用ommysql模块
#### MODULES ####
$ModLoad ommysql
#### RULES ####
facility.priority :ommysql:DBHOST,DB,DBUSER,USERPASS
重启rsyslog服务
(5) 安装loganalyzer
(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