1. 程式人生 > >Centos7.4部署rsyslog+loganalyzer+mysql日誌管理伺服器

Centos7.4部署rsyslog+loganalyzer+mysql日誌管理伺服器

一、隨著管理的伺服器與網路裝置的增加,系統日誌的採集與收集變得繁瑣起來。此時在一臺伺服器上構建集中日誌管理伺服器,實現從其他伺服器上採集到的系統日誌傳送到日誌管理伺服器進行統一管理與儲存就變得很有必要了。
日誌管理伺服器可以解決以下問題:
1、不再需要逐臺伺服器去查詢系統日誌檔案
2、將日常的系統資訊儲存在mysql資料中,方便進行查詢、統計、審計過濾等操作
3、通過其他軟體可以實現擴平臺日誌收集,如使用evtsys採集window日誌傳送到linux日誌伺服器上
4、在linux下rsyslog配置比較簡單,維護較為容易。
5、rsyslog+loganalyzer可以實現前端圖形化查詢等操作.

二、rsyslog的安裝與配置
使用yum安裝相關程式包:
1、安裝LAMP:yum install mysql-server,mysql-devel, httpd,php-mysql
php ,php-gd, php-xml
2、安裝rsyslog及驅動 libcurl-devel ,net-snmp-devel ,rsyslog, rsyslog-mysql
3、阿里雲伺服器上自帶的yum倉庫源上預設沒有mysql-server,網上下載mysql57-community-release-el7-11.noarch.rpm並使用rpm安裝:rpm -ivh mysql57-community-release-el7-11.noarch.rpm
三、啟動mysql服務:
1、初次啟動時會在/var/log/mysqld.log隨機生成root密碼,使用grep 'password' '/var/log/mysqld.log'檢視:
Z79P2_ZU_5NY_2_ABZ_B


2、使用剛才找到的密碼登入並修改root密碼:
mysqladmin -u root password 'yourpassword'.
假設將root密碼設為123456:
set password for [email protected]'localhost'=password('12345678');
將會提示錯誤資訊:
2
原因為mysql預設引數validate_password_policy=medium,將這個值設為0,set global validate_password_policy=0;修改就能使用較為簡單的密碼。
3、設定mysql預設字符集為UTF-8:編輯/etc/my.cnf檔案,在[mysqld]下新增一行:character-set-server = utf8
skip-name-resolve=on ###禁止域名解析
然後重啟mysql服務:systemctl restart mysqld
4、使用剛才安裝的rsyslog-mysql程式包文件目錄下的sql檔案建立rsyslog資料庫:
使用rpm -ql rsyslog-mysql 查詢並找到該sql檔案
3

使用該檔案建立資料庫 mysql -u root -p < mysql-createDB.sql
建立的資料庫名為:syslog
5、在mysql中建立資料庫Syslog的使用使用者syslog並授權:
grant all on Syslog.* to 'syslog'@'127.0.0.1';
flush privileges;

6、修改rsyslog配置檔案:
vim /etc/sysconfig/rsyslog
新增兩行:
SYSLOGD_OPTIONS="-c 2 -r -x -m 180"
KLOGD_OPTIONS="-x"
4

編輯rsyslog主配置檔案/etc/rsyslog.conf:
在#### MODULES ####下進行以下操作:
取消$ModLoad imudp、$UDPServerRun 514 這2行的註釋表示通過UPD協議的514埠接收日誌檔案。
5

新增$ModLoad ommysql 一行 #######配置服務端支援rsyslog-mysql模組
新增. :ommysql:127.0.0.1,Syslog,rsyslog,123456789
6
重啟rsyslog:
systemctl restart rsyslog

四、loganalyzer的配置
1、在apache的預設documentRoot目錄下建立loganalyzer目錄:
mkdir -p /var/www/html/loganalyzer
建立loganalyzer日誌目錄:
mkdir -p /var/log/httpd/loganalyzer
2、官網上下載Loganalyzer解壓到/usr/loca/src下:
wget http://download.adiscon.com/loganalyzer/loganalyzer-4.1.6.tar.gz
cd /usr/local/src
tar -zxvf loganalyzer-4.1.6.tar.gz
在解壓後的loganalyzer-4.1.6目錄內複製src/與contrib/下的所有檔案到/var/www/html/loganalyzer目錄下:
cp -r src/* /var/www/html/loganalyzer
cp -r contrib/* /var/www/html/loganalyzer
7

3、在/var/www/html/loganalyzer下建立config.php並設定許可權:
touch config.php
chmod 666 config.php

4.在/etc/httpd/conf/httpd.conf檔案為找到並修改配置為:
Listen 8080
DocumentRoot "/var/www/html/loganalyzer"
ErrorLog /var/log/httpd/loganalyzer/error.log
CustomLog /var/log/httpd/loganalyzer/access_log combined
重啟httpd: systemctl restart httpd

5、在瀏覽器上輸入日誌伺服器ip+埠號:
8
點選next 到step3:
10
配置後資料庫使用者及密碼,點選next。

step6:建立loganalyzer登入使用者:
11

step7:
13
點選next並登入即可完成初始化配置:

14

6、可以在網上搜索下載loganalyzer3.6.5 中文語言包並將解壓後的3個檔案放在/var/www/html/loganalyzer/lang下並重啟rsyslog即可使用loganalyzer中文介面:
16

7.在客戶端伺服器中/etc/rsyslog.conf檔案配置:
17
在#### RULES ####中新增配置:
@表示使用upd協議傳輸檔案,劃線部分為搭建的集中日誌伺服器ip.
也可以使用. @@ip 表示所有日誌檔案都傳輸至日誌伺服器

8、重新整理loganalyzer頁面就可看到客戶端伺服器的日誌資訊也被記錄到資料庫中,構建完成.

參考部落格:https://blog.csdn.net/cmzsteven/article/details/50413837