溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Rsyslog日志收集服務(wù)并結(jié)合Loganalyzer工具展示

發(fā)布時(shí)間:2020-06-27 20:19:29 來源:網(wǎng)絡(luò) 閱讀:1808 作者:Gavin7216 欄目:建站服務(wù)器

一、日志概述

1、rsyslog簡(jiǎn)介

   syslog是日志收集存儲(chǔ)系統(tǒng),負(fù)責(zé)記錄遵守此服務(wù)的內(nèi)核、程序的日志信息。一般記錄為:“日期時(shí)間,主機(jī),進(jìn)程:事件”。syslog不僅可以記錄本地的系統(tǒng)日志,也可以通過tcp, udp協(xié)議記錄遠(yuǎn)程主機(jī)的程序日志信息。


syslog:系統(tǒng)日志,是一種服務(wù),有兩個(gè)進(jìn)程

   syslogd:記錄應(yīng)用程序相關(guān)的日志

   klogd:記錄內(nèi)核相關(guān)的日志


rsyslog:是syslog的升級(jí)版,使用多線程并發(fā)記錄本地或遠(yuǎn)程日志,支持存儲(chǔ)日志信息在MySQL,PGSQL, Oracle等RDBMS中。同時(shí)擁有強(qiáng)大的過濾器功能,可以對(duì)日志中任意內(nèi)容進(jìn)行過濾。

   rsyslog是CentOS 6以后的系統(tǒng)使用的日志系統(tǒng),與之前的syslog日志系統(tǒng)相比,具有以下優(yōu)點(diǎn):

     支持多線程

     支持TCP、SSL、TLS、RELP等協(xié)議

     強(qiáng)大的過濾器,可實(shí)現(xiàn)過濾日志信息中的任意部分

     支持自定義輸出格式

     適用于企業(yè)級(jí)別日志記錄需求

     模塊化


日志的記錄格式:

   日期時(shí)間 主機(jī) 進(jìn)程[pid]:事件內(nèi)容


2、rsyslog的一些概念 

   系統(tǒng)上的應(yīng)用程序指定某一信道記錄日志,信道默認(rèn)已經(jīng)設(shè)定了日志的記錄級(jí)別,一旦應(yīng)用程序產(chǎn)生了日志信息,通過該信道就會(huì)把日志文件記錄在指定的本地文件、數(shù)據(jù)庫或遠(yuǎn)程rsyslog服務(wù)器中。

當(dāng)然應(yīng)用程序輸出的日志一般也會(huì)按照級(jí)別劃分,比如sshd_conf中就定義了信道為authpriv,級(jí)別為info的日志輸出: 
# Logging — SyslogFacility AUTHPRIV — #LogLevel INFO


3、rsyslog支持的facility與priority

facility:設(shè)施、信道

   從功能或程序上對(duì)日志進(jìn)行分類,并由專門的工具負(fù)責(zé)記錄其日志

常用的facility:
      lpr: 打印相關(guān)的日志
     auth: 認(rèn)證相關(guān)的日志
     user: 用戶相關(guān)的日志
     cron: 計(jì)劃任務(wù)相關(guān)的日志
     kern: 內(nèi)核相關(guān)的日志
     mail: 郵件相關(guān)的日志
     mark: 標(biāo)記相關(guān)的日志
     news: 新聞相關(guān)的日志
     uucp: 文件copy相關(guān)的日志
   daemon: 系統(tǒng)服務(wù)相關(guān)的日志
  authpri: 授權(quán)相關(guān)的日志
 security: 安全相關(guān)的日志
   syslog: 由syslogd服務(wù)產(chǎn)生的日志信息,雖然服務(wù)名稱改為rsyslogd,但是很多配置都還是沿用了syslogd的,這里并沒有修改服務(wù)名
 local0-local7:自定義相關(guān)的日志信息(自定義時(shí)可以使用通配符)
priority:級(jí)別
debug           #有調(diào)式信息的,日志信息最多
info            #一般信息的日志,最常用
notice          #最具有重要性的普通條件的信息
warning, warn   #警告級(jí)別
err, error      #錯(cuò)誤級(jí)別,阻止某個(gè)功能或者模塊不能正常工作的信息
crit            #嚴(yán)重級(jí)別,阻止整個(gè)系統(tǒng)或者整個(gè)軟件不能正常工作的信息
alert           #需要立刻修改的信息
emerg, panic    #內(nèi)核崩潰等嚴(yán)重信息
###從上到下,級(jí)別從低到高,記錄的信息越來越少,如果設(shè)置的日志內(nèi)性為err,則日志不會(huì)記錄比err級(jí)別低的日志

二、rsyslog配置

1、程序環(huán)境

程序包:rsyslog

