CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

隨著機房內的服務器和網絡設備增加,日志管理和查詢就成了讓系統管理員頭疼的事。

系統管理員遇到的常見問題如下:

1、日常維護過程中不可能登錄到每一臺服務器和設備上去查看日志; 
2、網絡設備上的存儲空間有限,不可能存儲日期太長的日志,而系統出現問題又有可能是很久以前發生的某些操作造成的; 
3、在某些非法入侵的情況下,入侵者一般都會清除本地日志,清除入侵痕跡; 
4、zabbix等監控系統無法代替日志管理,無法監控如系統登錄、計劃任務執行等項目。

基于上述原因,在當前的網絡環境中搭建一臺用于日志集中管理的Rsyslog日志服務器就顯得十分有必要了。

Rsyslog服務的優點如下:

1、Rsyslog服務器可以大多數的網絡設備支持,在網絡設備的系統設備選項中大多都有遠程日志服務的配置選項。只需要填寫上IP地址和端口(大多數設備已經默認是514了),然后確定就可以了; 
2、Linux服務器只需要在本地的Rsyslog服務配置中加入簡單的一行就可以將日志發送到日志服務器,布署和配置起來十分簡單; 
3、通過軟件(如evtsys)也可以支持Windows服務器,布署和配置也不是很難,但是有些軟件是要收費的; 
4、搭配前端的loganalyzer等軟件,可以輕松實現圖形化管理和查詢日志。

二、系統環境及軟件版本:

    Rsyslog_server: CentOS7.2

    Rsyslog_server IP:192.168.253.160

    Rsyslog_client: CentOS7.2 + Windows7

    所用軟件:

    Rsyslog Version: rsyslog-7.4.7-12.el7.x86_64

    LogAnalyzer Version: loganalyzer-3.6.5.tar.gz

    MySQL Version:MySQL5.7

    Httpd Version:httpd-2.4.6-40.el7.centos.x86_64

    PHP Version:php-5.4.16-36.el7_1.x86_64

三、環境準備:

3.1 關閉防火墻:

# systemctl stop firewalld

3.2 將SELINUX設置為disabled

# setenforce 0
# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

四、配置LAMP環境:

4.1 安裝MySQL,由于CentOS7默認會安裝Mariadb,因此使用MySQL官方提供快速的安裝方法,地址:http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/

# mkdir /home/rsyslog_server/tools -p            #創建下載文件存放目錄
# cd /home/rsyslog_server/tools
# yum install wget -y
# wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# rpm -Uvh mysql57-community-release-el7-8.noarch.rpm        #安裝MySQL官方yum倉庫
# yum install mysql-community-server -y                                     #安裝MySQL
# systemctl start mysqld.service
# systemctl status mysqld.service
# grep 'temporary password' /var/log/mysqld.log                        #查看初始密碼
# mysql -u root -p
>ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';    #更改密碼,密碼需要符合以下規則:至少一個大寫字母,一個小寫字母,一個數字,一個特殊字符,而且密碼長度需要超過8位

4.2 安裝Apache及PHP

# yum install httpd -y
# yum install php php-gd php-xml php-mysql -y

4.3 啟動服務并加入開機自啟動:

# systemctl start httpd.service
# systemctl enable httpd.service
# systemctl start mysqld.service
# systemctl enable mysqld.service

4.4 測試PHP環境

# vi index.php
    <?php
    phpinfo()
    ?>

在瀏覽器中輸入http://192.168.253.160/index.php,若顯示以下內容,則配置成功。

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

五、檢查并安裝服務端軟件

5.1 檢查是否安裝了rsyslog軟件

# rpm -qa rsyslog                  #CentOS7默認會安裝rsyslog

5.2 安裝rsyslog 連接MySQL數據庫的模塊

# yum install rsyslog-mysql -y     #rsyslog使用此模塊將數據傳入MySQL數據庫,必須安裝

六、配置服務器端

6.1 導入rsyslog-mysql 數據庫文件

# cd /usr/share/doc/rsyslog-7.4.7/
# mysql -uroot -p<mysql-createDB.sql
# Enter password:

