一、前言
什么是日志?
日志就是歷史事件,按時間序列將發生的事件予以記錄;日志記錄信息記錄的是事件的發生時間以及事件內容
Linux下記錄日志的系統:
syslog:是CentOS 5.0系統上使用的日志系統,有兩類日志,分別是syslogd、klogd;
syslogd:記錄系統進程相關的日志
klogd:記錄內核相關的日志
rsyslog:是CentOS 6.0系統使用的日志系統,與syslog日志系統相比,具有以下優點:
①支持多線程
②支持TCP、SSL、TLS、RELP等協議
③強大的過濾器,可實現過濾日志信息中的任意部分
④支持自定義輸出格式
⑤適用于企業級別日志記錄需求
⑥模塊化
二、rsyslog日志系統配置
1、配置文件,以及配置文件的定義格式
/etc/rsyslog.conf \\配置文件
日志定義格式: facility.priority Target facility: 設施,從功能或程序上對日志進行分類,并由專門的工具負責記錄日志; 常用的facility: lpr: 打印相關的日志 auth:認證相關的日志 user:用戶相關的日志 cron:計劃任務相關的日志 kern:內核相關的日志 mail:郵件相關的日志 mark:標記相關的日志 news:新聞相關的日志 uucp:文件copy相關的日志 daemon:系統服務相關的日志 authpri: 授權相關的日志 security:安全相關的日志 local0-local7:自定義相關的日志信息(自定義時可以使用通配符) 通配符: *:所有 f1,f2,f3......:列表 ?。喝》? priority:日志級別 常用的日志級別: debug: 調試 info: 消息 notice: 注意 warn,warning: 警告 err,error: 錯誤 crit: 嚴重級別 alert: 需要立即修改該的信息 emerg,panic: 內核崩潰,內核恐慌等嚴重的信息 通配符: *:所有日志級別 none:沒有任何級別,也就是不記錄日志信息 Target:文件路徑 可以使用的有: ①/var/log/messages ②用戶:*當前登錄系統的所有用戶 ③日志服務器:@SERAVER_IP ④管道:| COMMAND 舉例: mail.info /var/log/maillog: 比指定級別更高的日志級別,包括指定級別自身,保存到/var/log/maillog中 mail.=info /var/log/maillog: 明確指定日志級別為info,保存至/var/log/maillog mail.!info /var/log/maillog: 除了指定的日志級別(info)所有日志級別信息,保存至/var/log/maillog *.info /var/log/maillog: 所有facility的info級別,保存至/var/log/maillog mail.* /var/log/maillog: mail的所有日志級別信息,都保存至/var/log/maillog mail.notice;news.info /var/log/maillog: mail的notice以上記得日志級別和news的info以上的級別保存至/var/log/maillog mail,news.crit -/var/log/maillog: mail和news的crit以上的日志級別保存/var/log/maillog中;“-”代表異步模式
日志信息格式: 時間 主機 進程(pid) 事件
2、啟用日志服務器功能,接收其他服務的日志
①編輯/etc/rsyslog.conf,修改以下信息
②重啟rsyslog服務,查看監聽端口
③在另一臺測試機中編輯/etc/rsyslog.conf,將日志信息發送到此服務器,重啟rsyslog服務
④在測試機中安裝vsftpd,安裝完成后再rsyslog服務器中查看日志
⑤至此rsyslog日志服務器已經可以正常工作了
3、配置將日志信息存儲到數據庫
①安裝數據庫,啟動數據庫
# yum -y install mysql-server # service mysqld start
②安裝rsyslog-mysql驅動
# yum -y install rsyslog-mysql
③查看rsyslog-msyql生成的文件
# rpm -ql rsyslog-mysql /lib64/rsyslog/ommysql.so \\rsyslog連接mysql的驅動模塊 /usr/share/doc/rsyslog-mysql-5.8.10 \\ rsyslog的文檔 /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql \\rsyslog的數據庫以及表的各項定義,直接導入數據即可使用
④將生成的createDB.sql導入mysql數據庫
# mysql -uroot -p </usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
Syslog \\生成的數據庫名稱 SystemEvents \\存放日志文件的數據庫表 SystemEventsProperties \\ 生成的日志數據庫表
⑤授權rsyslog用戶對到導入的數據庫有所有權限
mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'syslogpass'; \\用戶授權 mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'localhost' IDENTIFIED BY 'syslogpass';\\用戶授權 Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; \\進行權限刷新 Query OK, 0 rows affected (0.00 sec)
⑥編輯/etc/rsyslog.conf配置文件,加載ommysql模塊,定義將日志信息存儲到mysql數據庫
#### MODULES #### $ModLoad ommysql #### RULES #### *.info;mail.none;authpriv.none;cron.none :ommysql:127.0.0.1,Syslog,rsyslog,syslogpass :模塊驅動:數據庫地址,數據庫名稱,數據用戶,用戶密碼
⑦重啟rsyslog服務
# service rsyslog restart Shutting down system logger: [ OK ] Starting system logger: [ OK ]
⑧在本機上安裝vsftpd,在mysql中查看日志信息
# yum -y install vsftpd \\安裝vsftpd服務 # mysql -uroot -p \\進入數據庫 Enter password: \\數據密碼,默認root用戶的密碼為空 mysql> SELECT * FROM Syslog.SystemEvents\G; 查看日志命令,輸出信息如下: *************************** 4. row *************************** ID: 4 CustomerID: NULL ReceivedAt: 2014-12-16 11:51:42 DeviceReportedTime: 2014-12-16 11:51:42 Facility: 1 Priority: 6 FromHost: localhost Message: Installed: vsftpd-2.2.2-13.el6_6.1.x86_64 NTSeverity: NULL Importance: NULL EventSource: NULL EventUser: NULL EventCategory: NULL EventID: NULL EventBinaryData: NULL MaxAvailable: NULL CurrUsage: NULL MinUsage: NULL MaxUsage: NULL InfoUnitID: 1 SysLogTag: yum[2605]: EventLogType: NULL GenericFileName: NULL SystemID: NULL 4 rows in set (0.00 sec)
⑨到此為止,日志信息已經成功的存儲于數據庫中,可以便捷的查詢相關的日志信息啦
4、配置loganalyzer日志分析工具,便于日常維護
①安裝LAMP平臺
# yum -y install httpd php php-mysql \\數據庫已安裝,現在只安裝httpd,php即可
②啟動相關的服務,測試LAMP是否可以正常提供服務
# service httpd start \\啟動httpd服務
③測試web服務正常訪問
④配置loganalyzer
# tar xf loganalyzer-3.6.5.tar.gz \\解壓loganalyzer到當前目錄 # mkdir /var/www/html/log\\在httpd的DocumentRoot目錄中創建log目錄,用于存儲loganalyzer相關頁面 # cp -r loganalyzer-3.6.5/src/* /var/www/html/log \\復制loganalyzer目錄中的src目錄中的所有文件到剛剛創建的/var/www/html/log目錄中 # cp loganalyzer-3.6.5/contrib/* /var/www/html/log \\復制loganalyzer目錄中的contrib目錄中的腳本文件到剛剛創建的/var/html/www/log目中中 # cd /var/www/html/log \\cd 到/var/www/html/log目錄中 # chmod +x configure.sh secure.sh \\給剛剛復制過來的腳本添加執行權限 # ./configure.sh \\執行腳本 # ./secure.sh \\執行腳本 # chown -R apache.apache . \\更改當前目錄的屬主屬組為apache,使用rpm安裝的httpd,默認用戶是apache # chmod 666 config.php \\ 設置config.php配置文件具有寫權限
上述配置完成后,訪問http://192.168.10.120/log便可以進行相關的配置
可能會遇到的問題
1、如果安裝完成后提示連接不到數據庫,則將第五步中的127.0.0.1改為localhost便可以解決問題
2、使用中出現以下問題
# yum -y install php-gd \\安裝php-gd # service httpd restart \\重啟httpd服務
刷新頁面,便可以恢復正常訪問
77
原創文章,作者:馬行空,如若轉載,請注明出處:http://www.www58058.com/5257