基於LAMP實現web日誌管理查看
前言:日誌是一個重要的信息庫,如何高效便捷的查看系統中的日誌信息,是系統管理員管理系統的必備的技術。
實現方式:
1、將日誌存儲於數據庫。
2、采用LAMP架構,搭建PHP應用,通過web服務訪問數據庫,提取日誌信息,展現到web頁面。
基本結構圖:
一、搭建日誌服務器
系統默認就已經安裝了rsyslog服務,該服務是日誌統計,並進行整理的應用。
1、 查看rssylog服務的狀態
service rsyslog status
2、 安裝rsyslog-mysql
yum install rsyslog-mysql
查看rsyslog-mysql提供的文件
rpm –ql rsyslog-mysql
創建日誌數據庫的腳本會在創建數據庫時候使用。需要拷貝到數據庫服務器。
3、 修改rsyslog服務的配置文件,使其支持將日誌存儲到數據庫中
在進行配置之前,我們需要首先規劃一下數據庫,小編為了使結構清晰,所以將數據庫的配置和日誌服務器的配置分開來寫,我們先規劃一下數據庫中,我們要如下準備:
1) 創建的有數據庫Syslog
2) 創建一個用戶loguser 密碼為jiake
3) 將Syslog的數據庫全部權限授權給用戶loguser
以上這些等會在數據庫中會進行操作。定義以上的數據信息是為了對rsyslog的配置文件的進行修改。
vim/etc/rsyslgo.conf
修改如下圖所示:
4、 重啟rsyslog服務
service rsyslog restart
二、搭建日誌數據庫
小編這裏采用的是centos6,所以需要安裝mysql-server,在centos7上,安裝的數據庫是mariadb-server
1、yum 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;
查看創建的數據庫中的表:
Use Syslog
Show tables;
7、 測試
1)在日誌服務器上進行如下測試:
logger “This is mail”
2)在數據庫中進行查看
Select * from Syslog.SystemEvents\G;
如下圖所示:
三、搭建web服務器
搭建web服務器需要安裝httpd,以及PHP,這裏小編就不詳細介紹其工作原理了,在小編的另一篇問文章中有介紹:
http://jk6627.blog.51cto.com/12002684/1975354
1、yum install httpd
2、yum install php
3、啟動httpd服務
service httpd start
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
6、連接測試
五、實驗總結
1、 做本實驗的時候一定要保證環境可用,關閉iptables、selinux。
2、 數據庫管理用戶有兩部分組成,一部分是用戶名,一部分是主機的地址,該地址是指定的登錄的主機的地址,一定要註意。
3、 如果不能夠遠程連接數據庫,先保證兩臺主機可以相互ping通,查看地址指向是否正確。
4、 Web服務端最好使用php模塊方式,不要使用php-fpm獨立進程,該獨立進程有時候配置的時候一不小心會出現一些錯誤,導致不能夠連接到數據庫,其次,該進程的兼容性不是很好。
5、 一定要在解壓並且復制到主站點下的源目錄中,創建一個config.php的空文件,該文件是為了在web端進行設置時,存入配置信息的,遠程連接的數據庫的信息都在改文件中,可以考慮後期將該文件的權限修改為644。
本文出自 “Linux運維” 博客,請務必保留此出處http://jk6627.blog.51cto.com/12002684/1977782
基於LAMP實現web日誌管理查看