Rsyslog時CentOS6.X自帶的一款系統日誌工具,相對與Centos5的syslog,有了很大的提升,擁有如下特性:
1.支持多線程
2.支持TCP,SSL,TLS,RELP等協議
3.支持將日誌寫入MySQL, PGSQL, Oracle等多種關係型數據中
4.擁有強大的過濾器,可實現過濾系統信息中的任意部分
5.可以自定義日誌輸出格式
6.適用於企業級的日誌記錄需求
今天,我們就來了解一下Rsyslog的使用以及利用loganalyzer來通過網頁管理日誌.
1.rsyslog的配置文件
Rsyslog的配置文件爲/etc/rsyslog.conf,其中共分爲三塊內容:
A.定義模塊相關信息
#### MODULES ####
$MmodLoad imuxsock #用於加載模塊
.....
B定義全局的配置信息
#### GLOBAL DIRECTIVES ####
$IncludeConfig /etc/rsyslog.d/*.conf#用於加載其他的配置文件,實現分段管理
C.定義日誌記錄規則
#### RULES ####
*.info;mail.none;authpriv.none;cron.none/var/log/messages #定義各類型日誌存放位置
2.rsyslog規則定義格式:
facility.priority Targetauth #pam產生的日誌,認證日誌
#===============facility(設施)包含以下幾種=====================
auth #認證日誌
authpriv #認證授權認證
cron #任務計劃相關日誌
kern #內核相關日誌
lpr #打印
mail #郵件日誌
mark(syslog) #rsyslog服務內部的信息,時間標識
news #新聞組
user #用戶程序產生的相關信息
uucp #一個古老的協議
local 0~7 #用戶自定義
#-------------------------------------------------------------
facilicy可以使用以下通配符:
*:所有設施
f1,f2,f3.....:列表
!:取反
#=====================priority(級別)包含如下級別=====================
debug#由上到下級別越來越高,
info#同時,日誌的內容也越來越少
notice#只會記錄更加重要的信息
warn, warning#可以使用如下通配符:
err, error#*:代表所有級別
crit#none:代表沒有任何級別
alert
emerg, panic
#------------------------------------------------------------------
指定級別用法:
mail.info :記錄info及以上級別的日誌,包含級別本身
main.=info:僅記錄info級別的
mail.!info:除了info級別均記錄
mail.news.info
mail.info;auth.error
#====================Target(目標)=================
/path/to/file#路徑
*#打印到已登錄的用戶界面
@ServerIP#發送到日誌服務器
|COMMAND#發送到指定目錄進行處理
3.日誌服務器的搭建
現在由兩臺服務器host1(172.16.21.101)和host2(172.16.21.102),需要將host1的部分日誌存儲到host2上,實現過程如下
(1).在host1上編輯/etc/rsyslog.conf文件,編輯 RULES 塊下的如下內容
*.info;mail.none;authpriv.none;cron.none @172.16.21.102
(2).在host2上編輯/etc/rsyslog.conf文件,在MODULES塊下添加如下內容
$ModLoad imudp
$UDPServerRun 514
(3).分別重啓host1和host2的日誌服務
------------------------------------------------
測試:
在host1上通過yum安裝一個軟件
[root@host1 ~]# yum install zsh -y
Host1的日誌已經傳送到了host2
4.搭建基於loganalyzer的web-gui接口,實現對日誌的可視化管理
a) 搭建LAMP平臺
b) 配置mysql支持rsyslog
在rsyslog.conf文件中加載ommysql模塊並將特定數據庫內容寫入mysql
#### MODULES ####
.........
$ModLoad ommysql
#### RULES ####
........................
*.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,syslog,123456
--------------------------------
在數據庫中查看,數據已經寫入數據庫中
c) 下載loganalyzer源碼包並解壓到root的家目錄
d) 將src目錄下的所有內容複製到httpd的根目錄,並賦予權限
e) 通過網頁訪問host2的http服務器,並按提示進行安裝
此時,安裝已經成功!