基於LAMP實現web日誌管理查看

前言:日誌是一個重要的信息庫,如何高效便捷的查看系統中的日誌信息,是系統管理員管理系統的必備的技術。

實現方式:

   1、將日誌存儲於數據庫。

   2、採用LAMP架構,搭建PHP應用,通過web服務訪問數據庫,提取日誌信息,展現到web頁面。

基本結構圖:

6cc1425f1da362c58aa0e107d43a137a.png

一、搭建日誌服務器

    系統默認就已經安裝了rsyslog服務,該服務是日誌統計,並進行整理的應用。

    1、  查看rssylog服務的狀態

        service rsyslog status

b8bda50f7d7ff7456270346094cfa807.png

    2、  安裝rsyslog-mysql

        yum install rsyslog-mysql

        查看rsyslog-mysql提供的文件

        rpm –ql rsyslog-mysql

    創建日誌數據庫的腳本會在創建數據庫時候使用。需要拷貝到數據庫服務器。

a1592e9e77b0234d34b7ec85aa5ade78.png

    3、  修改rsyslog服務的配置文件,使其支持將日誌存儲到數據庫中

    在進行配置之前,我們需要首先規劃一下數據庫,小編爲了使結構清晰,所以將數據庫的配置和日誌服務器的配置分開來寫,我們先規劃一下數據庫中,我們要如下準備:

        1)   創建的有數據庫Syslog

        2)   創建一個用戶loguser 密碼爲jiake

        3)   將Syslog的數據庫全部權限授權給用戶loguser

        以上這些等會在數據庫中會進行操作。定義以上的數據信息是爲了對rsyslog的配置文件的進行修改。

        vim/etc/rsyslgo.conf

        修改如下圖所示:

0bfdf7d990ea08b0b4648e72651e0c76.png

    4、 重啓rsyslog服務

        service rsyslog restart

二、搭建日誌數據庫

    小編這裏採用的是centos6,所以需要安裝mysql-server,在centos7上,安裝的數據庫是mariadb-server

    1yum install mysql-server

    2、運行數據庫初始化安全腳本

        mysql_secure_installation

    (Centos6上使用的是mysql-server,在安裝完mysql-server之後,需要創建一個/etc/mysql的目錄,將/usr/share/mysql/目錄下自帶的配置文件模板複製到/etc/mysql/下並改名爲my.cnf,接着運行安全腳本mysql_secure_installation)

    3、創建存儲日誌信息的數據庫

    將在日誌服務器上安裝後生成的創建數據庫的腳本拷貝過來,createDB.sql

        mysql –uroot –pjiake < createDB.sql

4、登錄進數據庫

    mysql –uroot –pjiake

    5、 創建管理Syslog數據庫的用戶,併爲該用戶授權

    grant all on Syslog.* to ‘jiake’@’%’ identified by ‘jiake’;

    該SQL語句直接授權並創建用戶。

    % 其實應該是指向日誌服務器的地址,意爲允許日誌服務器通過該用戶連接到數據庫。根據上面得結構圖,我們看出,需要兩個用戶,分別爲日誌服務器、web網頁管理服務器提供用戶,可以使兩個服務器通過某用戶可以管理並查看數據庫中的日誌存儲信息,我們可以指明兩個用戶,將用戶的地址分別指向日誌服務器和web服務器。這裏小編爲了方便,所以指定了泛地址,這樣兩個服務器都可以通過該地址進行連接,但爲了安全考慮,真實的生產環境中,並不建議這麼做。


    6、  查看創建成功的數據庫授權用戶以及創建成功的日誌數據庫。

    查看數據庫中的用戶:

    Select user,host,password from mysql.user;

440fbd23e3f3213caf7ecf8410910578.png

    查看創建的數據庫中的表:

        Use Syslog

        Show tables;

5eca02c9e93fdaba895636e698e37927.png


    7、 測試

      1)在日誌服務器上進行如下測試:

        logger  “This is mail”

      2)在數據庫中進行查看

        Select * from Syslog.SystemEvents\G;    

        如下圖所示:

561f80f1aaab864503e22c9cafb8c572.png

三、搭建web服務器

    搭建web服務器需要安裝httpd,以及PHP,這裏小編就不詳細介紹其工作原理了,在小編的另一篇問文章中有介紹:

    http://jk6627.blog.51cto.com/12002684/1975354

    1、yum install httpd

    2、yum install php

    3、啓動httpd服務

        service httpd start

7fb3a911ea190308ee12280aa9fd1190.png

    4、下載日誌管理管理軟件包       

    http://loganalyzer.adiscon.com/downloads/

        下載loganalyzer

    5、解壓到web主站點目錄下

        tar xvf loganalyzer-4.1.5.tar.gz

        cp –a loganalyzer-4.1.5/src/var/www/html/log

e7252f9bac969775380e4c69dddf46d0.png

3633c1c3304d09745fd1ec53e5c07529.png

64ea4879959822d2b0c07d1938b4eab0.png

    6、連接測試

d01885697d35d3e1bd7c1c14d8f2797c.png

b6c6fd6a4c51f2ffd40773adc11167f5.png

f2827aa24b2924f0669f66a3062e23bd.png

71d1ff0eebd81eef8c89d9b288fc30d9.png

a3387256816218ebd72aef2c3bec83a2.png

717206c84bf22eb128610d6f4a36af27.png

40cf2b63f8d5e83a5712fa47306ac7de.png

五、實驗總結

    1、   做本實驗的時候一定要保證環境可用,關閉iptables、selinux。

    2、   數據庫管理用戶有兩部分組成,一部分是用戶名,一部分是主機的地址,該地址是指定的登錄的主機的地址,一定要注意。

    3、   如果不能夠遠程連接數據庫,先保證兩臺主機可以相互ping通,查看地址指向是否正確。

    4、   Web服務端最好使用php模塊方式,不要使用php-fpm獨立進程,該獨立進程有時候配置的時候一不小心會出現一些錯誤,導致不能夠連接到數據庫,其次,該進程的兼容性不是很好。

    5、   一定要在解壓並且複製到主站點下的源目錄中,創建一個config.php的空文件,該文件是爲了在web端進行設置時,存入配置信息的,遠程連接的數據庫的信息都在改文件中,可以考慮後期將該文件的權限修改爲644。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章