基于mysql數據庫的日志分析系統

現如今,日志已經成為了我們分析系統及相關服務的一個重要工具。而日志也具有其相對較為固定的格式以便于進行統計查詢。其大致格式如下:

日期時間            主機            進程[pid]:事件內容

我們可以通過查看/var/log/message中的內容來看一下其記錄的日志格式。

0000.jpg

Linux中,使用rsyslog來記錄日志,其主要具有以下幾點特性:

a、多線程進程;

b、支持UDP、TCP、SSL/TLS、RELP等多種傳輸協議;

c、可存儲日志信息于MysqlPGSQL、Oracle等數據庫中;

d、具有功能強大的過濾器,可實現過濾日志信息中任何部分的內容;

e、可自定義輸出格式;

下面我們就首先詳細了解一下rsyslog程序。

1、程序相關環境;

rsyslogCentOS發行版中為默認安裝的,當然,我們也可自己手動安裝,配置好yum倉庫后,執行yum –y install rsyslog即可。以CentOS7為例,其生成的相關文件主要有以下這些:

配置文件:/etc/rsyslog.conf、/etc/rsyslog.d/*

主程序文件:/usr/sbin/rsyslogd

模塊路徑:/usr/lib64/rsyslogd/

Unit File/usr/lib/system/system/rsyslog.service

2、程序配置文件

rsyslog的程序配置文件由以下三部分組成:

#### MODULES ####
#### GLOBAL DIRECTIVES ####
#### RULES ####

需要注意的是,每個配置段的配置選項都有嚴格的定義,所以我們在添加配置選項時,同樣也需要嚴格按照配置段位置進行添加;我們主要看一下RULES段的主要配置。

RULES段的配置具有固定的格式,由三部分組成:

Facility.priority                        target

Facility即為日志傳輸的信道,包括auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,syslog,local0-local720類。

priority為日志的等級,包括debug,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)幾種;

target為日志的存儲方式,有以下幾種:

文件:將日志信息記錄到指定的文件中,文件路徑之前的“-”表示異步寫入之意;

用戶:將日志事件通知給指定的用戶,一般指登錄到當前系統上的所有用戶的終端;

日志服務器:格式為@rsyslog_server,表示將日志信息發往指定的日志服務器;

管道:格式為|COMMAND,表示將日志通過管道傳遞給命令;

了解了rsyslog之后,那么我們要如何分析日志信息呢。在圖像化界面下,我們可以通過一款軟件loganalyzer進行分析,其需要運行于amp環境中;下面我們就搭建一個AMP+rsyslog+loganalyzer環境;

1、安裝AMP+rsyslog環境

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

2.配置mysql相關用戶與數據

    a、啟動mysql服務

systemctl start mariadb.service

         b、運行mysql初始化設置;

mysql_secure_installation

         c、創建mysql數據庫與賬號;

mysql -u root -pmageedu < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
mysql> grant all on Syslog.* to ‘rsyslog’@’localhost’ identified by ‘mageedu’;
mysql> grant all on Syslog.* to ‘rsyslog’@’127.0.0.1’ identified by ‘mageedu’;
mysql> flush privileges;

3、配置rsyslog配置文件;

vim /etc/rsyslog/rsyslog.conf

MODULES下添加:$ModLoad        ommysql

RULES下添加:*.*                            :ommysql:127.0.0.1,Syslog,rsyslog,mageedu

4loganalyzer相關配置;

         a、解壓loganalyzer安裝包;

tar xf loganalyzer-3.6.5.tar.gz

         b、復制解壓目錄下src目錄至/var/www/html目錄;

cp –r loganalyzer-3.6.5/src /var/www/html

         c、創建軟鏈接;

ln -sv /var/www/html/loganalyzer /var/www/html/log

         d、在/var/www/html/log目錄中創建config.php并修改權限為666;

cd /var/www/html/log
touch config.php
chmod 666 config.php

         e、為apache用戶設置acl權限;

setfacl -m u:apache:rwx /var/www/html/loganalyzer-3.6.5

   f、設置防火墻并啟動各服務

         5、在瀏覽器中訪問httpd服務并安裝loganalyzer

      111.jpg

222.png

至此,我們就搭建完成了amp+rsyslog+loganalyzer服務。

 

 

 

 

 

 

 

 

 

 

 

原創文章,作者:luoliumeng,如若轉載,請注明出處:http://www.www58058.com/53818

(0)
luoliumengluoliumeng
上一篇 2016-10-23 20:05
下一篇 2016-10-23 20:17

相關推薦

  • Linux磁盤管理(一)之分區、格式化、掛載使用

    磁盤管理(一)   本章節內容: 磁盤結構 分區類型   管理分區   管理文件系統   掛載設備   一、磁盤結構: 1、設備號碼:  主設備號:major number, 標識設備類型 次設備號:minor number, 標識同一類型下的不同設備  &n…

    Linux干貨 2016-08-26
  • CentOS6.9系統上編譯安裝httpd.2.2.32

    本文所做的所有操作是在一部新安裝的CentOS6.9系統上。 1.環境與配置 環境說明:VMware上安裝的CentOS6.9系統,兩張系統盤做成的yum源 配置:編譯生成的所有的文件都存放在/usr/local/httpd22/這個目錄下 2.安裝GCC編譯器 [root@localhost ~]# yum grouplist | grep “Develo…

    2017-04-20
  • btrfs文件系統

                                                      &nbsp…

    Linux干貨 2015-08-21
  • Linux文件目錄的權限

     Linux是多用戶多任務的分時操作系統,如果每個人都對文件和目錄都是隨便訪問的話,難么你的文件很有可能會被他人刪除或修改,從而丟失數據。為此系統對文件增加了權限的機制來防止這種事情的發生。對文件而言,用戶被分為三類:屬主(onwer)、屬組(group)、和其他(other)。常規的權限分為:讀(r readable)、寫(w writable)…

    Linux干貨 2016-08-07
  • 源碼包安裝Apache服務

    1、安裝development tools程序包組 安裝Apache服務器前需要解決依賴性問題,比如需要安裝GCC、GCC++、OPENSSL等等,因為是在虛擬機里做實驗,這里就通過直接安裝包組的方法解決依賴性問題。 (1)掛載安裝光盤,并安裝“Development tools”包組 [root@localhost ~]# mount&…

    Linux干貨 2016-08-24
  • 閑玩Xen

    簡述理論 虛擬化的實現 模擬技術:模擬計算機的主要硬件硬件并協調工作,但是效率很低下,所以不常用 完全虛擬化:針對cpu的虛擬來分為,基于BT技術(Guset的特權指令在ring1,Host的特權指令在ring0,Guest的特權指令由Host的ring0來參與邊翻譯邊執行)的完全虛擬化,基于HVM(硬件輔助,Guest的特權指令在ring0,Host的特權…

    Linux干貨 2016-09-26
欧美性久久久久