配置文件:/etc/rsyslog.conf, /etc/rsyslog.d/*.conf

主程序:/usr/sbin/rsyslogd

模塊路徑:/lib64/rsyslog/

Unit File:/usr/lib/systemd/system/rsyslog.service


2、配置文件/etc/rsyslog.conf格式詳解

由三部分組成,必須嚴(yán)格按照配置段位置添加配置

1
2
3
4
[root@centos6.8~]# grep "####" /etc/rsyslog.conf
#### MODULES ####
#### GLOBAL DIRECTIVES ####
#### RULES ####

MODULES:定義裝載的模塊,如接下來的使用mysql模塊記錄日志則需要在這里配置

GLOBAL DIRECTIVES:定義了全局的環(huán)境

RULES:定義了記錄日志的設(shè)施以及等級(jí)等信息

  定義規(guī)則的格式為:

     facility.priority  Target


facility可以使用的通配符:

   *:所有

   ,:列表,如f1,f2,f3...

   !:取反         

        

priority可以使用的通配符:

   *:所有日志級(jí)別

 none:沒有任何級(jí)別,也就是不記錄日志信息

             

Target:目標(biāo),指日志保存的位置

    可以使用的有:

        文件,如/var/log/messages

      用戶:* 表示當(dāng)前登錄系統(tǒng)的所有用戶

      日志服務(wù)器:@host  ##host: 必須要監(jiān)聽在tcp或udp協(xié)議514端口上提供服務(wù);

      管道:| COMMAND

例如:

mail.info /var/log/maillog 

       表示將mail產(chǎn)生的info日志級(jí)別以上的信息都記錄在/var/log/maillog文件中

mail.=info  表示僅記錄info級(jí)別日志

mail.!info  表示記錄info以下級(jí)別的日志 

*.info     表示所有設(shè)施的info級(jí)別

mail,news.info  表示mail和news都使用info級(jí)別


有些日志記錄二進(jìn)制格式:/var/log/wtmp,/var/log/btmp

/var/log/wtmp: 當(dāng)前系統(tǒng)上成功登錄的日志; last

/var/log/btmp:當(dāng)前系統(tǒng)上失敗的登錄嘗試; lastb

lastlog命令:顯示當(dāng)前系統(tǒng)每一個(gè)用戶最近一次的登錄時(shí)間;


3、配置文件/etc/rsyslog.conf詳解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#### MODULES 日志的模塊####
$ModLoad imuxsock   #imuxsock是模塊名,支持本地系統(tǒng)日志的模塊
$ModLoad imklog     #imklog是模塊名, 支持內(nèi)核日志的模塊
#$ModLoad immark    #immark是模塊名,支持日志標(biāo)記
#$ModLoad imudp     #imupd是模塊名,支持udp協(xié)議
#$UDPServerRun 514  #允許514端口接收使用UDP和TCP協(xié)議轉(zhuǎn)發(fā)過來的日志
#$ModLoad imtcp     #imtcp是模塊名,支持tcp協(xié)議
#$InputTCPServerRun 514
#### GLOBAL DIRECTIVES ####定義全局日志格式的指令
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat #定義日志格式默認(rèn)模板
$IncludeConfig /etc/rsyslog.d/*.conf   #載入rsyslog.d文件中所有以conf結(jié)尾的文件
#### RULES ####
*.info;mail.none;authpriv.none;cron.none    /var/log/messages
#####記錄所有日志類型的info級(jí)別以及大于info級(jí)別的信息到/var/log/messages,但是mail郵件信息,authpriv驗(yàn)證方面的信息和cron時(shí)間#任務(wù)相關(guān)的信息除外
authpriv.*             /var/log/secure
#####authpriv驗(yàn)證相關(guān)的所有信息存放在/var/log/secure
mail.*                -/var/log/maillog
#####郵件的所有信息存放在/var/log/maillog; 這里有一個(gè)-符號(hào), 表示是使用異步的方式記錄, 因?yàn)槿罩疽话銜?huì)比較大
cron.*                /var/log/cron
####計(jì)劃任務(wù)有關(guān)的信息存放在/var/log/cron
*.emerg                * (*表示所有用戶)
###記錄所有的大于等于emerg級(jí)別信息, 以wall方式發(fā)送給每個(gè)登錄到系統(tǒng)的人
uucp,news.crit        /var/log/spooler
####記錄uucp,news.crit等存放在/var/log/spooler
local7.*              /var/log/boot.log
####本地服務(wù)器的啟動(dòng)的所有日志存放在/var/log/boot.log中


三、配置使用基于mysql存儲(chǔ)日志信息,并結(jié)合前端loganalyzer工具分析日志

1、配置rsyslog日志存儲(chǔ)于mysql中

(1) 準(zhǔn)備好MySQL服務(wù)器,創(chuàng)建用戶,授權(quán)對(duì)Syslog數(shù)據(jù)庫的全部訪問權(quán)限;

mysql> grant all on Syslog.* to 'syslog'@'192.168.137.%' identified by '123456';


(2) rsyslog服務(wù)起上安裝rsyslog-mysql程序包;

yum install -y rsyslog-mysql


(3) 創(chuàng)建rsyslog-mysql依賴的數(shù)據(jù)庫;

rpm -ql rsyslog-mysql

/lib64/rsyslog/ommysql.so

/usr/share/doc/rsyslog-mysql-5.8.10

/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql    ##建庫腳本位置


# yum install mysql -y   ##rsyslog服務(wù)器安裝mysql客戶端

# mysql -usyslog  -p123456  -h292.168.137.130  --default-character-set=utf8 < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

mysql> use Syslog

Database changed

mysql> show tables;

+------------------------+

| Tables_in_Syslog       |

+------------------------+

| SystemEvents           |

| SystemEventsProperties |


(4) 配置rsyslog使用ommysql模塊

vim /etc/rsyslog.conf

#### MODULES ####

$ModLoad ommysql

#### RULES ####

*.info;mail.none;authpriv.none;cron.none :ommysql:192.168.137.130,Syslog,syslog,123456

重啟rsyslog服務(wù):    service rsyslog restart


(5)測(cè)試日志記錄

rsyslog服務(wù)器:yum remove lrzsz

mysql> select * from SystemEvents\G   


2、安裝loganalyzer(rsyslog專用前端展示工具)

(1)準(zhǔn)備環(huán)境,loganalyzer為php程序開發(fā)的web頁面

    yum install -y httpd php php-mysql php-gd            (mysql mysql-server rsyslog-mysql前期已安裝)

   測(cè)試httpd能否正常工作,能否通過php工作

[root@master ~]# cd /var/www/html/

[root@master html]# vim index.php

Hello word!

My Blog is "http://guopeng7216.blog.51cto.com/"

<?php

phpinfo();

?>


測(cè)試php和mysql結(jié)合

[root@localhost html]# cat index.php

<?php

$link=mysql_connect('192.168.137.150','syslog','123456');

if($link){

echo "success..frank!";

}else{

echo "failed..frank!".mysql_error();

}

mysql_close($link);

phpinfo();

?>


Rsyslog日志收集服務(wù)并結(jié)合Loganalyzer工具展示

(2)、下載loganalyzer并進(jìn)行安裝配置;

http://pan.baidu.com/s/1nvsN5rz

 ~]# tar xf loganalyzer-3.6.4.tar.gz 

 ~]# cd loganalyzer-3.6.4

 loganalyzer-3.6.4]# cp -r src /var/www/html/loganalyzer 

 loganalyzer-3.6.4]# cp contrib/*.sh /var/www/html/loganalyzer/

 loganalyzer-3.6.4]# cd /var/www/html/loganalyzer/

loganalyzer]# chmod u+x *.sh

loganalyzer]# ./configure.sh 

loganalyzer]# ./secure.sh 

loganalyzer]# chown -R apache:apache ./*


修改rsyslog的配置文件rsyslog.conf,只需開啟兩個(gè)模塊以及允許通過tcp,udp發(fā)出接受信息,并且設(shè)置信息都保存至mysql數(shù)據(jù)庫的Syslog中,

# Provides UDP syslog reception

$ModLoad imudp

$UDPServerRun 514


# Provides TCP syslog reception

$ModLoad imtcp

$InputTCPServerRun 514


日志數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中,其它全部注釋掉

*.*     :ommysql:192.168.137.150,Syslog,syslog,123456


安裝loganalyzer:

http://192.168.137.150/loganalyzer/install.php

Rsyslog日志收集服務(wù)并結(jié)合Loganalyzer工具展示

Rsyslog日志收集服務(wù)并結(jié)合Loganalyzer工具展示

Rsyslog日志收集服務(wù)并結(jié)合Loganalyzer工具展示

Rsyslog日志收集服務(wù)并結(jié)合Loganalyzer工具展示

Rsyslog日志收集服務(wù)并結(jié)合Loganalyzer工具展示



對(duì)loganalyzer日志系統(tǒng)進(jìn)行測(cè)試,在本機(jī)上通過ssh連接192.168.137.150

[root@centos-7 loganalyzer]# ssh 192.168.137.150

root@192.168.137.150's password: 

Last login: Thu May 11 19:37:06 2017 from centos-7

Rsyslog日志收集服務(wù)并結(jié)合Loganalyzer工具展示


重新配置loganalyzer:

loganalyzer]# rm -f config.php 

loganalyzer]# ./configure.sh 

loganalyzer]# ./secure.sh 

loganalyzer]# chmod 666 config.php

http://192.168.137.150/loganalyzer/install.php

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI