天天看點

rsyslog的講解

日志:曆史日志

曆史事件:

時間,事件

日志級别:事件的關鍵性程度,Loglevel

系統日志服務:

syslog:

syslogd: system

klogd: kernel

rsyslog:

syslogd

klogd

多線程;

UDP, TCP, SSL, TLS, RELP;

MySQL, PGSQL, Oralce實作日志存儲;

強大的過濾器,可實作過濾日志資訊中任何部分;

自定義輸出格式

elasticsearch, logstash, kibana = elk

日志收集方:

facility:設施,從功能或程式上對日志進行分類;

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)

指定級别:

*: 所有級别

none: 沒有級别

priority: 此級别及更進階别的日志資訊

=priority:此級别

facility.priority /var/log/messages

程式環境:

主程式:rsyslogd

配置檔案:/etc/rsyslog.conf

服務腳本:/etc/rc.d/init.d/rsyslog

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指令:顯示目前系統每一個使用者最近一次的登入時間;

rsyslog伺服器:

# Provides UDP syslog reception

$ModLoad imudp //一定要有個端口接收日志資訊

$UDPServerRun 514

# Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514

配置使用基于mysql存儲日志資訊:

(1) 準備好MySQL伺服器,建立使用者,授權對Syslog資料庫的全部通路權限;

                    GRANT ALL ON Syslog.* TO 'syslog'@'192.168.%.%' IDENTIFIED BY 'syslog'

(2) 安裝rsyslog-mysql程式包;

                    yum install rsyslog-mysql

                    rpm -ql rsyslog-mysql

                        查詢到/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

(3) 建立rsyslog-mysql依賴的資料庫;//自動執行sql語句建立

# mysql -uUSERNAME -hHOST -pPASSWORD < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

(4) 配置rsyslog使用ommysql子產品

#### MODULES ####

$ModLoad ommysql //output modules

#### RULES ####

facility.priority  :ommysql:DBHOST,DB,DBUSER,USERPASS

                        :ommysql:192.168.18.9,Syslog,syslog,syslog

重新開機rsyslog服務

                        service rsyslog restart

(5) 安裝loganalyzer//是rsyslog的web前端

(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

本文轉自 神迹難覓 51CTO部落格,原文連結:http://blog.51cto.com/ji123/1957180,如需轉載請自行聯系原作者