6.2 登錄數據庫查看:

mysql> show databases;

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

mysql> show tables;

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

導入數據庫操作創建了Syslog 庫并在該庫中創建了兩張空表SystemEvents 和SystemEventsProperties。

6.3 在MySQL下創建rsyslog用戶并授權:

mysql> grant all on Syslog.* to rsyslog@'localhost' identified by 'MyNewPass4!';
mysql> flush privileges;
mysql> exit

6.4 配置服務端支持rsyslog-mysql 模塊,并開啟UDP服務端口獲取網內其他LINUX系統日志;

# vi /etc/rsyslog.conf                             #按如下進行更改
    #### MODULES ####
    $Modload ommysql
    *.* :ommysql:localhost,Syslog,rsyslog,MyNewPass4!        #localhost 表示本地主機,Syslog 為數據庫名,rsyslog 為數據庫的用戶,123456為該用戶密碼。    
    $ModLoad immark                                # immark是模塊名,支持日志標記
    $ModLoad imudp                                 #imupd是模塊名,支持udp協議
    $UDPServerRun 514                              #允許514端口接收使用UDP和TCP協議轉發過來的日志
    #### RULES ####                                #在RULES下注釋掉*.info;mail.none;authpriv.none;cron.none改為 *.info;mail.none;authpriv.none;cron.none       
    #         :ommysql:localhost,Syslog,rsyslog,MyNewPass4!
    #*.info;mail.none;authpriv.none;cron.none                /var/log/messages
    *.info;mail.none;authpriv.none;cron.none                :ommysql:localhost,Syslog,rsyslog,MyNewPass4!

6.5 重啟rsyslog服務

# systemctl restart rsyslog.service

七、配置客戶端

7.1 檢查客戶端有沒有安裝rsyslog

# rpm -qa rsyslog

7.2 配置rsyslog客戶端發送本地日志到服務端

# vi /etc/rsyslog.conf 
    *.* @192.168.253.160:514        #在文件結尾處增加此內容

7.3 重啟rsyslog服務

# systemctl restart rsyslog.service

7.4 編輯/etc/bashrc,將客戶端執行的所有命令寫入系統日志/var/log/messages中

