部署rsyslog+loganalyzer日誌服務器

1、簡要說明 
php

    日誌記錄了對服務器系統的一切操做,所以,對服務器日誌的管理,是咱們每一個運維人員天天的必要工做,也是評估服務器安全情況的有效手段之一,但是如何管理衆多服務器的日誌?若是要是一臺一臺看的話,怕是不止盯的眼花繚亂,累也的累壞了。
html

    因此,咱們要搭建一臺日誌服務器,要把全部服務器的日誌統統存到這臺遠程日誌服務器上來,這樣,不只能夠集中管理、評估各服務器的安全情況,還能夠減小各服務器的磁盤佔用率。
mysql

    即便全部服務器的日誌都保存在一臺服務器上的mysql(也可存到本地磁盤)了,如何管理、分析這些日誌也是一個問題,好在有loganalyzer這個日誌分析工具,它會讓日誌分析變得so easy!sql

    服務器說明:192.168.200.106是rsyslog日誌服務器,其它服務器均爲rsyslog客戶端
數據庫

2、部署rsyslog+loganalyzer日誌服務器vim

    咱們的首要工做便是配置好rsyslog服務器,接下來的任務便是部署loganalyzer這個日誌分析工具,這就是一個LAMP,直接yum安裝,配置配置參數就搞定了。但這次,在公司部署的時候,卻碰到幾個問題,致使日誌服務器不能正常獲取各服務器的日誌數據,所以,部署過程當中仍是須要細心的,下面就進入正題。安全

一、配置rsyslog日誌服務器bash

(1)安裝軟件包
服務器

    由於rsyslog要把日誌存到mysql中,因此要有mysql服務器,還要有rsyslog配置文件加載鏈接mysql的模塊運維

[root@rsyslog ~]# yum -y install rsyslog mysql-server rsyslog-mysql

(2)配置數據庫

