標籤:centos mariadb loganalyzer syslog
一、首先來解讀下rsyslog設定檔的含義
設定檔路徑/etc/rsyslog.conf
在rsyslog中facility設施 可以從功能或者程式上對日誌分類常用的以下幾種
auth |
和認證相關的 |
authpriv |
和認證授權相關的 |
cron |
專門給週期性任務計劃做日誌記錄的 |
daemon |
幫守護進程做日誌記錄 |
kern |
給核心做日誌記錄 |
lpr |
給列印做日誌記錄 |
mail |
給郵件做日誌記錄 |
mark |
防火牆標記 |
news |
新聞群組(這個是很早的) |
security |
和安全相關的(相當於auth) |
syslog |
自己的日誌 |
user |
和使用者相關 |
uucp |
unix主機之間copy檔案的日誌 |
local |
從local0 through 到local7 8個保留的自訂的facility |
上面的這些設施在指定設施時可以使用萬用字元的,可用的萬用字元有以下幾種
* |
表示所有的facility |
, |
可以是多個facility 列表的意思,例如facility1,facility2,facility3 |
! |
取反的意思 表示除了它以外的 |
下面是記錄層級,從上到下,層級從低到高,記錄的資訊越來越少
debug |
有調式資訊的,日誌資訊最多,最詳細的資訊 |
info |
一般資訊的日誌,最常用 |
notice |
最具有重要性的普通條件的資訊 |
warn,warning |
需要引起注意的通知,到了這個時候就需要引起注意了 |
err,error |
嚴重錯誤,阻止某個功能或者模組不能正常工作的資訊 |
alert |
相當於藍色警戒,阻止整個系統或者整個軟體不能正常工作的資訊 |
crit |
相當於橙色警戒,需要立刻修改修複的警告資訊 |
emerg,panic |
相當於紅色警戒,當出現這個的時候基本上下一秒核心就掛了 |
none |
什麼都不做,什麼都不記錄 |
上面的這些層級也可以使用萬用字元的,可用的萬用字元有以下幾種
下面來說說怎麼配置遠程基於MariaDB(MySQL)儲存的日誌系統
1、我們需要修改/etc/rsyslog.conf的設定檔。
首先我們啟用#### MODULES ####段設定檔中的連接埠監聽
yum install rsyslog-mysql -ysed -ri ‘s/^#(\$ModLoad im(tc|ud)p)/\1/‘ /etc/rsyslog.confsed -ri ‘s/^#(\$(InputTCP|UDP)ServerRun)/\1/‘ /etc/rsyslog.conf然後在/etc/rsyslog.conf的MOUDLES段中追加一個啟用MariaDB(MySQL)的配置sed -i ‘/InputTCPServerRun/a \\n\n# Log event to MariaDB\n\$ModLoad ommysql\n‘ /etc/rsyslog.conf
650) this.width=650;" class="alignnone size-full wp-image-633" src="http://www.05hd.com/wp-content/uploads/2014/08/rsyslog2014-08-30-164010.png" alt="rsyslog2014-08-30 164010" width="750" height="389" border="0" hspace="0" vspace="0" title="" style="width:750px;height:389px;" />
2、然後我去收集日誌的伺服器上編譯安裝MariaDB做日誌收集儲存
[[email protected] ~]# yum -y groupinstall "Development tools" "Server Platform Development"[[email protected] ~]# yum -y install libxml2-devel cmake###上面是安裝必要的編譯所需軟體[[email protected] ~]# wget http://mirrors.hustunique.com/mariadb/mariadb-10.0.12/source/mariadb-10.0.12.tar.gz[[email protected] ~]# tar xf mariadb-10.0.12.tar.gz[[email protected] ~]# cd mariadb-10.0.12[[email protected] mariadb-10.0.12]# make clean[[email protected] mariadb-10.0.12]# cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/mydata/data -DSYSCONFDIR=/etc -DWITH_SSL=system -DWITH_SPHINX_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_ARIA_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_FEDERATEDX_STORAGE_ENGINE=1 -DWITH_MYISAM_STORAGE_ENGINE=1 -DENABLED_LOCAL_INFILE=1 -DWITH_EMBEDDED_SERVER=1[[email protected] mariadb-10.0.12]# make -j 4 && make install ##開始編譯[[email protected] mariadb-10.0.12]# cd ~/###下面是修改必要的設定檔和環境變數[[email protected] ~]# cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf[[email protected] ~]# cp /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld[[email protected] mariadb]# chmod +x /etc/rc.d/init.d/mysql[[email protected] mariadb]# chkconfig --add mysql[[email protected] mariadb]# chkconfig --list mysqlmysql 0:off 1:off 2:on 3:on 4:on 5:on 6:off[[email protected] ~]# sed -i "/^thread_concurrency.*/a datadir=/mydata/data" /etc/my.cnf[[email protected] ~]# groupadd mysql[[email protected] ~]# useradd -g mysql -r -s /sbin/nologin -m /mydata/data mysql[[email protected] ~]# chown -R mysql.mysql /mydata[[email protected] ~]# sed -i "$(cat /etc/man.config | grep -nE ‘^MANPATH[[:space:]]+‘ | tail -1 | awk -F: ‘{print$1}‘)a MANPATHt/usr/local/mysql/man" /etc/man.config[[email protected] ~]# echo "export PATH=/usr/local/mysql/bin:$PATH" > /etc/profile.d/mariadb1002.sh[[email protected] ~]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/mydata/data/[[email protected] mariadb]# cp /usr/local/mariadb/support-files/mysql.server /etc/rc.d/init.d/mysql[[email protected] mariadb]# service mysql startStarting MySQL..... [ OK ][[email protected] mariadb]# service mysql stopShutting down MySQL. [ OK ][[email protected] ~]# service mysqld start
再做資料庫匯入
yum install rsyslog-mysql -y[[email protected] ~]# find / -name rsyslog-mysql*/usr/share/doc/rsyslog-mysql-5.8.10
650) this.width=650;" class="alignnone size-full wp-image-625" src="http://www.05hd.com/wp-content/uploads/2014/08/rsyslog2014-08-30-171545.png" alt="rsyslog2014-08-30 171545" width="543" height="43" />
讓後將這個目錄下的createDB.sql匯入資料庫中
mysql -uroot -p < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql
下面的是SQL命令
MariaDB [(none)]> grant all on Syslog.* to [email protected]‘localhost‘ identified by ‘rsyslog使用者的密碼‘;MariaDB [(none)]> flush privileges;
最後我們回到需要做日誌遠程收集統計的伺服器上
再次修改設定檔
650) this.width=650;" class="alignnone size-full wp-image-630" src="http://www.05hd.com/wp-content/uploads/2014/08/rsyslog2014-08-30-172615.png" alt="rsyslog2014-08-30 172615" width="750" height="429" border="0" hspace="0" vspace="0" title="" style="width:750px;height:429px;" />
現在我們可以在MariaDB(MySQL)伺服器上配置loganalyzer
loganalyzer需要配合Apache或者Nginx之類的web伺服器(本文就不多介紹了)
wget http://www.05hd.com/wp-content/uploads/2014/08/loganalyzer-3.6.5.tar.gz###官方下載頁面http://loganalyzer.adiscon.com/downloads/[[email protected] ~]# wget http://www.05hd.com/wp-content/uploads/2014/08/loganalyzer-3.6.5.tar.gz--2014-08-31 02:39:01-- http://www.05hd.com/wp-content/uploads/2014/08/loganalyzer-3.6.5.tar.gzResolving www.05hd.com... 2001:41d0:8:ea32:1234:5678:9abc:9999, 5.135.167.50Connecting to www.05hd.com|2001:41d0:8:ea32:1234:5678:9abc:9999|:80... connected.HTTP request sent, awaiting response... 200 OKLength: 1046957 (1022K) [application/octet-stream]Saving to: “loganalyzer-3.6.5.tar.gz”100%[==============================================================================================>] 1,046,957 --.-K/s in 0.09s 2014-08-31 02:39:02 (11.2 MB/s) - “loganalyzer-3.6.5.tar.gz” saved [1046957/1046957][[email protected] ~]# tar xf loganalyzer-3.6.5.tar.gz [[email protected]ookBack ~]# cp -a loganalyzer-3.6.5/src/* /home/wwwroot/rsyslog.05hd.com/[[email protected] ~]# cp -a loganalyzer-3.6.5/contrib/* /home/wwwroot/rsyslog.05hd.com/[[email protected] ~]# chown -R /home/wwwroot/rsyslog.05hd.com/[[email protected] ~]# chmod +x /home/wwwroot/rsyslog.05hd.com/*.sh[[email protected] ~]# /home/wwwroot/rsyslog.05hd.com/configure.sh[[email protected] ~]# service rsyslog restart
這時候 就可以開啟web頁面在webui上配置loganalyzer了
基於Centos 6.5+MariaDB+loganalyzer+syslog搭建遠程系統日誌收集和分析環境