現如今,日志已經成為了我們分析系統及相關服務的一個重要工具。而日志也具有其相對較為固定的格式以便于進行統計查詢。其大致格式如下:
日期時間 主機 進程[pid]:事件內容
我們可以通過查看/var/log/message中的內容來看一下其記錄的日志格式。
在Linux中,使用rsyslog來記錄日志,其主要具有以下幾點特性:
a、多線程進程;
b、支持UDP、TCP、SSL/TLS、RELP等多種傳輸協議;
c、可存儲日志信息于Mysql、PGSQL、Oracle等數據庫中;
d、具有功能強大的過濾器,可實現過濾日志信息中任何部分的內容;
e、可自定義輸出格式;
下面我們就首先詳細了解一下rsyslog程序。
1、程序相關環境;
rsyslog在CentOS發行版中為默認安裝的,當然,我們也可自己手動安裝,配置好yum倉庫后,執行yum –y install rsyslog即可。以CentOS7為例,其生成的相關文件主要有以下這些:
配置文件:/etc/rsyslog.conf、/etc/rsyslog.d/*
主程序文件:/usr/sbin/rsyslogd
模塊路徑:/usr/lib64/rsyslogd/
Unit File:/usr/lib/system/system/rsyslog.service
2、程序配置文件
rsyslog的程序配置文件由以下三部分組成:
#### MODULES #### #### GLOBAL DIRECTIVES #### #### RULES ####
需要注意的是,每個配置段的配置選項都有嚴格的定義,所以我們在添加配置選項時,同樣也需要嚴格按照配置段位置進行添加;我們主要看一下RULES段的主要配置。
RULES段的配置具有固定的格式,由三部分組成:
Facility.priority target
Facility即為日志傳輸的信道,包括auth,authpriv,cron,daemon,kern,lpr,mail,mark,news,security,user,uucp,syslog,local0-local7共20類。
priority為日志的等級,包括debug,info,notice,warn(warning),err(error),crit(critical),alert,emerg(panic)幾種;
target為日志的存儲方式,有以下幾種:
? 文件:將日志信息記錄到指定的文件中,文件路徑之前的“-”表示異步寫入之意;
? 用戶:將日志事件通知給指定的用戶,一般指登錄到當前系統上的所有用戶的終端;
? 日志服務器:格式為@rsyslog_server,表示將日志信息發往指定的日志服務器;
? 管道:格式為|COMMAND,表示將日志通過管道傳遞給命令;
了解了rsyslog之后,那么我們要如何分析日志信息呢。在圖像化界面下,我們可以通過一款軟件loganalyzer進行分析,其需要運行于amp環境中;下面我們就搭建一個AMP+rsyslog+loganalyzer環境;
1、安裝AMP+rsyslog環境
yum –y install httpd php php-mysql mariadb-server rsyslog ryslog-mysql
2.配置mysql相關用戶與數據
a、啟動mysql服務
systemctl start mariadb.service
b、運行mysql初始化設置;
mysql_secure_installation
c、創建mysql數據庫與賬號;
mysql -u root -pmageedu < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql mysql> grant all on Syslog.* to ‘rsyslog’@’localhost’ identified by ‘mageedu’; mysql> grant all on Syslog.* to ‘rsyslog’@’127.0.0.1’ identified by ‘mageedu’; mysql> flush privileges;
3、配置rsyslog配置文件;
vim /etc/rsyslog/rsyslog.conf
在MODULES下添加:$ModLoad ommysql
在RULES下添加:*.* :ommysql:127.0.0.1,Syslog,rsyslog,mageedu
4、loganalyzer相關配置;
a、解壓loganalyzer安裝包;
tar xf loganalyzer-3.6.5.tar.gz
b、復制解壓目錄下src目錄至/var/www/html目錄;
cp –r loganalyzer-3.6.5/src /var/www/html
c、創建軟鏈接;
ln -sv /var/www/html/loganalyzer /var/www/html/log
d、在/var/www/html/log目錄中創建config.php并修改權限為666;
cd /var/www/html/log touch config.php chmod 666 config.php
e、為apache用戶設置acl權限;
setfacl -m u:apache:rwx /var/www/html/loganalyzer-3.6.5
f、設置防火墻并啟動各服務
5、在瀏覽器中訪問httpd服務并安裝loganalyzer;
至此,我們就搭建完成了amp+rsyslog+loganalyzer服務。
原創文章,作者:luoliumeng,如若轉載,請注明出處:http://www.www58058.com/53818