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

實現方式:

?? 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。