设为首页 收藏本站
查看: 3108|回复: 0

[经验分享] LogAnalyzer--基于syslog的日志管理和审计平台

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-3-2 08:52:34 | 显示全部楼层 |阅读模式
LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。
数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。
基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。
LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中
这里采用后者进行测试。


一、服务端
1.初始化数据库
初始化数据库,createDB.sql的脚本在rsylog的源码包的plugins/ommysql下
#mysql -uroot -p123.com </usr/local/src/rsyslog-5.6.2/plugins/ommysql/createDB.sql
#mysql -uroot -p
mysql>grant all privileges on Syslog.* to 'rsyslog'@'localhost' identified by '123456' with grant option;
mysql>grant all privileges on Syslog.* to 'rsyslog'@'%' identified by '123456' with grant option;
mysql>flush privileges;

也可以自己生成初始化脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
cat > createDB.sql << EOF
CREATE DATABASE Syslog default character set utf8;
USE Syslog;
CREATE TABLE SystemEvents
(
        ID int unsigned not null auto_increment primary key,
        CustomerID bigint,
        ReceivedAt datetime NULL,
        DeviceReportedTime datetime NULL,
        Facility smallint NULL,
        Priority smallint NULL,
        FromHost varchar(60) NULL,
        Message text,
        NTSeverity int NULL,
        Importance int NULL,
        EventSource varchar(60),
        EventUser varchar(60) NULL,
        EventCategory int NULL,
        EventID int NULL,
        EventBinaryData text NULL,
        MaxAvailable int NULL,
        CurrUsage int NULL,
        MinUsage int NULL,
        MaxUsage int NULL,
        InfoUnitID int NULL ,
        SysLogTag varchar(60),
        EventLogType varchar(60),
        GenericFileName VarChar(60),
        SystemID int NULL
) DEFAULT CHARSET=utf8;

CREATE TABLE SystemEventsProperties
(
        ID int unsigned not null auto_increment primary key,
        SystemEventID int NULL ,
        ParamName varchar(255) NULL ,
        ParamValue text NULL
) DEFAULT CHARSET=utf8;
EOF





2.rsyslog安装配置
服务端需要用到rsyslog的日志服务。所以服务端分二种情况,如果是6以上的系统,系统自带的默认日志服务就是rsyslog

2.1.6x系统
#yum install rsyslog-mysql  y
rsyslog-mysql 为rsyslog 将日志传送到MySQL 数据库的一个模块,这里必须安装。

2.2.5.x系统
1)通过编译安装rsyslog
#tar -zxvf rsyslog-5.6.2.tar.gz

#./configure --enable-mysql --prefix=/usr/local/rsyslog

#make && make install


修改rsyslog配置

#vim  /usr/local/src/rsyslog-5.6.2/rsyslog.conf
//配置服务端支持rsyslog-mysql 模块
$ModLoad ommysql
*.* :ommysql:172.18.2.124,syslog,rsyslog,123456
说明:localhost 表示本地主机,syslog 为数据库名,rsyslog 为数据库的用户,123456为该用户密码。

开启UDP服务端口获取网内其他LINUX系统日志
$ModLoad imudp.so  # provides UDP syslog reception
$UDPServerRun 514 # start a UDP syslog server at standard port 514

#复制配置文件
#cp /usr/local/src/rsyslog-5.6.2/rsyslog.conf /etc/rsyslog.conf
#关闭现有的日志服务
#service syslog stop
#chkconfig syslog off

#cp /etc/init.d/{syslog,rsyslog} #rsyslog没有启动脚本,复制syslog脚本
#sed -i s/syslog/rsyslog/g /etc/init.d/rsyslog #修改syslog字符为rsyslog
#chmod 700 /etc/init.d/rsyslog
#chkconfig --add rsyslog #添加rsyslog服务
#chkconfig rsyslog on

# create rsyslog bin ln
ln -sv /usr/local/rsyslog/sbin/rsyslogd /sbin/rsyslogd #创建软连结,rsyslog脚本启动的是/sbin下的rsyslogd

编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
# vi /etc/bashrc
在文件尾部增加一行
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
设置其生效
# source /etc/bashrc
重启日志服务
# /etc/init.d/rsyslog restart

2)通过yum安装rsyslog
#yum install -y rsyslog rsyslog-mysql
修改rsyslog配置
#vim  /etc/rsyslog.conf
配置服务端支持rsyslog-mysql 模块
$ModLoad ommysql
*.* :ommysql:172.18.2.124,syslog,rsyslog,123456
说明:localhost 表示本地主机,syslog 为数据库名,rsyslog 为数据库的用户,123456为该用户密码。

