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 09:08
下一篇 2016-10-24 09:08

相關推薦

  • 利用keepalived實現主/從和主/主模式的高性能負載均衡集群

    要求: 1、使用nginx的反向代理功能實現負載均衡 2、keepalived實現高可用 ???????第一組的虛擬地址為172.16.1.100 ????????????D設備的優先級高 ???????第二組的虛擬地址為172.16.1.110 ????????????E設備的優先級高 3、分別實現主/從和主/主兩種配置 集群拓撲: ? ? ? 第一種:主…

    2017-06-25
  • Linux系統程序包管理—rpm

     概述:      本章內容:軟件的運行環境,軟件包基礎,rpm包管理,yum管理,定制yum倉庫,編譯安裝 一、軟件運行環境     1.□API:Application Programming Interface (應用程序開發接口)         &n…

    Linux干貨 2016-09-01
  • 四大開源協議的異同:GPL、LGPL、BSD、Apache

    便于自身理解四大常用開源協議的異同之處。

    Linux干貨 2017-10-25
  • N26-第五周作業

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; grep ‘^[[:space:]]\+’ /boot/grub2/grub.cfg 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; grep ‘^#[[:space:]]\+’ /etc/rc.d/rc.…

    Linux干貨 2017-03-06
  • Shell腳本之流程控制語句

    Shell腳本之流程控制語句 1、 if語句 (1)if 條件;then        action1 else        action2 fi  注意:shell里沒有縮進要求。 (2)if 條件1;then   …

    Linux干貨 2017-04-16
  • Linux的發行版及哲學思想

    Linux是一套免費使用和自由傳播的類Unix系統,是一個基于Unix的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的工具軟件、應用程序和網絡協議。它支持32位和64位硬件,是一個性能穩定的多用戶網絡操作系統。嚴格來講,Linux這個詞本身只表示Linux內核,聯合GNU 組織里的各種強大的應用軟件而組成的操作系統。 從Linux的誕生至今,…

    Linux干貨 2016-10-30
欧美性久久久久