设为首页 收藏本站
查看: 3810|回复: 1

[经验分享] rsyslog+loganalyzer日志分析及web展示

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-10-20 11:10:38 | 显示全部楼层 |阅读模式
  日志对于服务和系统来说,是一个非常重要的判断指标,它记录了系统上一些重要的操作;客户端对服务的请求情况,以及是否有些别有用心的用户入侵了你的系统,从这些信息中,你可以以此设定自己的防火墙规则。
在我们的CentOS和redhat的linux操作系统,这里以6系列为例,用的较多的是rsyslog,

rsyslog的配置文件为:/etc/rsyslog.conf

它的格式定义主要为:facility.level  Target
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
facility:设施
对日志进行分类,从功能或程序上对日志进行分类,并由专门的工具记录其日志
auth:与认证相关的
authpirv:与认证授权相关的
cron:与任务计划有关的信息
daemon:与守护进程相关的日志
kern:记录与内核有关的日志
lpr:关于打印子系统的日志
mail:与电子邮件相关的日志信息
mark:防火墙标记记录日志
news:新闻组日志
security:与安全相关的信息
user:用户相关的日志信息
uucp:unix主机之间共享的协议,unix to unix copy protocol
local0-local7:8个自定义的设施
志系统在指定设施时,可以使用通配符
    *:所有
    f1,f2,f2…:列表
    !:取反
priority:日志的级别,也称之为优先级信息
    debug:调试信息
    info:提供信息的消息
    notice:需要引起注意的信息
    warn(warning):警告信息
    err(error):有错误发生的信息
    crit:蓝色警戒
    alert:橙色警戒
    emerg(panic):恐慌,级别的最高级别




指定级别时,也可以使用通配符
    *:所有级别
    none:没有任何级别,不记录日志信息

Target:
文件路径:/var/log/messages
用户:*
日志服务器:@SERVER_IP
管道: | 命令

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

*.info;mail.none;authpriv.none;cron.none                /var/log/messages

实例:
mail.info  /var/log/maillog
#指定比info级别更高的,都记录到/var/log/maillog中
mail.=info /var/log/maillog
#这里明确指定了级别为info,记录到/var/log/maillog
mail.!info /var/log/maillog
#!表示取反,这里表示出了info都记录
*.info /var/log/messages
#表示将所有的设施的info和大于info级别的加以记录
mail.* /var/log/maillog
#表示mail下的所有级别都加以记录
mail,news.info  /var/log/messages
#表示,将mial和news的info及其之上的日志记录

实验过程:
1、将web服务器的日志存放到远程日志服务器上
拓扑如下所示
log_0_1.jpg
首先,更改我们的两台主机的主机名,分别更改为
172.16.30.10:
1
[iyunv@localhost ~]# hostname blog.365lsy.com



172.16.249.122:
1
[iyunv@bogon ~]# hostname log-server



操作如下:
首先,在远程日志服务器上开启远程日志服务器功能,编辑配置文件
1
2
3
4
5
6
7
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514



启用上面的两项,使用tcp协议、udp协议,514号端口

重启日志服务
1
2
3
[iyunv@bogon ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]



然后,在web服务器上,将日志存放指向远程日志服务器

在RULES板块中,将原有的注释,添加如下
*.info;mail.none;authpriv.none;cron.none                @172.16.249.63
保存后重启日志服务
1
2
3
[iyunv@blog ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]



ps:实验环境中,我们可以将日志情况,但是,生产环境下,严禁此操作

然后,我们yum安装mysql的客户端工具,查看本地日志信息
1
[iyunv@blog ~]# yum install -y mysql



1
2
[iyunv@blog ~]#tail /var/log/messages
[iyunv@blog ~]#



显示为空,没有日志

然后,在到我们的远程日志服务器上查看
Aug 20 09:12:14 blog yum[4489]: Installed: mysql-5.1.71-1.el6.x86_64
最后一个就是安装mysql客户端的日志信息,另外还能看到主机信息blog

2、将web服务器的日志存放到远程的MariaDB的数据库服务器上
拓扑如下所示:
log_0_2.jpg
准备两台服务器,一台是web服务器,另一台为MariaDB服务器

首先,rsyslog和MariaDB要实现交互,需要安装rsyslog-mysql这个包
1
[iyunv@bogon ~]# yum install -y rsyslog-mysql



这个操作在web的服务器上进行

看rsyslog-mysql生成的文件
1
2
3
4
[iyunv@bogon ~]# rpm -ql rsyslog-mysql
/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql



