前言
作為一名運維工程師,查看分析系統日志是每天必做的功課,但每次查看日志都得一臺服務器一臺服務器的看,幾臺服務器還可以這么對付,但如果管理成百上千臺線上服務器,這種方法就捉襟見肘了。于是我們就需要用到日志服務器了,但是如何能讓它更直觀的顯示呢?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呢,搭建過程中遇到問題可留言。以上僅為個人學習整理,如有錯漏,大神勿噴~~~
原創文章,作者:書生,如若轉載,請注明出處:http://www.www58058.com/3662
Could not find the configured table,maybe misspelled or the tablenames are case sensitive
不清楚怎么傳圖片,就敲了下錯誤提示,我反復嘗試了N次都報這個錯誤,selinux iptables 關閉都不行
環境 服務器(http rsyslog mysql php 在線安裝),數據庫已賦權,客戶端連接測試OK。
請忙幫找找問題出在哪里,萬分感謝 jianglw@wyn88.com
@jianglw:親 不會Google么 百度都能查到 config.php的問題 一般權限問題 自行查看