rsyslog:php
//elasticsearch, logstash, kibana = elkhtml
1、日志收集方: mysql
一、facility:设施,从功能或程序上对日志进行分类; web
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)sql
二、指定级别(priority): 数据库
*: 全部级别 服务器
none: 没有级别 异步
priority: 此级别及更高级别的日志信息 elasticsearch
=priority:此级别tcp
三、facility.priority /var/log/messages
2、程序环境:
主程序:rsyslogd
配置文件:/etc/rsyslog.conf
服务脚本:/etc/rc.d/init.d/rsyslog
3、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命令:显示当前系统每个用户最近一次的登陆时间;
4、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