基于LAMP实现web日志管理查看
前言:日志是一個重要的信息庫,如何高效便捷的查看系統(tǒng)中的日志信息,是系統(tǒng)管理員管理系統(tǒng)的必備的技術。
實現(xiàn)方式:
?? 1、將日志存儲于數(shù)據(jù)庫。
?? 2、采用LAMP架構,搭建PHP應用,通過web服務訪問數(shù)據(jù)庫,提取日志信息,展現(xiàn)到web頁面。
基本結構圖:
一、搭建日志服務器
????系統(tǒng)默認就已經(jīng)安裝了rsyslog服務,該服務是日志統(tǒng)計,并進行整理的應用。
????1、??查看rssylog服務的狀態(tài)
????????service rsyslog status
????2、??安裝rsyslog-mysql
????????yum install rsyslog-mysql
????????查看rsyslog-mysql提供的文件
????????rpm –ql rsyslog-mysql
????創(chuàng)建日志數(shù)據(jù)庫的腳本會在創(chuàng)建數(shù)據(jù)庫時候使用。需要拷貝到數(shù)據(jù)庫服務器。
????3、 ?修改rsyslog服務的配置文件,使其支持將日志存儲到數(shù)據(jù)庫中
????在進行配置之前,我們需要首先規(guī)劃一下數(shù)據(jù)庫,小編為了使結構清晰,所以將數(shù)據(jù)庫的配置和日志服務器的配置分開來寫,我們先規(guī)劃一下數(shù)據(jù)庫中,我們要如下準備:
????????1)???創(chuàng)建的有數(shù)據(jù)庫Syslog
????????2)???創(chuàng)建一個用戶loguser 密碼為jiake
????????3)???將Syslog的數(shù)據(jù)庫全部權限授權給用戶loguser
????????以上這些等會在數(shù)據(jù)庫中會進行操作。定義以上的數(shù)據(jù)信息是為了對rsyslog的配置文件的進行修改。
????????vim/etc/rsyslgo.conf
????????修改如下圖所示:
????4、?重啟rsyslog服務
????????service rsyslog restart
二、搭建日志數(shù)據(jù)庫
????小編這里采用的是centos6,所以需要安裝mysql-server,在centos7上,安裝的數(shù)據(jù)庫是mariadb-server
????1、yum install mysql-server
????2、運行數(shù)據(jù)庫初始化安全腳本
????????mysql_secure_installation
????(Centos6上使用的是mysql-server,在安裝完mysql-server之后,需要創(chuàng)建一個/etc/mysql的目錄,將/usr/share/mysql/目錄下自帶的配置文件模板復制到/etc/mysql/下并改名為my.cnf,接著運行安全腳本mysql_secure_installation)
????3、創(chuàng)建存儲日志信息的數(shù)據(jù)庫
????將在日志服務器上安裝后生成的創(chuàng)建數(shù)據(jù)庫的腳本拷貝過來,createDB.sql
????????mysql –uroot –pjiake < createDB.sql
4、登錄進數(shù)據(jù)庫
??? mysql –uroot –pjiake
????5、?創(chuàng)建管理Syslog數(shù)據(jù)庫的用戶,并為該用戶授權
????grant all on Syslog.* to ‘jiake’@’%’ identified by ‘jiake’;
????該SQL語句直接授權并創(chuàng)建用戶。
????% 其實應該是指向日志服務器的地址,意為允許日志服務器通過該用戶連接到數(shù)據(jù)庫。根據(jù)上面得結構圖,我們看出,需要兩個用戶,分別為日志服務器、web網(wǎng)頁管理服務器提供用戶,可以使兩個服務器通過某用戶可以管理并查看數(shù)據(jù)庫中的日志存儲信息,我們可以指明兩個用戶,將用戶的地址分別指向日志服務器和web服務器。這里小編為了方便,所以指定了泛地址,這樣兩個服務器都可以通過該地址進行連接,但為了安全考慮,真實的生產(chǎn)環(huán)境中,并不建議這么做。
????6、??查看創(chuàng)建成功的數(shù)據(jù)庫授權用戶以及創(chuàng)建成功的日志數(shù)據(jù)庫。
????查看數(shù)據(jù)庫中的用戶:
????Select user,host,password from mysql.user;
????查看創(chuàng)建的數(shù)據(jù)庫中的表:
????????Use Syslog
????????Show tables;
????7、?測試
??????1)在日志服務器上進行如下測試:
????????logger? “This is mail”
??????2)在數(shù)據(jù)庫中進行查看
????????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、???做本實驗的時候一定要保證環(huán)境可用,關閉iptables、selinux。
????2、???數(shù)據(jù)庫管理用戶有兩部分組成,一部分是用戶名,一部分是主機的地址,該地址是指定的登錄的主機的地址,一定要注意。
????3、???如果不能夠遠程連接數(shù)據(jù)庫,先保證兩臺主機可以相互ping通,查看地址指向是否正確。
????4、???Web服務端最好使用php模塊方式,不要使用php-fpm獨立進程,該獨立進程有時候配置的時候一不小心會出現(xiàn)一些錯誤,導致不能夠連接到數(shù)據(jù)庫,其次,該進程的兼容性不是很好。
????5、???一定要在解壓并且復制到主站點下的源目錄中,創(chuàng)建一個config.php的空文件,該文件是為了在web端進行設置時,存入配置信息的,遠程連接的數(shù)據(jù)庫的信息都在改文件中,可以考慮后期將該文件的權限修改為644。
轉載于:https://blog.51cto.com/jk6627/1977782
總結
以上是生活随笔為你收集整理的基于LAMP实现web日志管理查看的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 《Dotnet9》系列-开源C# WPF
- 下一篇: React开发(275):dva deb