rsyslog:php
//elasticsearch, logstash, kibana = elkhtml
1、日誌收集方: mysql
一、facility:設施,從功能或程序上對日誌進行分類; web
auth, authpriv, cron, daemon, kern, lpr, mail, mark, news, security, user, uucp, local0-local7, syslog priority debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)sql
二、指定級別(priority): 數據庫
*: 全部級別 服務器
none: 沒有級別 異步
priority: 此級別及更高級別的日誌信息 elasticsearch
=priority:此級別tcp
三、facility.priority /var/log/messages
2、程序環境:
主程序:rsyslogd
配置文件:/etc/rsyslog.conf
服務腳本:/etc/rc.d/init.d/rsyslog
3、rsyslog.conf
一、RULES: facility.priority target
target:
文件路徑:記錄於指定的日誌文件中,一般應該在/var/log目錄下;文件路徑前的「-」表示異步寫入;
用戶:將日誌通知給指定用戶 *: 全部用戶
日誌服務器:@host host: 必需要監聽在tcp或udp協議514端口上提供服務;
管道: |COMMAND
二、文件記錄的日誌的格式: 事件產生的日期時間 主機 進程(pid):事件內容
有些日誌記錄二進制格式:/var/log/wtmp,/var/log/btmp
/var/log/wtmp: 當前系統上成功登陸的日誌; last
/var/log/btmp:當前系統上失敗的登陸嘗試; lastb
lastlog命令:顯示當前系統每個用戶最近一次的登陸時間;
4、rsyslog服務器配置:
# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 514
五:配置使用基於mysql存儲日誌信息:
(1) 準備好MySQL服務器,建立用戶,受權對Syslog數據庫的所有訪問權限;
(2) 安裝rsyslog-mysql程序包(epel源);
(3) 建立rsyslog-mysql依賴的數據庫;
# mysql -uUSERNAME -hHOST -pPASSWORD < /usr/share/doc/rsyslog-mysql-VERSION/createDB.sql
(4) 配置rsyslog使用ommysql模塊
#### MODULES ####
$ModLoad ommysql
#### RULES ####
facility.priority :ommysql:DBHOST,DB,DBUSER,USERPASS
重啓rsyslog服務
(5) 安裝loganalyzer
(a) 配置webserver, 支持php
# yum install httpd php php-mysql php-gd
# service httpd start
(b) loganalyzer
# cp -r loganalyzer-3.6.5/src /var/www/html/loganalyzer
# cp loganalyzer-3.6.5/contrib/*.sh /var/www/html/loganalyzer
# cd /var/www/html/loganalyzer
# chmod +x *.sh
# ./configure.sh
# ./secure.sh
# chmod 666 config.php