您的位置:首页 > 数据库 > MySQL

rsyslog+loganalyzer搭建日志服务器

2015-12-08 00:00 856 查看
日志简介:
日志:即历史事件,按时间序列将发生的事件予以记录;日志记录了事件发生的时间,时间内容,事件的关键性程度;运维人员可通过检查这些记录的信息,发现错误发生的原因,或寻找受到攻击时,攻击者留下的痕迹。

syslog是CentOS6之前的默认日志系统;

syslogd:系统进程的相关日志
kloged:内核事件相关日志

rsyslog是CentOS6的默认日志系统:

支持多线程
支持tcp,ssl,tls,relp等协议
支持MySQL,PGSQL,Oracle等多种关系型数据中
强大的过滤器,可实现过滤系统信息中的任意部分
支持自定义输出格式
适用于企业级别日志记录需求

facllity:设施,从功能或程序上对日志进行分类,并由专门的工具附则记录其日志

auth:认证相关信息
authpriv:认证授权相关信息
cron:周期性计划任务相关信息
daemon:守护进程相关信息
kern:内核相关信息
lpr:打印相关信息
mail:收发邮件相关信息
mark:防火墙标记
news:新闻相关信息
security:安全相关信息
syslog:自身记录
user:用户相关信息
uucp:早起系统文件共享服务
local0..local7:8个自定义facility

指定设施时可以使用通配符:
*:所有
!:取反
f1,f2,f3,...:列表

priority:级别

debug:调试信息
info:基本说明信息
notice:需要注意的信息
warn,warning:警告信息
err,error:错误信息
crit:蓝色警报
alert:橙色警报
emerg,panic:红色警报

级别可以使用通配符:
*:所有级别
none:没有任何级别

target:目标,制定如何存储日志

文件路径:例如,/var/log/messages
用户:*
日志服务器:@SERVER_IP
管道: | COMMAND

rsyslog的之配置文件:/etc/rslog.conf,其定义格式;

facility.priority Target

mail.info /var/log/maillog
比指定级别更高的所有级别,包括指定的级别本身;
mail.=info /var/log/maillog
明确指定级别;
mail.!info *
除了指定级别
*.info | COMMAND
所有facility的info级别
mail.*:
mail的所有级别
mail,news.info:

日志信息格式:

时间 主机 进程(PID):事件

启用日志服务器的功能:模块

通过514/udp搜集日志信息:
> # Provides UDP syslog reception
> $ModLoad imudp
> $UDPServerRun 514


通过514/tcp搜集日志信息
> # Provides TCP syslog reception
> $ModLoad imtcp
> $InputTCPServerRun 514


实例:基于LAMP平台搭建rsyslog+loganalyzer日志服务器
实验环境:
web-php服务器,同为日志客户端:

IP:192.168.1.10
操作系统:CentOS6.7 x86_64

数据库服务器:

IP:192.168.1.11
操作系统:CentOS6.7 x86_64

日志服务器:

IP:192.168.1.12
操作系统:CentOS6.7 x86_64
loganalyzer:loganalyzer-3.6.6.tar.gz
官网:http://www.loganalyzer.net/

实验过程:
连接日志服务器和客户端:

编辑日志服务器配置文件,启动日志服务器功能,接收客户端的日志:

# vim /etc/rsyslog.conf
> $ModLoad imudp
> $UDPServerRun 514
>
> $ModLoad imtcp
> $InputTCPServerRun 514


重启rsyslog服务,查看端口:

# service rsyslog restart
# ss -tunl | grep :514





编辑日志客户端配置文件,指定日志服务器,重启rsyslog服务;

# vim /etc/rsyslog.conf
> *.info;mail.none;authpriv.none;cron.none    @192.168.1.12
# service rsyslog restart


日志服务器查看日志:

# tail -l /var/log/messages





服务器已接收到客户端的日志。

日志服务器连接数据库:

数据库服务器安装服务;

# yum install mysql mysql-server


启动mysql服务:

# chkconfig mysqld on
# service mysqld start


日志服务器安装mysql模块:

# yum install rsyslog-mysql


查看安装rsyslog-mysql模块生成文件:

# rpm -ql rsyslog-mysql





生成的数据库文件传送给数据库服务器:

# scp /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql 192.168.1.11:/root


将文件导入数据库:

# mysql < createDB.sql


授权rsyslog用户

# mysql
mysql> GRANT ALL ON Syslog.* TOrsysloguser@'192.168.1.%' IDENTIFIED BY 'rsyslogpass';

mysql> FLUSH PRIVILEGES;





编辑日志服务器配置文件添加ommysql模块,日志信息指向数据库服务器,重启服务:

# vim /etc/rsyslog.conf
> $ModLoad ommysql
> *.info;mail.none;authpriv.none;cron.none    :ommysql:192.168.1.11,Syslog,rsysloguser,rsyslogpass
# service rsyslog restart


查看mysql信息:





数据库已接收到日志信息。

安装lamp平台部署loganalyzer

安装lamp平台:

# yum install httpd php php-mysql


配置loganalyzer:

# tar xf loganalyzer-3.6.6.tar.gz
# mkdir -p /var/www/html/log
# cp -a loganalyzer-3.6.6/src/*/var/www/html/log/
# cp -a loganalyzer-3.6.6/contrib/*/var/www/html/log/
# cd /var/www/html/log/
# chmod +x configure.sh secure.sh
# ./configure.sh
# ./secure.sh
# chmod 666 config.php
# chown -R apache:apache ./*


启动服务:

# chkconfig httpd on
# service httpd start


访问站点http://192.168.1.10/log配置信息:





点击here继续;





点击Next继续;





文件可写,点击Next继续;





关闭用户数据库,Next继续;





连接数据库,Next继续;





安装完成:





结语:
查看日志,分析日志是一位运维工程师的日常,rsyslog+loganalyzer可以将日志信息反映于web页面,显示更直观,便于统计、分析,并且还可以远程查看,管理,搭建过程也非常方便;以上为本人学习整理内容,试验中如有遗漏和失误,欢迎各路大神来喷。

本文出自 “小马的学习记录” 博客,请务必保留此出处http://masachencer.blog.51cto.com/8683770/1690605
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  rsyslog mysql loganalyzer