生成一个交互的模块,还有一个createDB.sql的sql文件
将sql文件scp拷贝到远程日志服务器上,然后sql文件导入到MariaDB的数据库中
1
2
[iyunv@log-server ~]#scp /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql  172.16.249.122:/root
[iyunv@log-server ~]# mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql



登录到MariaDB数据库上查看有没有新增库,而且,授权给一个log的用户,密码也为log
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
[iyunv@log-server ~]# mysql
Welcome to the MariaDB monitor.  Commands end with ; or g.
Your MariaDB connection id is 3
Server version: 5.5.36-MariaDB-log MariaDB Server
Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
MariaDB [(none)]> SHOW DATABASES;
+——————–+
| Database           |
+——————–+
| information_schema |
| Syslog             |
| discuz             |
| mysql              |
| performance_schema |
| test               |
+——————–+
6 rows in set (0.07 sec)

MariaDB [(none)]> USE Syslog
Database changed
MariaDB [Syslog]> SHOW TABLES;
+————————+
| Tables_in_Syslog       |
+————————+
| SystemEvents           |
| SystemEventsProperties |
+————————+
2 rows in set (0.01 sec)

MariaDB [Syslog]> GRANT ALL ON Syslog.* TO log@'172.16.30.10' IDENTIFIED BY 'log';
Query OK, 0 rows affected (0.07 sec)



只授权给我们的blog这台主机
1
2
MariaDB [Syslog]> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)



重启服务
1
2
3
[iyunv@blog ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]



回到我们的web服务器上   
编辑配置文件,指明日志存放的数据库的信息
1
*.info;mail.none;authpriv.none;cron.none :ommysql:172.16.249.63,Syslog,log,log



而且,要启用这个交互的模块
1
2
#Provice MariaDB module
$ModLoad ommysql



进行安装php的操作
1
[iyunv@blog ~]# yum install -y php



回到MariaDB的数据库中查看,是否有日志信息生成
由于信息太多,只截取了部分
1
2
|  9 |       NULL | 2014-08-20 09:58:33 | 2014-08-20 09:58:33 |        1
|        6 | blog       |  Installed: php-5.3.3-26.el6.x86_64




3、通过webGUI的形式展示日志信息
拓扑如上实验,但是,要在web服务器上搭建LAMP环境
我们将通过lognanalyzer将系统的日志情况显示在页面上,直观的查看
首先,在web这台服务器上,搭建LAMP环境
1
[iyunv@blog ~]# yum install php-mysql php-gd httpd mysql-server



上面已经安装过php和mysql了,CentOS6.5上默认安装过httpd服务

下载loganalyzer的软件包,拷贝到web目录下
1
2
3
4
[iyunv@blog src]# tar zxf loganalyzer-3.6.5.tar.gz
[iyunv@blog src]# cd loganalyzer-3.6.5
[iyunv@blog loganalyzer-3.6.5]# mkdir -pv /var/www/html/log
[iyunv@blog loganalyzer-3.6.5]# cp -r src/* /var/www/html/log/



里面有目录,不能直接使用cp
1
[iyunv@blog loganalyzer-3.6.5]# cp contrib/* /var/www/html/log/



切换到web的根目录下的log目录,授权编译
1
2
3
[iyunv@blog log]# chmod +x configure.sh secure.sh
[iyunv@blog log]# ./configure.sh
[iyunv@blog log]# ./secure.sh



生成config.php的文件

改变属主和属组
1
2
[iyunv@blog log]# chmod 666 config.php
[iyunv@blog log]# chown -R apache:apache .



启动httpd服务,在web页面上查看

第一步会检查信息,点击"Next"
第二步,提示config.php文件是否可写,上面已经给过666的权限
log_2.jpg
第三步,展示日志的形式
log_3.jpg
第四步,填写我们上面MariaDB数据库的相关信息
log_4.jpg
最后,完成,日志将形象的在web页面上展示出来了
log_6.jpg
    总结:日志对一个服务器来说非常重要,作为一个运维人员,通过日志,你可以知道你的服务器发生了什么事情,问题出在哪里,或是哪些居心叵测的人对你的服务器进行了攻击,添加策略,排除问题时,日志就是根除病因的分析点,找出问题,才能更快解决问题。


运维网声明 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-26260-1-1.html 上篇帖子: RHEL6.4 搭建 rsyslog 日志服务 rsyslog+mysql+loganalyzer 下篇帖子: CentOS 下利用Rsyslog+LogAnalyzer+MySQL部署日志服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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