Rsyslog+LogAnalyzer+MySQL部署日志服务器

LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。数据可以从数据库或一般的syslog文本文件中获取,所以LogAnalyzer不需要改变现有的记录架构。基于当前的日志数据,它可以处理syslog日志消息,Windows事件日志记录,支持故障排除,使用户能够快速查找日志数据中看出问题的解决方案。

LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。
LogAnalyzer 采用php开发,所以日志服务器需要php的运行环境,本文采用LAMP。

**
centos 6
服务端 192.168.245.144
客户端 192.168.245.135**
*一:开始配置*
1.服务器端安装LAMP环境

[root@local ~] yum install httpd  httpd-devel mysql mysql-devel mysql-server php*  -y
作为依赖被安装:
  apr-devel.x86_64 0:1.3.9-5.el6_9.1                                     
  apr-util-devel.x86_64 0:1.3.9-3.el6_0.1                                
  cyrus-sasl-devel.x86_64 0:2.1.23-15.el6_6.2                            
  expat-devel.x86_64 0:2.0.1-13.el6_8                                    
  openldap-devel.x86_64 0:2.4.40-16.el6                                  

作为依赖被升级:
  expat.x86_64 0:2.0.1-13.el6_8      openldap.x86_64 0:2.4.40-16.el6     

完毕!

2.服务并加入开机启动
apache
[root@local ~] service httpd start
[root@local ~] chkconfig httpd on
[root@local ~]  chkconfig httpd --list
httpd           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

Mysql
[root@local ~] service mysqld start
[root@local ~] chkconfig mysqld on
[root@local ~]  chkconfig mysqld --list
httpd           0:关闭  1:关闭  2:启用  3:启用  4:启用  5:启用  6:关闭

[root@local ~] vim /var/www/html/index.php ^C
[root@local ~] cat /var/www/html/index.php 
<?php
phpinfo()
?>

测试192.168.245.144 php
在这里插入图片描述
挂载/mnt

[root@local ~] mount /dev/sr0 /mnt/^C
[root@local ~] df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_local-lv_root
                       35G  7.6G   26G  23% /
tmpfs                 427M  228K  427M   1% /dev/shm
/dev/sda1             477M   40M  412M   9% /boot
/dev/sr0              3.7G  3.7G     0 100% /media/CentOS_6.8_Final
/dev/sr0              3.7G  3.7G     0 100% /mnt

二:服务端安装及配置
1.安装rsyslog已经rsyslog连接mysql的模块

 [root@local ~] rpm -ivh /mnt/Packages/rsyslog-5.8.10-8.el6.x86_64.rpm
  [root@local ~] rpm -ivh /mnt/Packages/rsyslog-mysql-5.8.10-8.el6.x86_64.rpm 

2.导入rsyslog-mysql数据库文件

[root@local ~] cd /usr/share/doc/rsyslog-mysql-5.8.10/
[root@local  rsyslog-mysql-5.8.10]  mysql -uroot -p123456 < createDB.sql

在这里插入图片描述在这里插入图片描述
创建mysql用户

mysql> grant all on Syslog.* to rsyslog@'localhost' identified by '123456';

mysql> flush privileges;

5.配置服务端支持rsyslog-mysql模块,并开启UDP服务端口获取网内其它linux系统日志

 [root@local ~] vim /etc/rsyslog.conf     

#添加以下两行内容
$ModLoad ommysql
. :ommysql:localhost,Syslog,rsyslog,123456
说明:localhost表示本地主机,Syslog为数据库名,rsyslog为数据库用户,123456位用户密码

开启相关日志模块

$ModLoad immark # immark为模块名,支持日志标记
$ModLoad imudp # imudp 为模块名,支持udp协议
$UDPServerRun 514 # 允许514端口接收使用UDP和TCP协议转发过来的日志

$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
$ModLoad immark  # provides --MARK-- message capability
$ModLoad ommysql
*.* :ommysql:localhost,Syslog,rsyslog,123456
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