# vi /etc/bashrc 
    export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`]"$msg"; }'                #在結尾處加上此內容

設置使其生效

# source /etc/bashrc

八、測試rsyslog_server可否正常接收rsyslog_client的日志

[root@syslog log]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 207
Server version: 5.7.17 MySQL Community Server (GPL)

Copyright (c) 2000, 2016, 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> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| Syslog             |
| mysql              |
| performance_schema |
+--------------------+
4 rows in set (0.00 sec)

mysql> use 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 |
| logcon_charts          |
| logcon_config          |
| logcon_dbmappings      |
| logcon_fields          |
| logcon_groupmembers    |
| logcon_groups          |
| logcon_savedreports    |
| logcon_searches        |
| logcon_sources         |
| logcon_users           |
| logcon_views           |
+------------------------+
13 rows in set (0.00 sec)

mysql>  select count(*) from SystemEvents;
+----------+
| count(*) |
+----------+
|       75 |               #####這里不為零 說明mysql已經和rsyslog連接正常并接受到數據
+----------+
1 row in set (0.00 sec)

mysql>

九、安裝LogAnalyzer

# cd /home/rsyslog_server/tools/
# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
# tar zxf loganalyzer-3.6.5.tar.gz
# cd loganalyzer-3.6.5
# mkdir -p /var/www/html/loganalyzer
# cp -rf src/* /var/www/html/loganalyzer/
#cp  -rf contrib/* /var/www/html/loganalyzer

十、在瀏覽器中進行安裝LogAnalyzer

10.1 打開瀏覽器,輸入http://192.168.253.160/loganalyzer

提示無配置文件,點擊here按鈕生成;

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

10.2 點擊next進行系統環境測試:

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

此處提示沒有config.php文件,使用contrib中的configure.sh腳本可生成;

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

# cd contrib/
# cp configure.sh /var/www/html/loganalyzer/
# cd /var/www/html/loganalyzer/
# sh configure.sh

此部分操作在/var/www/html/loganalyzer/目錄下創建config.php文件并配置權限為666,也可以使用mkdir及chmod命令執行。

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

10.3 繼續下一步,填寫數據庫信息

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

點擊next生成數據庫中的表;

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

10.4 設置管理員

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

10.5 創建第一個系統日志source

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

10.6 完成

itdadao-CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

Rsyslog + LogAnalyzer 日志服務器部署完畢,可根據需要進行設置。

最后的問題

帳號登出后 再登陸loganalyzer的web頁面老是提示帳號密碼錯誤

使用phpmyadmin在Syslog數據庫里更改密碼加密方式為MD5

CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

點擊執行 再次登陸后正常

CentOS7下利用rsyslog+loganalyzer配置日志服務器及Linux和windows客戶端配置

原創文章,作者:N22-昆山-Dexter_Wang,如若轉載,請注明出處:http://www.www58058.com/67498

(0)
N22-昆山-Dexter_WangN22-昆山-Dexter_Wang
上一篇 2017-03-15
下一篇 2017-03-15

相關推薦

  • 用keepalived高可用nginx

    單主模型 環境四個虛擬機 upstream server:node1:172.16.100.6 ? ? ? ? CeotOS 6 upstream server:node3:172.16.100.69 ? ? ? ? CeotOS 7 節點1:172.16.100.67 ? ? ? ? ? ? ? ? ? ? ? ?CeotOS 7 節點2:node2:17…

    2017-10-15
  • 18-系統啟動故障修復-實踐

    說明:重啟時可以選擇性在vmlinuz所在行末尾添加 selinux=0;或者直接編輯/etc/selinus/config文件,更改 SELINUX=disabled 關閉SELINUX??梢员苊獯驑撕?,節省啟動時間 以下操作都需要進入bootloader引導加載項修改內核啟動參數,在vmlinuz所在行末尾添加一個啟動選項 如何進入bootloader引…

    2017-04-02
  • 一個簡單小例子來說一下Rescue營救模式

    昨天不小心將/lib64下的一個動態庫文件libc.so.6(很多命令都依賴的)給移動到了/root下,然后除了一些內部命令可用外,其余命令都不能用了,然后就想著看看重啟可不可以修復,結果重啟后就再也開不了機了,心想著這可咋整,要不用最快的方式進行快照恢復吧,結果老師就說了,不能使用快照,讓我們使用Rescue營救模式進行恢復,然后在恢復的過程中就發現一個問…

    Linux干貨 2017-08-21
  • shell變量的淺談

    變量本質上是存儲數據的一個或多個計算機內存地址,變量的命令規則包括: 1) 不能使用程序中的保留字,如if, for 2) 變量由字母、下劃線和數字組成,且不能以數字開頭 3) 要求風名知義 4) 統一命名規則:駝峰命名法 變量主要分為本地變量、環境變量、局部變量、位置變量和特殊變量 (1)本地變量:只對當前shell…

    2017-08-05
  • grep命令及正則表達式

    grep命令和正則表達式 grep基本概念 grep:global search regular expression and print out the line. 作用:文本過濾器,用于文本搜索,用指定“模式”逐行匹配。 模式:由正則表達式字符及文本字符所編寫的過濾條件 正則表達式:由一類特殊字符和文本字符所編寫的模式,其有些字符不表示字符字面意義,而表…

    Linux干貨 2016-11-05
  • 計算機組成與Linux基礎

    一 計算機組成 馮諾依曼體系 計算機處理數據和指令一律用二進制表示 指令和數據不加混合存儲在同一存儲器中 順序執行程序每一條指令 計算機硬件由運算器、控制器、存儲器、輸入設備以及輸出設備組成 計算機組成部分 CPU:含有指令集,對程序進行運算和判斷并分為兩個主要單元分別為算術邏輯單元和控制單元。其中算術邏輯單元主要負責程序運算與判斷,控制單元負責協調組件與個…

    Linux干貨 2017-07-30
欧美性久久久久