简介

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

LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,推荐使用后者。

LogAnalyzer 采用php开发,日志服务器需要php的运行环境,本文采用LNMP。

系统环境

服务端:

  1. Rsyslog Server OS: CentOS6.5
  2. Rsyslog Server OS: 192.168.1.200
  3. Rsyslog 版本:rsyslog-5.8.10-10.el6_6.x86_64
  4. LogAnalyzer 版本: loganalyzer-4.1.5
  5. LNMP 版本:nginx1.8.0 + php5.6.29 + mysql 5.7.17
  6. SELinux 关闭
  7. iptables 打开

客户端:

  1. Rsyslog Client OS: CentOS6.5
  2. Rsyslog Client OS: 192.168.1.201

安装LNMP环境

此处省略

服务端软件安装和配置

软件安装:rsyslog和rsyslog-mysql

检查是否按照rsyslog软件(系统会默认安装)

  1. # rpm -qa|grep rsyslog

安装模块rsyslog-mysql(负责将日志传送到MySQL):

  1. # yum install rsyslog-mysql -y

rsyslog配置

1、导入rsyslog-mysql自带的sql文件

  1. # mysql -uroot -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

createDB.sql文件的内容:(创建Syslog数据库,并创建空表SystemEvents和SystemEventsProperties)

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

2、创建访问Syslog数据库的账号并分配权限

  1. mysql> grant all privileges on `Syslog`.* to 'rsyslog'@'localhost' identified by 'abc123456';
  2. mysql> flush privileges;

3、配置服务端支持rsyslog-mysql模块

  1. # vim /etc/rsyslog.conf
  2. $ModLoad ommysql
  3. *.* :ommysql:localhost,Syslog,rsyslog,abc123456

说明:ommysql表示装载的模块名,Syslog表示数据库名,rsyslog表示用户,abc123456是密码
配置支持rsyslog-mysql模块,rsyslog会将新产生的日志信息自动传到MySQL中保存
4、开启相关日志模块,并开启UDP服务端口获取内网内其他linux系统日志

  1. # vim /etc/rsyslog.conf
  2. $ModLoad immark #immark是模块名,支持日志标记
  3. $ModLoad imudp #imupd是模块名,支持udp协议
  4. $UDPServerRun 514 #允许514端口接收使用UDP和TCP协议转发过来的日志

5、重启rsyslog服务,让配置生效

  1. # /etc/init.d/rsyslog restart

6、开启iptables规则
开放514端口,仅限内网访问

  1. # vim /etc/sysconfig/iptables
  2. -A INPUT -s 192.168.1.0/24 -p tcp -m tcp --dport 514 -j ACCEPT
  3. -A INPUT -s 192.168.1.0/24 -p udp -m udp --dport 514 -j ACCEPT
  4. # /etc/init.d/iptables restart

客户端配置

1、检查rsyslog是否安装

  1. # rpm -qa|grep rsyslog

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

  1. # vim /etc/rsyslog.conf
  2. *.* @192.168.1.200

服务端地址:192.168.1.200
3、重启服务

  1. # /etc/init.d/rsyslog restart

4、将客户端用户的history写入到系统日志,用于审计用户登录操作
用户登录操作被写入系统日志/var/log/messages中

  1. # vim /etc/bashrc
  2. export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'
  3. # source /etc/bashrc

说明:

1、PROMPT_COMMAND 是bash的环境变量,变量值会作为普通bash命令执行,执行时间是在bash显示prompt之前。
2、" msg=$(history 1 | { read x y; echo $y; }) " 。在prompt显示之前,执行history 1 ,总会获取最后一次执行的命令,通过read命令过滤掉历史ID。msg变量的值就是执行的命令。
3、logger 是一个shell 命令接口,可以通过该接口使用Rsyslog的系统日志模块,还可以从命令行直接向系统日志文件写入一行信息。

测试server端是否正常接收client端的日志

client 端测试:

  1. [test@server ~]$ pwd
  2. [test@server ~]$ whoami
  3. [test@server ~]$ id
  4. [test@server ~]$ ls

查看server端的messages日志:

  1. # tail -f /var/log/messages
  2. Jun 9 17:57:52 server test: [euid=test]:test pts/1 2017-06-09 17:43 (217.11.57.227):[/home/test]pwd
  3. Jun 9 17:57:53 server test: [euid=test]:test pts/1 2017-06-09 17:43 (217.11.57.227):[/home/test]whoami
  4. Jun 9 17:57:54 server test: [euid=test]:test pts/1 2017-06-09 17:43 (217.11.57.227):[/home/test]id
  5. Jun 9 17:58:02 server test: [euid=test]:test pts/1 2017-06-09 17:43 (217.11.57.227):[/home/test]ls

安装配置LogAnalyzer

1、软件安装

  1. # wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.5.tar.gz
  2. # tar zxvf loganalyzer-4.1.5.tar.gz
  3. # cd loganalyzer-4.1.5
  4. # mkdir /home/www/loganalyzer
  5. # mv src/* /home/www/loganalyzer
  6. # chmod +x contrb/configure.sh
  7. # cp -a contrb/configure.sh /home/www/loganalyzer/
  8. # cd /home/www/loganalyzer/
  9. # ./configure.sh; rm -f configure.sh