[root@rsyslog ~]# rpm -ql rsyslog-mysql            #首先查看rsyslog-mysql安裝生成了那些文件
/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-mysql-5.8.10
/usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql   #此sql文件就是須要導入到數據庫中的數據文件
#
[root@rsyslog ~]# service mysqld start             #啓動mysqld服務
[root@rsyslog ~]# mysql                            #鏈接mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 
mysql> 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| test               |
+--------------------+
3 rows in set (0.00 sec)  #此時,只有3個庫
#
mysql> source /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql;   #導入rsyslog的數據文件
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Syslog             |
| mysql              |
| test               |
+--------------------+
4 rows in set (0.01 sec)
mysql> use Syslog;              #Syslog便是記錄日誌文件的數據庫
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> show tables;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)
#
#接下來,便是爲rsyslog服務器受權。此處必定是rsyslog服務器的IP
#若是寫成各服務器的IP,那就錯了
mysql> grant all on Syslog.* to 'syslogroot'@'127.0.0.1' identified by 'syslogpass';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all on Syslog.* to 'syslogroot'@'192.168.200.106' identified by 'syslogpass';
Query OK, 0 rows affected (0.04 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> \q
Bye

(3)修改rsyslog日誌服務器配置文件

[root@rsyslog ~]# grep -v "^$" /etc/rsyslog.conf | grep -v "^#"
$ModLoad imuxsock
$ModLoad imklog
$ModLoad imudp            #加載udp的模塊
$UDPServerRun 514         #容許接收udp 514的端口傳來的日誌
$ModLoad imtcp            #加載tcp的模塊
$InputTCPServerRun 514    #容許接收tcp 514的端口傳來的日誌
$ModLoad ommysql          #加載mysql的模塊
$ActionFileDefaultTemplateRSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.*       :ommysql:192.168.200.106,Syslog,syslogroot,syslogpass      #添加此行,全部設施的全部日誌都記錄到此數據庫服務器的Syslog數據庫中,以syslogroot用戶,syslogpass密碼訪問數據庫
local7.*                          /var/log/boot.log
$template SpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag% %syslogseverity-text%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
:programname, startswith, "spice-vdagent"   /var/log/spice-vdagent.log;SpiceTmpl

(4)修改完成後,重啓rsyslog服務

[root@rsyslog ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

二、配置rsyslog客戶端

(1)修改配置文件

[root@mariadb ~]# grep -v "^$" /etc/rsyslog.conf | grep -v "^#"
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
*.*       @192.168.200.106
*.*       :ommysql:192.168.200.106,Syslog,syslogroot,syslogpass
$template SpiceTmpl,"%TIMESTAMP%.%TIMESTAMP:::date-subseconds% %syslogtag% %syslogseverity-text%:%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
:programname, startswith, "spice-vdagent"   /var/log/spice-vdagent.log;SpiceTmpl

(2)修改完成後,重啓rsyslog服務

[root@rsyslog ~]# service rsyslog restart
Shutting down system logger:                               [  OK  ]
Starting system logger:                                    [  OK  ]

驗證客戶端日誌文件的存放

(1)使用logger生成一條日誌信息

[root@mariadb ~]# logger -p info "I'm mariadb"

(2)在rsyslog服務器上驗證

[root@rsyslog ~]# mysql
mysql> use Syslog;
mysql> select * from SystemEvents\G
*************************** 279. row ***************************
                ID: 279
        CustomerID: NULL
        ReceivedAt: 2014-08-13 20:07:39
DeviceReportedTime: 2014-08-13 20:07:40
          Facility: 1
          Priority: 6
          FromHost: mariadb
           Message:  I'm mariadb        #我在作的時候,就是由於第二部的1的(2)中mysql受權時,寫的是客戶端IP,致使這裏獲取不到數據。
        NTSeverity: NULL                #所以,在數據庫受權的時候,要受權的是rsyslog日誌服務器的IP
        Importance: NULL
       EventSource: NULL
         EventUser: NULL
     EventCategory: NULL
           EventID: NULL
   EventBinaryData: NULL
      MaxAvailable: NULL
         CurrUsage: NULL
          MinUsage: NULL
          MaxUsage: NULL
        InfoUnitID: 1
         SysLogTag: root:
      EventLogType: NULL
   GenericFileName: NULL
          SystemID: NULL
         processid: 
          checksum: 0
279 rows in set (0.00 sec)

到這裏,rsyslog日誌服務器就部署完成了,但此時日誌處於rsyslog日誌服務器的mysql數據庫中,並不方便查看與管理,因此咱們再部署一個loganalyzer日誌分析器,來減少日誌管理的複雜度

3、部署loganalyzer日誌分析器

一、安裝LAMP環境

[root@rsyslog ~]# yum -y install httpd php php-mysql php-gd
[root@rsyslog ~]# mkdir /var/www/html/loganalyzer/
mkdir: created directory `/var/www/html/loganalyzer/'

二、解壓loganalyzer源碼包

[root@rsyslog ~]# tar xf loganalyzer-3.6.5.tar.gz
[root@rsyslog ~]# cd loganalyzer-3.6.5
[root@rsyslog loganalyzer-3.6.5]# 
[root@rsyslog loganalyzer-3.6.5]# ls
ChangeLog  contrib  COPYING  doc  INSTALL  src
[root@rsyslog loganalyzer-3.6.5]# mv src/* /var/www/html/loganalyzer/          #src下是php的網頁文件
[root@rsyslog loganalyzer-3.6.5]# ls contrib/
configure.sh  secure.sh
[root@rsyslog loganalyzer-3.6.5]# mv contrib/* /var/www/html/loganalyzer/      #contrib目錄下的兩個腳本,能夠打開看看
#
[root@rsyslog loganalyzer-3.6.5]# cd /var/www/html/loganalyzer/
[root@rsyslog loganalyzer]# sh configure.sh                                    #執行腳本

三、配置httpd

    修改DocumentRoot網頁根目錄

[root@rsyslog ~]# vim /etc/httpd/conf/httpd.conf 
DocumentRoot "/var/www/html/loganalyzer"
#
[root@rsyslog ~]# service httpd start

四、配置httpd和mysql開機啓動

[root@rsyslog ~]# chkconfig mysqld on
[root@rsyslog ~]# chkconfig httpd on

五、建立loganalyzer數據庫,並受權

[root@rsyslog ~]# mysql
Enter password:
mysql> create database loganalyzer;
Query OK, 1 row affected (0.04 sec)
mysql> grant all on loganalyzer.* to dianyi@'192.168.200.106' identified by 'dianyi123';
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

六、安裝loganalyzer

(1)安裝界面

wKioL1PsIlfiOLZeAABquvXDTC4299.png

(2)step 1

wKiom1PsIVTTUlnbAADM3WKzmDk997.png

(3)step 2

wKioL1PsIonz2zexAADqKOiUPOM107.png

(4)setp 3

    在這一步,須要創建一個數據庫來受權監控服務器訪問

mysql>create database loganalyzer;
mysql>grant all on loganalyzer.* to loguser@'192.168.200.106' identified by 'dianyi_888';
mysql>flush privileges;

wKiom1PsIYaixqQbAAEZ8AIpcvc759.png

(5)setp 4

wKioL1PsIraDnTUFAADZM7ZNkGk359.png

(6)setp 5

wKioL1PsIs7RkNMTAAKJgP4gbwE940.png

(7)step 6

wKioL1PsIumTCKMbAAB_sTB70ns683.png

(8)setp 7

wKioL1PsIv_ADEgwAADnh60ziIo232.png

(9)setp 8

wKiom1PsIf3SUHv8AABN8J_yFCY473.png

(10)開始報錯

wKioL1PsIynRWp_OAAEdNAQ1GfY306.png

排錯階段

一、從新安裝

wKioL1PsI1XjP7MxAABIUlA92OQ550.png

二、修改表名爲正確的表名

wKioL1PsI2jhZr3gAADcNzodDiY820.png

三、安裝完成,enjoy it

wKioL1PsI4Xzsae8AAJd-IwfiuI760.png

相關文章
相關標籤/搜索