一:什麼是日誌
所謂的日誌,就是記錄過去發生的事情,在Linux中可以使用日誌功能對過去發生的事件進行記錄,方便日後對服務器的運行狀況進行分析。
二:Rsyslog相關介紹
Linux中日誌按照其記錄的類型可分爲系統日誌(syslog)和內核日誌(klog),而記錄的方式通常也有兩種,就是每個程序獨立進行記錄和使用日誌系統進行記錄。rsyslog就是日誌系統的一種,由早期的syslog改進而來。
對於日誌系統來說有兩個重要的概念,那就是facility和priority,facility被稱作設施,也就是對於每種信息採用的記錄方式,而priority就是日誌級別,相當於一件事情的重要程度。其各自常見的具體包含內容詳見下表:
facility | 各facility解釋 | priority | 各priority解釋 |
auth | 爲認證記錄日誌 | debug | 調試信息(最詳細) |
user | 爲用戶類事件記錄日誌 | info | 通知信息,賜予debug |
cron | 爲計劃任務記錄日誌 | notic | 提示應該注意 |
daemon | 爲守護進程記錄日誌 | warn、warning | 提示信息 |
kern | 爲內核記錄日誌 | err、erro | 部分發生錯誤 |
news | 爲新聞組記錄日誌 | crit | 藍色警報 |
爲郵件記錄日誌 | alert | 橙色警報 | |
mark | 爲防火牆記錄日誌 | emerg、panic | 紅色警報(最高級) |
security | 爲安全類事件記錄日誌 |
rsyslog的priority指定方式:
*:所有級別都需要記錄
None:沒有級別需要記錄
Priority:比此級別高的所有級別的日誌信息都需要記錄(包含此級別)
=priority:僅記錄此級別
rsyslog的配置:
Rsyslog的主配置文件:/etc/rsyslog.conf
其住配置文件分爲如下三段
#### MODULES ####:加載的模塊
#### GLOBAL DIRECTIVES ####:全局參數配置段
#### RULES ####:具體的規則配置段
facility.priority target
target:
文件路徑:將日誌記錄於指定的文件中(之前使用-表示異步寫入)
用戶:將日誌信息通知給用戶
*:所有用戶
日誌文件服務器:@SERVER 將日誌信息發給日誌文件服務器,由服務器進行記錄
管道:|COMMAND通過管道送給其他命令處理
兩個特殊日誌
/var/log/wtmp#:保存用戶最近登錄成功的相關信息,此文件不能直接查看,只有使用last命令查看
/var/log/btmp#:保存影虎登錄系統的失敗嘗試信息,使用lastb命令查看
三:配置實例之將日誌記錄於數據庫中並使用loganalyzer查看和管理
實驗環境規劃:
主機名 | IP | 用途 |
A | 192.168.2.150 | 測試使用, |
B | 192.168.2.151 | MySQL數據庫安裝位置 |
1.配置主機B
準備好環境(yum倉庫)後安裝mysql
[root@localhost ~]# yum install mysql mysql-server -y [root@localhost ~]# yum install rsyslog-mysql -y
啓動mysql後創建rsyslog存放的數據庫
[root@localhost ~]# mysql < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
爲主機A授權
配置好後重啓rsyslog服務和mysql服務
2.配置主機A
配置rsyslog啓用ommysql模塊
在rsyslog住配置文件中的modules配置段下添加如下行
$ModuLoad ommysql
定義某facility把日誌記錄於指定的數據庫的指定表中,如下所示
3.測試
在主機A上安裝zsh然後查看主機B數據庫,出現如下信息,則成功
4.配置實用loganalyzer查看和管理日誌
在主機B上安裝php、php-mysql、http等軟件包
[root@localhost ~]# yum install php php-mysql httpd
配置虛擬主機
在註釋/etc/httpd/conf/httpd.conf中的DocumentRoot
在/etc/httpd/conf.d/下新建虛擬主機配置文件virtual.conf,內容如下
新建虛擬主機目錄
[root@localhost conf.d]# mkdir /var/www/log
下載並解壓 loganalyzer-3.6.5.tar.gz到/var/www/log目錄下
[root@localhost ~]# tar xf loganalyzer-3.6.5.tar.gz -C /var/www/log/
切換目錄至/var/www/log/loganalyzer並移動其下的src到/var/www/log/log
複製/var/www/log/loganalyer/contrib下的所有文件到/var/www/log/log目錄
[root@localhost log]# cp /var/www/log/loganalyzer-3.6.5/contrib/* /var/www/log/log/
爲移動過來的兩個腳本文件添加執行權限
[root@localhost log]# chmod +x /var/www/log/log/*.sh
依次執行兩個腳本
[root@localhost log]# ./configure.sh [root@localhost log]# ./secure.sh
修改配置文件和相關文件權限
[root@localhost log]# chmod 666 config.php [root@localhost log]# chown apache.apache ./ -R
重啓服務測試
按照提示配置,其中第七步時配置連接數據庫相關信息
配置好後的頁面
到此,使用loganalyzer查看和管理日誌配置成功。