天天看點

rsyslog 配置 mysql_rsyslog配置詳解,結合mysql+loganalyzer展現

環境:Centos7.2

前言:系統日日夜夜不停地運作着,有這麼一個守護程序,兢兢業業地不斷記錄它運作産生的日志,有不起眼的閑言碎語,值得管理者撇一眼的系統報錯,也默默地接收來自程序的嚴厲警告,甚至在核心崩潰前夕,同樣不遺餘力記錄着當時發生的情形。他是無言的記錄者,沒有特别的修辭,但他的記錄的文字卻擲地有聲。本文的主角——rsyslog。

官方介紹rsyslog是增強型的,多線程的syslog守護程序。rsyslogd – reliable and extended syslogd.

一、rsyslog

rsyslog特性:

1.多線程

2.支援MySQL,PGSQL,Oracle等關系型資料庫存儲

3.強大的過濾器,實作過濾日志資訊中任何部分的内容

4.自定義輸出格式

yum install rsyslog 即可安裝

主配置檔案:/etc/rsyslog.conf,/etc/rsyslog.d/*.conf

rsyslog記錄日志,分為若幹信道,每個信道有細分多個資訊等級

信道-facility:

auth認證

authpriv認證(私有的)

cron計劃任務

daemon守護程序

kern核心

lpr列印服務

mail郵件

mark防火牆标記

news新聞討論區

security    安全

user使用者相關

uucpUnix主機之間拷貝檔案

syslog自身的記錄

local0-local7    自定義的信道

資訊等級-priority:越向下級别越嚴格

debug    有調式資訊的,日志資訊最多,最詳細的資訊

info一般資訊的日志

notice具有重要性意義的普通資訊

warn(warning)警告資訊,需要注意

err(error)嚴重錯誤,子產品不能正常工作

crit(critical)臨界預警,服務或系統不能正常運作

alert告警資訊,需要馬上修改的錯誤

emerg(panic)    嚴重告警,核心級别錯誤,系統馬上崩潰

配置檔案分為三部分,需嚴格安裝配置段位置添加配置

#### MODULES #### 子產品配置

#### GLOBAL DIRECTIVES #### 全局指令

#### RULES #### 記錄規則

其中RULES 配置段:

基本格式:facility.priority    target

facility可選内容:

前面所介紹的值

* :表示通配所有facility

priority可選内容:

前面所介紹的值

* :表示通配所有級别

none :不記錄日志

facility.priority 可用特别組合:

1)f1,f2,f3.pri    代表f1-f3指定的級别為pri

2)f1.pri1,f2.pri2,f3.pri3    代表分開指定級别pri

target可選内容

檔案:将日志資訊記錄到指定的檔案中;檔案路徑之前的“-”表示異步寫入之意;

使用者:将日志事件通知給指定的使用者;一般指登入到目前系統上的所有使用者的終端;

日志伺服器:@rsyslog_server,把日志資訊發往指定的日志伺服器;

管道:|COMMAND

二、配置一台rsyslog收集伺服器,負責記錄其他主機日志

服務端:修改配置檔案啟用udp,tcp子產品

#### modules ####

…………

# Provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514

# Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514

修改完成,重新開機服務。

systemctl restart rsyslog

用戶端:

facility.priority    @server_ip

三、配置rsyslog記錄日志于mysql

首先準備好mysql資料庫服務

(1) 安裝rsyslog連接配接至mysql server的驅動子產品;

yum install rsyslog-mysql

(2) 在mysql server準備rsyslog專用的使用者賬号;

mysql> GRANT ALL ON Syslog.* TO 'rsyslog'@'%.cutemsyu' IDENTIFIED BY 'rsyslogpass';

//資料庫名Syslog需固定,後面mysql語句會建立該庫。授權位址依照實際情況添加。

(3) 生成所需要的資料庫和表;

mysql -ursyslog -prsyslogpass 

#子產品自帶的sql語句

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

#### MODULES ####

……

$ModLoad ommysql

(5) 配置RULES,将所期望的日志資訊記錄于mysql中;

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

//例如: *.info,authpriv.none    :ommysql:node-02.cutemsyu,Syslog,rsyslog,rsyslogpass

(6) 重新開機rsyslog服務;

四、結合loganalyzer頁面顯示

loganalyzer 用于顯示日志的web GUI頁面,php編寫。需要amp環境。

準備amp環境,mysql資料庫前面已經配置好

yum install httpd php php-mysql php-gd      #php-gd 為繪圖所用庫

tar xf loganalyzer-4.1.5.tar.gz        #解壓項目包

cd  loganalyzer-4.1.5

cp -a src    /var/www/html/log    #拷貝項目下src目錄至web server 目錄下

cd /var/www/html/log

touch config.php    #後續安裝所需的配置檔案

chmod 666 config.php

現在打開浏覽器,輸入http://web_server_ip/log  準備配置loganalyzer。

初次打開,如果配置正确,出現缺少配置檔案的錯誤,屬于正常情況,點選繼續配置

一路可按需修改,next

到下圖頁面,

source type:MYSQL Native

table type:Monitor Ware

database name 和table name 是固定的

rsyslog 配置 mysql_rsyslog配置詳解,結合mysql+loganalyzer展現

配置完成後,安全起見把配置檔案權限做嚴格一些

chmod 644 config.php

至此大功告成!

rsyslog 配置 mysql_rsyslog配置詳解,結合mysql+loganalyzer展現

原創文章,作者:cutemsyu,如若轉載,請注明出處:http://www.178linux.com/53680