在Nginx上配置域名访问,根目录为/home/www/loganalyzer
2、在浏览器安装向导中安装LogAnalyzer

测试LogAnalyzer的使用

CentOS 6.5下部署日志服务器 Rsyslog+LogAnalyzer+MySQL的更多相关文章

  1. Centos7搭建日志服务器rsyslog+loganalyzer

    一.系统环境 Rsyslog Server OS:CentOS 7 Rsyslog Server IP:172.28.194.118 Rsyslog Version: rsyslog-7.4.7-12 ...

  2. Centos7.6部署rsyslog+loganalyzer+mysql日志管理服务器

    参考来自: the_script :https://yq.aliyun.com/articles/675198 名山.深处:https://www.cnblogs.com/skychenjiajun/ ...

  3. CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡【转】

    CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡   一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台:CentOS 6.3 Kernel:2 ...

  4. 【简书】在阿里云自带的CentOS + LAMP环境下部署一个Laravel项目

    在阿里云自带的CentOS + LAMP环境下部署一个Laravel项目 作者 DonnieZero 关注 2017.07.29 22:02* 字数 2218 阅读 5556评论 3喜欢 1赞赏 1 ...

  5. CentOS 6.2下搭建Web服务器

    1Centos 6.2下搭建web服务器 如今,Linux在Web应用越来越广,许多企业都采用Linux来搭建Web服务器,这样即节省了购买正版软件的费用,而且还能够提高服务器的安全性. 之前我们介绍 ...

  6. Linux下部署FTP服务器

    Linux下部署FTP服务器 下载安装包 在这里介绍的是离线部署FTP,首先下载对应的rpm包,下载链接为: 下载vsftpd服务 下载FTP客户端 安装ftp服务器 关闭防火墙 service ip ...

  7. debian7下部署nginx服务器

    笔者是在vmware中的Debian7下部署nginx服务器,采用离线部署方式.过程如下: 1.准备好需要的离线安装包 nginx-1.6.2.tar.gz,pcre-8.34.tar.gz,open ...

  8. Linux CentOS 6.5 下 vsftpd ftp服务器搭建

    Linux CentOS 6.5 下 vsftpd ftp服务器搭建 by:授客 QQ:1033553122   操作系统环境:CentOS 6.5-x86_64 下载地址:http://www.ce ...

  9. CentOS 6.3下搭建Web服务器

    准备前的工作: 1.修改selinux配置文件(/etc/sysconfig/selinux) 关闭防火墙 (1)把SELINUX=enforcing注释掉 (2)并添加SELINUX=disable ...

随机推荐

  1. 用haproxy实现nginx的proxy_pass转发功能

    公司的网站有个需求,主站点上有两个URL,没有在本地nginx上配置,而是在另一台主机的nginx上配置的站点.如果使用nginx作为反向代理,可以使用proxy_pass指令转发对这两个URL的请求 ...

  2. linux部署.net core api并且实现上传图片

    为了体验.net在linux上运行,所以使用HttpClient东借西抄做了一个简单的api上传功能. 第一步,简单的上传功能: public class UploadHelper { private ...

  3. Project Euler 18 Maximum path sum I( DP and 记忆化搜索 )

    题意:求从三角形顶端出发到达底部,所能够得到的最大路径和 方法一:记忆化搜索 /************************************************************ ...

  4. BZOJ 1197 [HNOI2006]花仙子的魔法 (数学题)

    题面:洛谷传送门 BZOJ传送门 非常有意思的一道数学题,浓浓的$CF$风,然而我并没有想出来.. 我们想把一个$n$维空间用$n$维球分成尽可能多的块 而新增加一个$n$维球时,肯定要尽可能多地切割 ...

  5. HDU 4228

    很明显可以转化为反素数的题目.由于有n种不同的方式,所以,数的约数可以为2*n或者2*n-1 #include <iostream> #include <cstdio> #in ...

  6. HDU 4133

    注意题目中的一句话:If a number m has bigger evaluating value than all the numbers smaller than it... 这让我重新想过反 ...

  7. 漫说好管理vs.坏管理

    天地会珠海分舵注:本文英文版来自Medium今日热点头条.漫画简单明了,全文差点儿没有多余的语言去装饰.两天内获得两千三百多个推荐,且读者的反馈也相当的热烈.中文版由天地会珠海分舵编译后分享给大家. ...

  8. CSU 1541 There is No Alternative (最小生成树+枚举)

    题目链接:传送门 题意: 有n个点.m条边.要使n个点所有连起来且要花费最小.问有哪些边是必需要连的. 分析: 要使花费最小肯定是做最小生成树.可是题目要求哪些边是必需要用的.我们能够 这样思考,我们 ...

  9. Android自己定义对话框实现QQ退出界面

    效果 首先看下qq的效果图,点击菜单button后点退出就会出现如图的对话框. 从上图能够看出,该对话框有一个圆角,以及标题,提示信息,两个button,button颜色是白色,button点击后背景 ...

  10. Gradle的奇妙之处

    转载请注明出处:http://blog.csdn.net/crazy1235/article/details/50465885 Google I/O 2013大会上公布了AS,现在已经发展到2.0-b ...