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.www58058.com/52779

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

相關推薦

  • vim編輯器

    導讀:      本章將主要介紹Linux中的一種常用文本編輯器vim,具體內容如下:       □使用vi和vim的三種主要模式       ?移動光標,進入插入模式       ?改變、刪除、復制文本     &n…

    Linux干貨 2016-08-15
  • N25-第六周作業

      復制/etc/rc.d/rc.sysinit文件至/tmp目錄,將/tmp/rc.sysinit文件中的以至少一個空白字符開頭的行的行首加#;               s/要查找的內容/替換為的內容/修飾符 %:全文,相當…

    Linux干貨 2017-02-13
  • N25期–第七周作業

    1、創建一個10G分區,并格式為ext4文件系統; fdisk /dev/sda n p 2 enter +10G w partx -a /dev/sda (1) 要求其block大小為2048, 預留空間百分比為2, 卷標為MYDATA, 默認掛載屬性包含acl; mke2fs -t ext4 -…

    Linux干貨 2017-02-20
  • N22-第五周作業

    1、顯示當前系統上root、fedora或user1用戶的默認shell; [root@localhost ~]# cat /etc/passwd | grep "^root" | cut -d: -f7 /bin/bash 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello()…

    Linux干貨 2016-09-15
  • 8月2日作業

            1、在/data/testdir里創建的新文件自動屬于g1組,組g2的成員如:alice能對這些新文件有讀寫權限,組g3的成員如:tom只能對新文件有讀權限,其它用戶(不屬于g1,g2,g3)不能訪問這個文件夾。 [root@localhost test…

    Linux干貨 2016-08-05
  • 淺談編譯kernel+busybox構建擁有遠程ssh登錄和web功能最小linux系統(二)

    忘了介紹本文的源碼的版本了 dropbear-2013.58.tar.bz2    busybox-1.21.1.tar.bz2 linux-3.13.6.tar.xz  nginx-1.4.7 基于上文,我們還差group文件沒有寫 root@mysql etc]# vi group  …

    Linux干貨 2015-09-22
欧美性久久久久