記錄應用程序和內核的日誌系統
概念:
facility:設施,從功能或程序上對日誌進行分類,並由專門的工具負責記錄相應的日誌信息;
auth
authpriv
cron
daemon
kern
lpr
mark
news
security
syslog
user
uucp
local0 - local7
priority:級別
debug
info
notice
warn, warning
err, error
crit
alert
emerg, panic
指定級別的方法:
*:所有級別均記錄
none:沒有級別,任何級別均不記錄
priority:比此級別高的(包含此級別)所有級別的日誌信息都記錄
=priority:只記錄此級別的日誌信息
例如:
warning:記錄warning及其以上級別的日誌信息
=warning:只記錄warning級別的日誌信息
配置文件:/etc/rsyslog.conf
配置規則RULLS:
facility.priority target
設施.級別 存放何處
target可爲:
文件路徑:將日誌記錄於指定的文件中;在文件路徑之前使用"-",表示異步寫入;
用戶:將日誌信息通知給文件
*:代表所有用戶
日誌服務器:@SERVER
管道:| COMMAND
例如(截取的配置文件中一段):
表明mail的所有級別的日誌都記錄在/var/log/maillog中,且“-”號代表異步寫入
表明cron的所有級別的日誌都記錄在/var/log/cron中,且同步寫入(立即寫入到磁盤)
有些日誌記錄爲二進制格式,例如,兩個日誌文件:
成功登錄操作系統的日誌:/var/log/wtmp
查看命令:last
失敗的登錄的嘗試:/var/log/btmp
查看命令:lastb
lastlog命令:顯示當前系統每個用戶各自最近一次的登錄信息;
模塊:
啓動本機爲日誌服務器:
將日誌存儲於mysql數據庫模塊:
$ModLoad ommysql
將日誌存儲於mysql數據庫實驗:
(1) 有可用的MySQL服務器;
# yuminstall -y mysql-server
(2) 安裝rsyslog-mysql程序包;
# yum install -y rsyslog-mysql
(3) 創建rsyslog依賴的數據庫;
# mysql < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql
(4) 配置rsyslog啓用ommysql模塊(需要手動添加);
#### MODULES ####
$ModLoad ommysql
(5) 定義某facility把日誌記錄至指定的數據庫的指定表中;
#### RULES ####
facility.priority :ommysql:SERVER_IP,DATABASE,USERNAME,PASSWORD
將保存在/var/log/messages這條配置註釋掉,重新寫入一條配置,通過ommysql模塊保存到mysql數據庫中;
(6) 在mysql中創建用戶及授權;
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'Syslog'@'127.0.0.1' IDENTIFIED BY 'liaobin' ;
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'Syslog'@'localhost' IDENTIFIED BY 'liaobin' ;
(7)重啓服務即可生效;
servicersyslog restart; service mysqld restart
(8)查看日誌;
loganalyzer(web圖形化顯示日誌信息):
既然可以存儲在mysql中,那麼只要有程序員開發個網頁圖形化界面就可以在網頁上顯示了;
現在就說說使用loganalyzer;loganalyzer是一個通過WebGUI來展示日誌信息的php程序;
安裝loganalyzer步驟:
依賴:lamp組件;
# yum install httpd php php-mysql php-gd
php-gd是php圖形支持擴展包
# cp -r loganalyzer-3.6.5/src /var/www/html/log
下載loganalyzer,並展開;這裏以loganalyzer-3.6.5爲例
# cp loganalyzer-3.6.5/contrib/* /var/www/html/log
# cd /var/www/html/log
# chown apache.apache ./*
修改屬主屬組爲apache
# chmod +x configure.sh secure.sh
# ./configure.sh
# ./secure.sh
# chmod 666 config.php
訪問:http://192.168.191.111/log/install.php執行安裝過程;
上圖是配置數據庫名,和自己創建的並且給予操作Syslog數據庫權限的用戶名,密碼
好了,到了這個頁面,說明已經成功。