前言
作爲一名運維工程師,查看分析系統日誌是每天必做的功課,但每次查看日誌都得一臺服務器一臺服務器的看,幾臺服務器還可以這麼對付,但如果管理成百上千臺線上服務器,這種方法就捉襟見肘了。於是我們就需要用到日誌服務器了,但是如何能讓它更直觀的顯示呢?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
重啓服務,查看監聽端口
客服端
[root@web ~]# vim /etc/rsyslog.conf #將所有日誌存放位置由本地改爲日誌服務器 *.info;mail.none;authpriv.none;cron.none @172.16.10.212 #指定日誌服務器
重啓服務
服務端查看日誌
日誌接收正常,日誌服務器已然可以正常工作
接下來我們讓日誌服務器將日誌傳給數據庫服務器
安裝所需包
[root@scholar ~]# yum install rsyslog-mysql -y #提供傳輸模塊
查看rsyslog-mysql生成文件,將生成的數據庫文件創送給數據庫
日誌服務器配置先停一下,我們先配置數據庫
數據庫服務器配置
導入數據庫
授權用戶
數據庫配置完成我們返回日誌服務器
[root@scholar ~]# vim /etc/rsyslog.conf #添加此項 $ModLoad ommysql #修改此項,指向數據庫 *.info;mail.none;authpriv.none;cron.none :ommysql:172.16.10.211,Syslog,rsysloguser,rsyslogpass
重啓服務
查看數據庫中是否已有日誌信息
已經傳送進去了,日誌服務器連接數據庫成功,接下來就是安裝loganalyzer了
DNS服務器配置
修改正反向區域文件
正向區域文件
反向區域文件
檢查語法,啓動服務
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>
提供認證文件
準備loganalyzer
準備完成後需要把文件傳給php服務器一份,或者php服務器也執行此操作,位置跟web服務器保持一致
檢查語法,啓動服務
安裝loganalyzer
需要身份認證,基於用戶的訪問控制完成
輸入用戶及密碼,繼續
提示沒有配置文件,點擊here進入安裝嚮導
Next繼續
保證此文件可寫,繼續
創建用戶數據庫,繼續
創建表,繼續
檢查SQL結果,Next
創建管理用戶,Next
創建日誌系統,Next
安裝完成,Finish
測試loganalyzer
可修改語言爲中文
如果切換中文出現亂碼,請修改字符集
[root@web web]# vim /web/log/include/functions_common.php #源碼包的include目錄 #將含有return htmlentities字段的行改爲如下格式 return htmlentities($myStr, ENT_NOQUOTES,"UTF-8");
然後登陸系統,進入Admin Center設置字符集
修改後再次切換中文即可正常顯示,其他功能就不一一展示了,請自行查看
The end
好了,rsyslog+loganalyzer就說到這裏了,loganalyzer查看日誌還是挺直觀的,是不是so easy呢,記得部署時防火牆設置相應規則,關閉防火牆的可以無視,搭建過程中遇到問題可留言。以上僅爲個人學習整理,如有錯漏,大神勿噴~~~