开启UDP服务端口获取网内其他LINUX系统日志
$ModLoad imudp.so  # provides UDP syslog reception
$UDPServerRun 514 # start a UDP syslog server at standard port 514

编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
# vi /etc/bashrc
在文件尾部增加一行
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
设置其生效
# source /etc/bashrc

关闭现有的日志服务
#/etc/init.d/syslog stop
启动rsyslog日志服务
# /etc/init.d/rsyslog start


编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
# vi /etc/bashrc
在文件尾部增加一行
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
设置其生效
# source /etc/bashrc

关闭现有的日志服务
#/etc/init.d/syslog stop
启动rsyslog日志服务
# /etc/init.d/rsyslog start

3)验证结果
查看/var/log/message,会发现命令行命令已经纪录到message里面
QQ截图20160302085049.png
验证数据库结果
QQ截图20160302085057.png

二、客户端
配置rsyslog 客户端发送本地日志到服务端
# vi /etc/rsyslog.conf
*.* @172.18.2.125
行尾新增上面这行内容,即客户端将本地日志发送到服务器。


编辑/etc/bashrc,将客户端执行的所有命令写入系统日志/var/log/messages中。
# vi /etc/bashrc
在文件尾部增加一行
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
设置其生效
# source /etc/bashrc
重启日志服务
# /etc/init.d/rsyslog restart

在客户端输入任何命令,查看服务端的message日志
2015-12-24T16:38:54+08:00 test135 root: [euid=root]:root pts/0 2015-12-24 14:59 (172.18.2.238):[/root]/etc/init.d/rsyslog restart
2015-12-24T16:39:04+08:00 test135 root: [euid=root]:root pts/0 2015-12-24 14:59 (172.18.2.238):[/root]less /var/log/messages
2015-12-24T16:39:06+08:00 test135 root: [euid=root]:root pts/0 2015-12-24 14:59 (172.18.2.238):[/root]ll
2015-12-24T16:41:04+08:00 test135 root: [euid=root]:root pts/0 2015-12-24 14:59 (172.18.2.238):[/root]pwd


在服务端查看message日志,收到客户端的message日志
Dec 25 11:40:30 t123 root: [euid=root]:root pts/4 2015-12-24 16:50 (172.18.2.238):[/root]ls

mysql库里面也有响应纪录

| 18 |       NULL | 2015-12-25 11:40:57 | 2015-12-25 11:40:30 |        1 |        5 | t123      |  [euid=root]:root pts/4 2015-12-24 16:50 (172.18.2.238):[/root]ls                                                                                                                                                         |       NULL |       NULL | NULL        | NULL      |          NULL |    NULL | NULL            |         NULL |      NULL |     NULL |     NULL |          1 | root:        | NULL         | NULL            |     NULL |

三、安装和使用LogAnalyzer
1、安装
#tar xvf loganalyzer-3.0.4.tar.gz

#cd loganalyzer-3.0.4

#cp -r src/ /var/www/html/loganalyzer

#cp -r contrib/* /var/www/html/loganalyzer

#执行脚本
#cd /var/www/html/loganalyzer/
#/bin/sh /var/www/html/loganalyzer/configure.sh
#/bin/sh /var/www/html/loganalyzer/secure.sh

#赋予权限
#chown -R apache:apache /var/www/html/loganalyzer
#启动httpd
#service httpd restart
#访问页面
http://172.18.2.125/loganalyzer

2.初始化
QQ截图20160302085105.png
QQ截图20160302085111.png
因为上面执行过脚本,所以这里config.php已经有可写的权限
#/bin/sh /var/www/html/loganalyzer/configure.sh
#/bin/sh /var/www/html/loganalyzer/secure.sh
QQ截图20160302085117.png
第三步配置数据源

QQ截图20160302085124.png
QQ截图20160302085129.png
QQ截图20160302085136.png
第六步,创建管理用户
QQ截图20160302085141.png
第七步,配置日志源

QQ截图20160302085147.png

登录http://172.18.2.125/loganalyzer

QQ截图20160302085155.png


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-185163-1-1.html 上篇帖子: rhel 5.11 搭建 rsyslog + loganalyzer 日志服务器 下篇帖子: MySQL存储日志并使用Loganalyzer作为前端展示 审计
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表