LAMP基於rsyslog+loganalyzer實現日誌集中管理及分析

前言

作爲一名運維工程師,查看分析系統日誌是每天必做的功課,但每次查看日誌都得一臺服務器一臺服務器的看,幾臺服務器還可以這麼對付,但如果管理成百上千臺線上服務器,這種方法就捉襟見肘了。於是我們就需要用到日誌服務器了,但是如何能讓它更直觀的顯示呢?loganalyzer是一個不錯的選擇,本文將講解如何使用rsyslog+loganalyze實現日誌統一管理及分析。

簡介

LogAnalyzer是一款syslog日誌和其他網絡事件數據的Web前端,它提供了對日誌的簡單瀏覽、搜索、基本分析和一些圖表報告的功能。

部署過程

環境介紹

系統環境:CentOS6.6

rsyslog:系統自帶

loganalyzer:loganalyzer3.6.5(含中文語言包)

web服務器:172.16.10.100(httpd-2.4.9,同爲日誌客戶端)

php服務器:172.16.10.110(php-5.5.26)

數據庫服務器:172.16.10.211(MariaDB-5.5.36)

日誌服務器:172.16.10.212

DNS服務器:172.16.10.10

日誌服務器及客戶端配置

服務器端

[root@scholar ~]# vim /etc/rsyslog.conf 

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514     

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514

重啓服務,查看監聽端口

wKioL1U7jLzyUcCcAAC8L-KSKzM881.jpg

客服端

[root@web ~]# vim /etc/rsyslog.conf

#將所有日誌存放位置由本地改爲日誌服務器
*.info;mail.none;authpriv.none;cron.none             @172.16.10.212 #指定日誌服務器

重啓服務

wKiom1U7i27xHQO3AABUIOqRdwE977.jpg

服務端查看日誌

wKioL1U7jOLjVP7_AACJMVkccqI371.jpg

日誌接收正常,日誌服務器已然可以正常工作

接下來我們讓日誌服務器將日誌傳給數據庫服務器

安裝所需包

[root@scholar ~]# yum install rsyslog-mysql -y #提供傳輸模塊

查看rsyslog-mysql生成文件,將生成的數據庫文件創送給數據庫

wKiom1U7i5OzPod5AAD0d_LIH7A160.jpg

日誌服務器配置先停一下,我們先配置數據庫

數據庫服務器配置

導入數據庫

wKioL1U7jQyhOU2GAAJE_iGEHOo129.jpg

授權用戶

wKiom1U7i7uT1_rWAACmxLpN7eQ772.jpg

數據庫配置完成我們返回日誌服務器

[root@scholar ~]# vim /etc/rsyslog.conf 

#添加此項
$ModLoad ommysql

#修改此項,指向數據庫
*.info;mail.none;authpriv.none;cron.none  :ommysql:172.16.10.211,Syslog,rsysloguser,rsyslogpass

重啓服務

wKioL1U7jS7A_LVvAABXUFXPZbY140.jpg

查看數據庫中是否已有日誌信息

wKiom1U7i-WDNlVcAASLcJjFgqo484.jpg

已經傳送進去了,日誌服務器連接數據庫成功,接下來就是安裝loganalyzer了

DNS服務器配置

修改正反向區域文件

正向區域文件

wKioL1U7jWfzTDZaAACyMxpLFEo703.jpg

反向區域文件

wKiom1U7jBeTXbxaAACj-QPq0fI968.jpg

檢查語法,啓動服務

wKioL1U7jY2TVHS7AAG1slhM-JA577.jpg

web服務器配置

loganalyzer作爲日誌的web前端,應該只允許管理員訪問,所以我們做一個基於用戶的訪問控制

我們本次使用虛擬主機,當然也可以使用中心主機,這個隨意

[root@web ~]# vim /etc/httpd24/httpd.conf 
#關閉中心主機
#DocumentRoot "/usr/local/apache/htdocs"
#啓用虛擬主機
Include /etc/httpd24/extra/httpd-vhosts.conf

配置虛擬主機

[root@web ~]# vim /etc/httpd24/extra/httpd-vhosts.conf 

<VirtualHost *:80>
    DocumentRoot "/web/log"
    ServerName log.scholar.com
    ProxyRequests Off         #關閉正向代理
    ProxyPassMatch ^/(.*\.php)$ fcgi://172.16.10.110:9000/web/log/$1 #代理至php服務器
<Directory "/web/log">
         Options none
         AllowOverride AuthConfig
         AuthType Basic            #認證方式
         AuthName "Log Area."    #質詢時彈出的提示信息
         AuthUserFile /etc/httpd24/.htpasswd #用戶賬號密碼存放位置
         Require valid-user   #所有合法用戶都可訪問,也可用定義單用戶及組認證
</Directory>
</VirtualHost>

提供認證文件

wKioL1U7jZ_QhMoeAABfqXPl6Ao709.jpg

準備loganalyzer

wKiom1U7jIOhcEFdAADssu0xGcc583.jpg

準備完成後需要把文件傳給php服務器一份,或者php服務器也執行此操作,位置跟web服務器保持一致

檢查語法,啓動服務

wKioL1U7jfjjBlVHAABKHRSYlgM079.jpg

安裝loganalyzer

wKioL1U7k7KCm4B4AAFzxDJ8hnY534.jpg

需要身份認證,基於用戶的訪問控制完成

輸入用戶及密碼,繼續

wKioL1U7lKzQdhvRAAHwKHSyGBQ898.jpg

提示沒有配置文件,點擊here進入安裝嚮導

wKiom1U7k7XD3PC4AAMF9S0gPGA833.jpg

Next繼續

wKioL1U7lVrARBYGAAMNW0EIsD4590.jpg

保證此文件可寫,繼續

wKiom1U7lC-AxINIAARxeSP4plY026.jpg

創建用戶數據庫,繼續

wKioL1U7lhjgWfzlAARPPYvHVxk418.jpg

創建表,繼續

wKioL1U7lqeAqN4vAAMWKbMdGVg855.jpg

檢查SQL結果,Next

wKioL1U7lziSLWGIAAOB9yIoKkI909.jpg

創建管理用戶,Next

wKiom1U7lgOAs3yDAAPhu9hF3wM255.jpg

創建日誌系統,Next

wKiom1U7llOiaoE0AAOAadErp7A164.jpg

安裝完成,Finish

測試loganalyzer

wKioL1U7wlrzjzQ9AAWdro11IBc245.jpg

可修改語言爲中文

wKiom1U7wSHTy4AGAAWMpzza1Gg099.jpg

如果切換中文出現亂碼,請修改字符集

[root@web web]# vim /web/log/include/functions_common.php #源碼包的include目錄
#將含有return htmlentities字段的行改爲如下格式
 return htmlentities($myStr, ENT_NOQUOTES,"UTF-8");

然後登陸系統,進入Admin Center設置字符集

wKioL1U7wqPih0Q-AAMgsNxtcSU037.jpg

wKiom1U7wWLBQtiZAARKu6zn4SY216.jpg

修改後再次切換中文即可正常顯示,其他功能就不一一展示了,請自行查看

The end 

好了,rsyslog+loganalyzer就說到這裏了,loganalyzer查看日誌還是挺直觀的,是不是so easy呢,記得部署時防火牆設置相應規則,關閉防火牆的可以無視,搭建過程中遇到問題可留言。以上僅爲個人學習整理,如有錯漏,大神勿噴~~~

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