rsyslog, mysql, loganalyzer联合实现

一. rsyslog简介

rsyslog是一个自由软件, 是GPL的lincesed增强的syslogd. 它提供了Mysql和完全可配置的输出格式的支持.

1. 日志信息格式:

     <优先级>时间戳 主机名 模块名/级别/信息摘要:内容

     <priority> timestamp sysname module/level/digest:content

上述格式中的尖括号<>, 空格, 斜线, 冒号, 是有效的

2. rsyslog中的术语

   facility : 设施, 信道, 是rsyslog收集,传输日志的设备通道. 具体有以下几种:

 auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, syslog, local0-local7等等

   priority: 优先级

共有8个优先级, 分别是debug, info, notice, warn, err(error), crit(critical), alert, emerg(panic)

3. rssylog在CentOS7上的程序环境

    (1)配置文件: /etc/rsyslog.conf, /etc/rsyslog.d/*

    (2)主程序: /usr/sbin/rsyslogd

    (3)模块路径: /usr/lib64/rsyslog

    (4)Unit FIle : /usr/lib/systemd/system/rsyslog.service

(1) 配置文件 /etc/rsyslog.conf

主要由三部分组成: 

 MODULES  # 配置了rsyslog用于收集日志信息的模块
 GLOBAL DIRECTIVES  # 主要记录了用于放置辅助文件的位置
 RULES  # 用于配置哪些系统信息记录, 以及存放到哪些文件位置

二. 将rsyslog的日志文件存放到MariaDB上, 并通过图形工具loganalyzer显示

1. 安装需要的程序环境

yum install -y httpd mariadb-server php php-mysql rsyslog rsyslog-mysql

其中rsyslog-mysql为rsyslog连接至mysql的驱动模块

2. 查看rsyslog-mysql的安装后的文件

/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

其中包括一个用于连接mysql的ommysql.so模块, 和一个数据库的脚本,,脚本内容如下:

CREATE DATABASE Syslog;     # 创建一个数据库 Syslog]
USE Syslog;            # 切换到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
);

CREATE TABLE SystemEventsProperties  #在数据库中创建表格
(
        ID int unsigned not null auto_increment primary key,
        SystemEventID int NULL ,
        ParamName varchar(255) NULL ,
        ParamValue text NULL
);

在上面的脚本中可以看出, 需要给数据库Syslog授权, 并创建Syslog专用的账号

在mysql-client执行下列的命令

MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'rsyslogpass';
Query OK, 0 rows affected (0.00 sec)

3. 生成所需要的数据库和表, 使用mysql命令的重定向导入脚本

[root@localhost ~]# mysql -ursyslog -h127.0.0.1 -prsyslogpass <  /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql

4. 配置rsyslog的配置文件/etc/rsyslog.conf, 使用ommysql模块; 并且配置RULES, 将所期望的日志信息记录与mysql中

#### MODULES ####
$ModLoad ommysql
...
#### RULES ####
*.*            :ommysql:127.0.0.1,Syslog,rsyslog,rsyslogpass

5. 安装loganalyzer

(1) 获取loganalyzer-4.1.1.tar.gz

解压: 

tar xf loganalyzer-4.1.1.tar.gz

(2) 将解压得到的loganalyzer-4.1.1目录下的src文件夹 cp 到/var/www/html目录下, 并创建符号链接

[root@localhost ~]# cd loganalyzer-4.1.1
[root@localhost ~]# cp -a src /var/www/html/loganalyzer-4.1.1
[root@localhost ~]# cd /var/www/html/
[root@localhost ~]# ln -sv  loganalyzer-4.1.1 log
[root@localhost ~]# cd log
[root@localhost ~]# touch config.php && chmod 666 config.php

(3) 在图形端口用浏览器访问站点

16.png

在这一步填入相应的数据库信息, 后点next, loganalyzer就安装好了

12345.png

原创文章,作者:black_fish,如若转载,请注明出处:http://www.178linux.com/52779

(0)
black_fishblack_fish
上一篇 2016-10-24 09:08
下一篇 2016-10-24 09:08

相关推荐

  • 文件系统上的权限管理

                        文件系统上的权限管理: 一 、三种权限       &nbs…

    Linux干货 2017-04-03
  • 硬盘分区MBR和GPT选哪个好?有什么区别?

    当前主流的硬盘分区方式有两种:MBR和GPT。 一、MBR与GPT简介与结构 什么是MBR?         MBR,全称为Master Boot Record,即硬盘的主引导记录。是对IBM兼容机的硬盘或者可移动磁盘分区时,在驱动器最前端的一段引导扇区。 MBR的组成部分       &…

    Linux干货 2016-08-29
  • Tomcat集群之会话保持

    一:环境介绍:      OS:CentOS7.3      Ngninx:1.10.2     Tomcat:7     注:便于实验,此处关闭全部服务器的防火墙,selinux(iptables -F  于  setenforce 0)…

    2017-05-25
  • vim编辑器

    vim编辑器三种模式转换 G跳到尾行 gg:跳到首行 H:跳到当前页的首行 L: 跳到当前页的尾行 M: 跳到当前而的中间行 dd: 删除光标所在的行 #dd:多行删除 yy:复制行 #yy: 复制多行  Y: 复制整行 cc:删除当前行并输入新内容 #cc:删除多行 C:删除当前光标到行尾,并切换成插入模式 修改配置文件 全局: /etc/vimrc 用…

    2017-08-05
  • 从Linux小白到大牛——与狼共舞的日子8

    马哥教育网络班21期+第8周课程练习 1、请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 网桥是第2层的设备,它设计用来创建两个或多个LAN分段。其中,每一个分段都是一个独立的冲突域。网桥设计用来产生更大可用宽带。它的目的是过滤LAN的通信流,使得本地的通信流保留在本地,而让那些定向到LAN其他部分(分段)的通信流转发到那里去。每…

    Linux干货 2016-11-14
  • RPM及YUM工具介绍及使用(下)

    YUM工具 YUM工作原理 YUM工具的出现就是为了解决rpm工具不能够自动解决软件包之间的依赖关系这一难题的。它的工作原理大致如下:YUM透过分析RPM的标头资料,根据各软件的相关性找出软件所依赖的软件列表,然后去下载速度最快的yum仓库中下载所有相关RPM软件包,然后完成相应软件的安装。同时yum工具和rpm工具一样,也可以提供对软件包的查询,安装、升级…

    Linux干货 2016-12-26