rsyslog+mariadb+loganalyzer实现日志服务器搭建

一、概述

Linux的日志记录了用户在系统上一切操作,包括系统自身运作产生的日志,这些日志是应使用者了解服务器的情况最好的资料。Rsyslog 是系统的一部分,能够实时的写日志,并且还可以将日志选择性的发送到远程日志服务器。

rsyslog的特性:

  1. 日志统一,集中式管理
  2. 多线程
  3. 强大的过滤功能,能实现过滤日志信息中的任何部分内容
  4. 自定义输出格式

LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端。它提供了对日志的简单浏览、搜索、基本分析和一些图表报告的功能。LogAnalyzer 获取客户端日志会有两种保存模式,一种是直接读取客户端/var/log/目录下的日志并保存到服务端该目录下,一种是读取后保存到日志服务器数据库中,本次试验采用将日志保存到数据库的方式,在企业规模不大机器数量不多的情况下,LogAnalyzer 是一个不错的选择。

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

二、配置文件

rsyslog程序环境:

  • rsyslog的程序包为:rsyslog,为系统自带,无需安装
  • 其主要配置文件为:/etc/rsyslog.conf和/etc/rsyslog.d/*.conf
  • 主程序:/usr/sbin/rsyslogd
  • CentOS 6:service rsyslogs {start |stop |restart | status}
  • CentOS 7:/usr/lib/systemd/system/rsyslog.service

配置文件格式由三部分组成:

  • MODULES:模块配置
  • GLOBAL DIRECTIVES:全局配置
  • RULES:日志记录相关的配置

RULES部分配置介绍如下:

配置格式:facility.priority  target

facility
*:所有的facility;
f1,f2,f3,...:指定的facility列表; priority:
*:所有级别;
none:没有级别;
PRIORITY:指定级别(含)以上的所有级别;
=PRIORITY:仅记录指定级别的日志信息; target:
文件:将日志信息记录到指定的文件中;文件路径前的-表示异步写入;
用户:将日志事件通知给指定的用户;
日志服务器:@host,把日志通过网络送往指定的服务器记录,而非由本地记录;
管道:| COMMAND

如果要配置rsyslog成为日志服务器,需要在MODULES部分加载TCP或UDP模块:

#### MODULES ####
# Provides UDP syslog reception
$Modload imudp
$UDPServerRun 514 # Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

其他日志文件:

/var/log/secure:系统安装日志,应该周期性分析;
/var/log/btmp:当前系统上,用户的失败尝试登陆相关的日志信息,lastb命令进行查看;
/var/log/wtmp:当前系统上,用户正常登陆系统的相关日志信息,last命令可以查看; lastlog命令:用于查看当前系统上每一个用户最近一次的登陆信息; /var/log/messages:系统日志信息;
/var/log/dmesg:系统引导过程中的日志信息;
可以使用文本查看工具查看;
也可以使用专用命令dmesg查看;

下面开始我们的安装

三、安装和配置

配置rsyslog将日志记录于MySQL中:

(1)准备MySQL Server:yum install mariadb

(2)在在mysql server上授权rsyslog能连接至当前服务器;

MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'loguser'@'127.0.0.1' IDENTIFIED BY 'admin@123';

注意:我的实验环境是rsyslog和mysql在同一台机器上面,所以使用的地址是127.0.0.1

(3)安装rsyslog 连接MySQL数据库的模块;

yum install rsyslog-mysql

(4)为rsyslog创建数据库及表

mysql -uloguser -hlocalhost -pmagedu</usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

查看生成的表:

MariaDB [(none)]> use Syslog;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A Database changed
MariaDB [Syslog]> show tables;
+------------------------+
| Tables_in_Syslog |
+------------------------+
| SystemEvents |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec) MariaDB [Syslog]>

(5)配置rsyslog将日志保存到mysql中;

#### MODULES ####
$ModLoad ommysql #### RULES ####
*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,loguser,admin@123

(6)重启rsyslog服务;

[root@node1 ~]# systemctl restart rsyslog.service

这样,日志文件就不再记录于/var/log/messages下了,而是记录在数据库中。

通过loganalyzer展示数据库中的日志:

(1)准备amp或nmp组合:这里我使用的是lamp;

yum install httpd php php-mysql php-gd

(2)安装LogAnalyzer:

tar xf loganalyzer-3.6.5.tar.gz
cp -a loganalyzer-3.6.5/src /var/www/html/mylog
cd /var/www/html/mylog
touch config.php
chmod 666 config.php

(3)配置loganalyzer:

systemctl start httpd.service

  • 在浏览器中输入http://172.16.47.101/mylog/

  • 点击Click here to Install Adiscon LogAnalyzer!继续
  • 接着一路next

  • 到这里需要修改了

  • 改成如下

  • 点击完成

  • 报错了



    看提示,可能是表名写错了,于是去配置文件[root@node1 /var/www/html/mylog]# vim config.php看看,找到如下位置,果然是写错了,'SystemEvents '多了一个空格,囧~

  • 修改完后,重启httpd,我们要的页面出来了



    (4)最后为了安全,别忘记修改一下config.php权限

    #chmod 644 config.php

    至此,一台日志服务器搭建完成。

rsyslog+mariadb+loganalyzer实现日志服务器搭建的更多相关文章

  1. rsyslog+loganalyzer远程日志系统搭建教程(CentOS6.8)

    一.说明 本文主要是对“CentOS 6.7搭建Rsyslog日志服务器”进行整理,同时在本地进行环境搭建,验证在CentOS6.8上的正确性. 二.安装配置rsyslog 1.清空iptables关 ...

  2. CentOS 6.5下的lamp环境rsyslog+MySQL+loganalyzer实现日志集中分析管理

    前言 rsyslog系统日志,在CentOS5上叫syslog,而在CentOS6上叫rsyslog,是增强版的syslog,CentOS5上的配置文件在/etc/syslog.conf下,而Cent ...

  3. Kiwi Syslog server 日志服务器搭建

    Kiwi syslog server 是一款很不错的日志服务器软件,安装过程就不多说,Linux 服务器日志由于本身就是syslog的,所以不用转换,但是windows 系统的日志格式是event形式 ...

  4. CentOS7.3下部署Rsyslog+LogAnalyzer+MySQL中央日志服务器

    一.简介 1.LogAnalyzer 是一款syslog日志和其他网络事件数据的Web前端.它提供了对日志的简单浏览.搜索.基本分析和一些图表报告的功能.数据可以从数据库或一般的syslog文本文件中 ...

  5. django+nginx+xshell简易日志查询,接上<关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思>

    纠正一下之前在<关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思>中说到的PHP+MySQL太慢,这里只是说我技术不好,没 ...

  6. 关于《rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>》的反思

    关于<rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>>的反思--链接--http://www.cnblogs.com/drgcaosheng/p/ ...

  7. rsyslog+mysql+loganalyzer搭建日志服务器<个人笔记>

    大概思路如下: 使用Linux自带的rsyslog服务来做底层,然后再使用mysql与rsyslog的模板来存储文件,并且以web来进行显示出来.<模板的存储以日期的树形结构来存储,并且以服务器 ...

  8. centos7+rsyslog+loganalyzer+mysql 搭建rsyslog日志服务器

    一.简介 在centos7系统中,默认的日志系统是rsyslog,它是一类unix系统上使用的开源工具,用于在ip网络中转发日志信息,rsyslog采用模块化设计,是syslog的替代品. 1.rsy ...

  9. 004-linux下配置rsyslog日志收集服务器案例 rsyslog+loganalyzer日志服务器,无法添加报表模板解决

    centos6系统 client1:192.168.1.33 centos7系统 client2:192.168.1.44 centos7系统 master:192.168.1.55 配置服务端mas ...

随机推荐

  1. python and or用法

    and 和 or 是python的两个逻辑运算符,可以使用and , or来进行多个条件内容的判断.下面通过代码简单说明下and  or的用法: 1. or:当有一个条件为真时,该条件即为真.逻辑图如 ...

  2. UVa 10148 - Advertisement

    题目大意:有一些广告牌,为了使跑步者看到固定数量的广告,设计所需租用的最少数量的广告牌. 其实就是区间选点问题:数轴上有n个区间[ai, bi],取尽量少的点,使得每一个区间都至少有一个点.首先对区间 ...

  3. TF-IDF算法 笔记

    TF-IDF:Term Frequency-Inverse Document Frequency(词频-逆文档频度):主要用来估计一个词在一个文档中的重要程度. 符号说明: 文档集:D={d1,d2, ...

  4. 刪除預裝在windows 10 的app

    刪除預裝在windows 10 的app 步驟: 方法一.(易於解除安裝的app) 1. →按"開始標誌" →"所有應用程式" →在想解除的程式圖示上" ...

  5. Intellij idea 15配置tomcat,maven

    刚导了个项目进去,想把项目运行起开,怎么也找不到tomcat... ctrl + alt +s,打开设置窗,搜索 Application Server Tomcat: 点中间绿色的“+”号,添加选择t ...

  6. 样式(Style)和主题(Theme)资源——样式资源

    样式和主题资源都是用于对Android应用进行“美化”的,只要充分利用Android应用的样式和主题资源,开发者可以开发出各种风格的Android应用. 样式资源:         如果我们经常需要对 ...

  7. Angular - - angular.uppercase、angular.lowercase、angular.fromJson、angular.toJson

    angular.uppercase 将指定的字符串转换成大写 格式:angular.uppercase(string); string:被转换成大写的字符串. 使用代码: var str = &quo ...

  8. 使用 StateServer 保存 Session 解决 Session过期,登陆过期问题。

    使用 StateServer 保存 Session 正常操作情况下Session会无故丢失.因为程序是在不停的被操作,排除Session超时的可能.另外,Session超时时间被设定成60分钟,不会这 ...

  9. Python中执行系统命令常见的几种方法--转载

    Python中执行系统命令常见的几种方法 Python中执行系统命令常见的几种方法有: (1)os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 # 如果再命令行下执 ...

  10. 用mfix模拟流化床时压力边界条件和迭代步长需要注意的问题

    没想到今天模拟一个冷态流化床都出现这么多问题.需要通入三种气体组成的混合物,这时入口边界的压力BC_P_g不能为零,否则会报错,但是,需要注意的是,收敛效果对这个压力边界非常敏感,我随意给了个30,结 ...