標籤:mysql 伺服器 使用者 設定檔 管道
前言
rsyslog系統日誌,在CentOS5上叫syslog,而在CentOS6上叫rsyslog,叫增強版的syslog,CentOS5上的設定檔在/etc/syslog.conf下,而CentOS6在/etc/rsyslog.conf下。
syslog預設是把我們的日誌放到檔案、使用者、Log Service器、管道中。
rsyslog在syslog的基礎上還多了一條途徑,允許把日誌放到mysql資料中。
rsyslog比syslog好在哪裡:
Multi-threading:多線程
TCP, SSL, TLS, RELP:支援tcp協議,ssh加密,支援RCLP協議
MySQL, PostgreSQL, Oracle and more:支援日誌存放在這些資料庫中
Filter any part of syslog message:支援自訂過濾器過濾一些資訊
Fully configurable output format:支援輸出格式的完全自訂
Suitable for enterprise-class relay chains:並且特別適用於企業級的日誌收集
日誌是什麼:通俗來講就是記錄過去所發生過的曆史資訊,而我們的系統日誌有多種,比如說有錯誤記錄檔、二進位日誌、事物日誌、中斷日誌、查詢日誌等,在這些日誌中,除了事物日誌,絕大多資料的日誌都叫做曆史日誌,記錄了我們系統中過去一段時間所發生的事情。
日誌有記錄層級:priority優先順序
debug:調試,所謂調試就是不分輕重緩急,只要發生了就一律記錄下來
info:任何時候程式正常輸出的資訊,而不是說調試資訊,都記錄下來,如果定義了一個層級後這個層級以及比這個層級高的的層級都會被記錄下來的。
notice:注意,提醒使用者要注意了
warning:警告,提醒使用者說可能會發生一些比較嚴重的問題了
err:某個功能發有錯誤發生,必須要進行處理的
crit:比err更嚴重了,現在不處理可能過一會就要掛了
alert:紅色警報,比crit更嚴重,需要馬上處理
emerg,panic:立馬掛掉
我們系統上運行了行行***的軟體,有很多都是服務等級的軟體,這些軟體都有可以產生日誌,那日誌記哪去,由誰來記錄,記到哪個檔案當中,記錄哪個層級,如果都一個程式的日誌都需要自己去定義,那就變得非常的麻煩,而絕大多數軟體的日誌資訊都比較簡單,沒必要說自己去定義管理自己的日誌,那由此我們就用到syslog,他是個服務,什麼事也不幹,他有兩個進程,syslogd和klogd,一個是記錄系統層級的日誌資訊,一個是記錄核心層級的日誌資訊,而syslog他本身運行為一個服務,如果有人需要記錄日誌的話就把日誌發給syslog,由syslog來幫記錄,至於記錄到哪去由syslog自己來判定,所以可以把他理解成是一個日誌的架構,他是為了實現某種特定功能、為了承接各種用到這種功能的軟體,而且能夠實現低層幫更多軟體記錄日誌的這麼一種機制的,還有如果日誌過多,那我們日後尋找日誌也不方便,那我們就要把日誌分類管理了,這就是所說的設施(facility)了,從功能可程式上對日誌資訊進行分類,
LogAnalyzer 是一個 syslog 和其他網路事件數目據的 Web 前端工具,提供簡單易用的日誌瀏覽、搜尋和基本分析以及圖表顯示讀取到的日誌進行分析的,一般我們都使用資料庫的loganalyzer結合起來分析管理集中日誌。
實現rsyslog日誌集中到mysql+loganalyzer管理分析
1、安裝mysql,這個安裝過程這裡不再說明,前面的博文中我們已經詳細說過了,可以參考博文:總結之:CentOS 6.5 LAMP分主機平台的搭建及測試http://tanxw.blog.51cto.com/4309543/1386381,這裡有詳細的安裝過程。
1、安裝loganalyzer
# tar xvzf loganalyzer-3.6.4.tar.gz
# cd loganalyzer-3.6.4
# mkdir /usr/local/apache/htdocs/syslog
把這兩個src、contrib目錄下的所有檔案移動你本機能解析PHP路徑下的web路徑下。
# mv src/* /usr/local/apache/htdocs/syslog/
# mv contrib/* /usr/local/apache/htdocs/syslog/
# chmod u+x /usr/local/apache/htdocs/syslog/*.sh
# cd /usr/local/apache/htdocs/syslog/
# ./configure.sh
# ./secure.sh
# chmod 666 config.php
把這個目錄下的所有檔案的屬主屬組都改為apache啟動並執行進程名
# chown -R daemon.daemon *
650) this.width=650;" title="1.png" alt="wKioL1NEpGDQn7OHAABhn1HJinw895.jpg" src="http://s3.51cto.com/wyfs02/M02/23/D2/wKioL1NEpGDQn7OHAABhn1HJinw895.jpg" />
2、編輯rsyslog的設定檔
# vim /etc/rsyslog.conf
$ModLoad ommysql 這一項必須定義在Module一段中
ommysql:這個表示裝載的模組名;Syslog表示資料名;rsysloguser,rsyslogpass這兩個是使用者和密碼
*.* :ommysql:127.0.0.1,Syslog,rsysloguser,rsyslogpass
接著安裝要rsyslog-mysql、php和php-mysql並匯入資料定義的指令碼,
/usr/share/doc/rsyslog-mysql/createDB
.sql
# yum -y install php php-mysql
# yum -y install rsyslog-mysql
# cd /usr/share/doc/rsyslog-mysql-5.8.10/
匯入資料庫
# mysql < /usr/share/doc/rsyslog-mysql/createDB.sql
650) this.width=650;" title="2.png" alt="wKiom1NEpJzi9ewYAAEpmEmwU8U559.jpg" src="http://s3.51cto.com/wyfs02/M01/23/D2/wKiom1NEpJzi9ewYAAEpmEmwU8U559.jpg" />
3、登入資料庫,給使用者rsysloguser授權,密碼為rsyslogpass
# mysql
mysql> GRANT ALL ON Syslog.* TO
‘rsysloguser‘
@
‘127.0.0.1‘
IDENTIFIED BY
‘rsyslogpass‘
;
mysql> GRANT ALL ON Syslog.* TO
‘rsysloguser‘
@
‘localhost‘
IDENTIFIED BY
‘rsyslogpass‘
;
mysql> FLUSH PRIVILEGES;
650) this.width=650;" title="3.png" alt="wKioL1NEpJaQE_oZAAFzxR4tUwU989.jpg" src="http://s3.51cto.com/wyfs02/M00/23/D2/wKioL1NEpJaQE_oZAAFzxR4tUwU989.jpg" />
650) this.width=650;" title="4.png" alt="wKioL1NEpLCyj3-XAAFNhR7CUF8082.jpg" src="http://s3.51cto.com/wyfs02/M02/23/D2/wKioL1NEpLCyj3-XAAFNhR7CUF8082.jpg" />
啟動服務,頁面上輸入地址測試安裝:
# service rsyslog start
如果安裝好之後串連不上資料庫,提示說不能通過/var/lib/mysql/mysql.sock串連資料,那就在/var/lib/下建立mysql目錄檔案,再把/tmp/mysql.sock通訊端檔案連結到/var/lib/mysql/目錄下去就可以串連上了:
# mkdir /var/lib/mysql
# ln -s /tmp/mysql.sock /var/lib/mysql/
http://172.16.27.1/syslog 650) this.width=650;" title="5.png" alt="wKioL1NEpTLilQDZAAEqQpIWzO8493.jpg" src="http://s3.51cto.com/wyfs02/M02/23/D2/wKioL1NEpTLilQDZAAEqQpIWzO8493.jpg" />
650) this.width=650;" title="6.png" alt="wKiom1NEpYKimGNeAAJkW4JXpb8565.jpg" src="http://s3.51cto.com/wyfs02/M01/23/D2/wKiom1NEpYKimGNeAAJkW4JXpb8565.jpg" />
650) this.width=650;" title="7.png" alt="wKioL1NEpXSR-hkoAAG7SdV0dgo695.jpg" src="http://s3.51cto.com/wyfs02/M00/23/D2/wKioL1NEpXSR-hkoAAG7SdV0dgo695.jpg" />
650) this.width=650;" title="8.png" alt="wKiom1NEpbOigAQ1AAGqCntplI4343.jpg" src="http://s3.51cto.com/wyfs02/M00/23/D2/wKiom1NEpbOigAQ1AAGqCntplI4343.jpg" />
650) this.width=650;" title="9.png" alt="wKiom1NEpdHj9EjxAAHwHgHWqKQ274.jpg" src="http://s3.51cto.com/wyfs02/M02/23/D2/wKiom1NEpdHj9EjxAAHwHgHWqKQ274.jpg" />
650) this.width=650;" title="10.png" alt="wKiom1NEpeyCj2jwAAC4NlqqK4k574.jpg" src="http://s3.51cto.com/wyfs02/M01/23/D2/wKiom1NEpeyCj2jwAAC4NlqqK4k574.jpg" />
650) this.width=650;" title="11.png" alt="wKioL1NEphnDl82gAAh1Eqik-fo296.jpg" src="http://s3.51cto.com/wyfs02/M01/23/D3/wKioL1NEphnDl82gAAh1Eqik-fo296.jpg" />
結束:
對日誌的集中式存放和管理,放在mysql資料庫中是很好管理和分析的,這個頁面也很直觀的看出了這些日誌資訊.
本文出自 “gentoo” 部落格,請務必保留此出處http://linuxgentoo.blog.51cto.com/7678232/1542801