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

相关推荐

  • ☞Nginx

    Nginx 概述 yum安装Nginx 编译安装Nginx 主要文件路径 主配置文件nginx.conf main block:全局配置段 http/https 协议相关配置段 性能优化初步 调试、定位问题的配置 events段配置 worker、method、accept_mutex http协议相关配置段 虚拟主机 基于PORT、IP、Server Na…

    Linux干货 2016-10-24
  • ​20151208完成了第二天课程中的第一课:Osey Linux发行版(01)

    完成了第二天课程中的第一课:Osey Linux发行版(01) 今天公司晚上有加班,回来晚了。只完成了第一课:Osey Linux发行版(01) 简要笔记如下: Linux哲学思想:    1、一切皆文件:             把几乎所有的资源,包括硬件设备都组织为文件格式;…

    Linux干货 2015-12-10
  • N25第一周作业

    第一周作业 一、计算机由硬件系统和软件系统两部分组成如下: 计算机硬件由CPU、内存、输入设备、输出设备组成。 1、中央处理器(CPU,Central Processing Unit)   CPU的功能主要是对输入指令的判断和运算;CPU包括运算器、控制器和寄存器三部分; (1)、运算器   执行各种算术和逻辑运算操作,计算机运行时,运算…

    Linux干货 2016-12-05
  • 系统自动化安装、selinux

    系统自动化安装 系统启动流程:bootloader–>kernel(initramfs)–>rootfs–>anaconda–>/sbin/init anaconda: 系统安装程序    tui: 基于图形库curses的文本配置窗口 &nbsp…

    Linux干货 2016-09-22
  • systemd和systemctl

    systemd:      POTS–>boot Sequence(BIOS)–>Bootloader(MBR)–>kernel(ramdisk)–>rootfs(swithroot)–>/sbin/init    &n…

    Linux干货 2016-09-22
  • 网络这块一些有趣的感想

    还记的那天老师让我们做两台主机的nexthop就是自己的ip地址,然后互相ping测试能否互相联通的实验,昨晚之后我就在想能不能进行一些改进,因为在我看来这种级别的互相ping的前面一个网络段相同太没意思了。 接着我就尝试了几种IP地址 主机A 主机B 192.0.0.1 192.1.0.1 192.1.1.1 192.2.2.2 192.2.1.1 192…

    Linux干货 2016-09-13