扩展:UDP协议,中文名是用户数据报协议。在网络中与TCP协议一样用于处理数据包,是一种无连接的协议。在OSI模型中,在第四层-传输层,处于IP协议的上一层。

重启rsyslog服务

  [root@local ~] service rsyslog restart

三:客户端配置
1 安装rsyslog

挂载/mnt

[root@local ~] mount /dev/sr0 /mnt/^C
[root@local ~] df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_local-lv_root
                       35G  7.6G   26G  23% /
tmpfs                 427M  228K  427M   1% /dev/shm
/dev/sda1             477M   40M  412M   9% /boot
/dev/sr0              3.7G  3.7G     0 100% /media/CentOS_6.8_Final
/dev/sr0              3.7G  3.7G     0 100% /mnt

[root@local ~] rpm -ivh /mnt/Packages/rsyslog-5.8.10-8.el6.x86_64.rpm

2 配置rsyslog客户端发送本地日志到服务器端

  [root@local ~] vim /etc/rsyslog.conf
  *.* @192.168.245.144   # 此行内容 添加到文件末尾服务器ip
 

重启服务
在这里插入图片描述

3 编辑/etc/bashrc,将客户端执行的所有命令写入系统日志中

   [root@local ~]  vim /etc/bashrc

文件底部添加一行,加入以下内容
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[pwd]"$msg"; }'在这里插入图片描述设置使其生效

[root@local ~]  source !$

四: 测试Rsyslog Server是否可以正常接收Client端日志
客户端
在这里插入图片描述
server服务端

[root@local ~] tailf /var/log/messages

Mar 27 16:50:33 luxiang rsyslogd: [origin software="rsyslogd" swVersion="5.8.10" x-pid="8243" x-info="http://www.rsyslog.com"] start
Mar 27 16:50:33 luxiang root: [euid=root]:root pts/0 2020-03-27 16:37 (192.168.245.1):[/root]/etc/init.d/rsyslog restart
Mar 27 16:52:10 luxiang root: [euid=root]:root pts/0 2020-03-27 16:37 (192.168.245.1):[/root]vim /etc/bashrc

五:loganalyzer安装

  [root@local ~] wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
  [root@local ~] ls
  loganalyzer-3.6.5.tar.gz 
  [root@local ~] tar zxvf loganalyzer-3.6.5.tar.gz
  [root@local ~] cd loganalyzer-3.6.5
 [root@local loganalyzer-3.6.5] mkdir /var/www/html/loganalyzer
 [root@localloganalyzer-3.6.5] rsync -a src/* /var/www/html/loganalyzer/

六: 在浏览器中安装Logantlyzer
浏览器中访问 192.168.245.144/loganalyzer
在这里插入图片描述
提示没有配置文件,点击here 下一步
第一步,测试系统环境
在这里插入图片描述点击next,下一步
在这里插入图片描述
没有错误就不用动
提示错误:缺少config.php文件,并且权限要设置为666,可以使用contrib目录下的configure.sh脚本生成。
查看configure.sh文件的内容 有就不用动

[root@local ~] cd loganalyzer-3.6.5
[root@local loganalyzer-3.6.5] cd contrib/
[root@local contrib] cat configure.sh 
#!/bin/sh

touch config.php
chmod 666 config.php

需要在/var/www/html/loganalyzer/下创建config.php文件,并设置666权限

[root@local  contrib] touch /var/www/html/loganalyzer/config.php
[root@local contrib] chmod  666  !$ 
[root@local contrib] ll /var/www/html/loganalyzer/config.php 
-rw-rw-rw-. 1 root root 11438 3月   9 20:40 /var/www/html/loganalyzer/config.php

操作完上面的,执行Recheck,config.php文件可写,点击next进行下一步。
在这里插入图片描述第三步:基础设置在这里插入图片描述第四:创建表在这里插入图片描述第五步:检查SQL结果在这里插入图片描述第六步:创建用户在这里插入图片描述第七:个系统日志source在这里插入图片描述查看Loganalyzer首页
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值