推薦-MySQL存儲日志并使用Loganalyzer作為前端展示

MySQL存儲日志并使用Loganalyzer作為前端展示


為什么要使用日志

在生產環境中我們可能需要一個較為完整的日志系統來查看運行中主機服務的狀態和所作出的操作,我們可以在較大型的網絡架構中使用ELK來實現對日志的收集、檢索、前端顯示,但是中小型架構中使用rsyslog足以對所有服務器的日志進行收集和檢索來達到實時分析數據流量的目的。

本文目標

使用rsyslog將兩臺主機的日志信息存儲到MySQL數據庫中,并且編譯安裝LoganalyzerMySQL中的日志信息使用httpd+php在前端進行展示。

實驗拓撲圖

blob.png

實驗環境

主機名 IP地址 負責
syslog.anyisalin.com 192.168.2.2 收集日志,MySQL
www.anyisalin.com 192.168.2.3 web
server1.anyisalin.com 192.168.2.4 正常使用

本文所有主機皆關閉SElinuxIPtables

實驗步驟

syslog主機上rsyslog設置

以下操作在 syslog.anyisalin.com 中執行

首先我們要安裝mysqlrsyslog連接mysql的驅動

[root@syslog ~]# yum install mysql-server rsyslog-mysql -y 
Loaded plugins: fastestmirror
Setting up Install Process

   #省略
Installed:
 rsyslog-mysql.x86_64 0:5.8.10-10.el6_6  
 mysql-server.x86_64 0:5.1.73-5.el6_7.1                                                                                                                                                  

Complete!

然后我們要修改rsyslog的配置文件,將下面兩項啟用

$ModLoad imudp
$UDPServerRun 514

再添加mysql的配置

$ModLoad ommysql

修改日志存放位置為MySQL 
vim編輯器進入末行模式進行替換

%s@./var\/log.*@:ommysql:192.168.2.2,Syslog,syslog,passwd@gi

重啟rsyslog服務

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

創建mysql用戶并賦予權限

mysql> GRANT ALL ON Syslog.* TO 'syslog'@'%' IDENTIFIED BY 'passwd';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

導入表

[root@syslog ~]# mysql -usyslog -ppasswd < /usr/share/doc/rsyslog-mysql-5.8.10/createDB.sql

Server1主機上rsyslog設置

以下操作在 server1.anyisalin.com 中執行

首先我們要修改rsyslog的配置文件 
vim編輯器進入末行模式進行替換

%s@./var\/log.*@\@192.168.2.2@gi

重啟rsyslog服務

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

測試是否成功

若水GIF截圖_2016年3月30日21點28分27秒.gif

syslog.anyisalin.com中查詢數據庫看是否記錄

mysql> select * from SystemEvents\G;
*************************** 1. row ***************************
               ID: 1
       CustomerID: NULL
       ReceivedAt: 2016-03-23 17:28:21
DeviceReportedTime: 2016-03-23 17:28:21
         Facility: 0
         Priority: 6
         FromHost: syslog
          Message: imklog 5.8.10, log source = /proc/kmsg started.
       NTSeverity: NULL
       Importance: NULL
      EventSource: NULL
        EventUser: NULL
    EventCategory: NULL
          EventID: NULL
  EventBinaryData: NULL
  省略。。。。

Web服務器配置

以下操作在 www.anyisalin.com 中執行

由于loganalzyer提供的動態網頁,所以我們要安裝httpdphp

[root@www ~]# yum install php-gd httpd php php-mysql -y | tail -n 10
 apr-util.x86_64 0:1.3.9-3.el6_0.1                                            
 apr-util-ldap.x86_64 0:1.3.9-3.el6_0.1                                        
 httpd-tools.x86_64 0:2.2.15-47.el6.centos.4                                  
 libedit.x86_64 0:2.11-4.20080712cvs.1.el6                                    
 mailcap.noarch 0:2.1.31-2.el6                                                
 php-cli.x86_64 0:5.3.3-46.el6_7.1                                            
 php-common.x86_64 0:5.3.3-46.el6_7.1                                          
 php-pdo.x86_64 0:5.3.3-46.el6_7.1                                            

Complete!

解壓loganalzyer程序包到/var/www/html中并配置

[root@www ~]# tar xf loganalyzer-3.6.4.tar.gz  -C /var/www/html/
[root@www ~]# cd /var/www/html/
[root@www html]# ls
loganalyzer-3.6.4
[root@www html]# cp -a loganalyzer-3.6.4/src/ log
cp -a loganalyzer-3.6.4/contrib/*.sh log/

[root@www html]# cd log
[root@www log]# chmod +x *.sh
[root@www log]# ./configure.sh
[root@www log]# ./secure.sh
[root@www log]# chmod 666 config.php

啟動httpd服務

[root@www log]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain n
ame, using www.anyisalin.com for ServerName                                                           [  OK  ]

訪問web頁面安裝loganalyzer

blob.png

一直下一步到下面的頁面,并按下面這樣輸入 

blob.png

一直下一步到最后點擊Finish 

blob.png

安裝完成,我們可以通過前端頁面查看多臺主機日志信息了 

blob.png

blob.png

總結

怎么樣?是不是很直觀的就能查看排版好且美觀的日志信息,再也不用面對繁雜的命令行接口了! 
作者: AnyISalIn 
感謝: MageEdu

原創文章,作者:Net18-AnyISalIn,如若轉載,請注明出處:http://www.www58058.com/13899

(0)
Net18-AnyISalInNet18-AnyISalIn
上一篇 2016-03-30 09:58
下一篇 2016-03-31 18:24

相關推薦

  • Linux計劃任務和進程

    一、進程管理 1.進程簡介 一個程序對應多個進程;一個進程對應一個程序。 2.進程狀態的查看與控制 查看進程狀態 w 查看個別用戶的進程 eg: w userName list-info JCPU: PCPU: WAHT: from: IDLE: 用戶空閑時間 load average: ps -aux -a: 顯示所有用戶的進程 -u:顯示用戶名和啟動時間…

    2017-09-09
  • week2

    一、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 常用工具cp mv rm cat tac head tail more less stat cp   cp SRC…DEST A. 如果SRC是文件: a. 如果目標不存在:新建DEST,并將SRC中的內容填充至DEST中。 b. 如果目標存在: (1). 如…

    Linux干貨 2016-11-06
  • TCP常見問題總結

    TCP協議和UDP協議的區別是什么 TCP協議是有連接的,有連接的意思是開始傳輸實際數據之前TCP的客戶端和服務器端必須通過三次握手建立連接,會話結束之后也要結束連接。而UDP是無連接的 TCP協議保證數據按序發送,按序到達,提供超時重傳來保證可靠性,但是UDP不保證按序到達,甚至不保證到達,只是努力交付,即便是按序發送的序列,也不保證按序送到。 TCP協議…

    Linux干貨 2017-09-02
  • 學習宣言

    生命太過于短暫,今天放棄了明天不一定能得到。

    Linux干貨 2016-10-27
  • 第二周博客作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 文件管理類命令:cp,mv,rm 常用的使用方法: cp命令: 單源復制: cp [OPTION]…[-T] SOURCE DEST 多源復制: cp [OPTION]… SOURCE …DIRECTORY cp [OPTION]… …

    Linux干貨 2017-02-06
  • ansible批量部署主從DNS

    什么是DNS服務DNS的解析流程分析遞歸查詢迭代查詢DNS相關的術語說明生產環境中的應用Bind9常見配置說明使用ansible自動部署主從DNS 什么是DNS服務 DNS(Domain Name Service)是Internet上用于名稱解析的服務,簡單來說,就是將域名轉換為IP地址的服務(正向解析),也可以用于將IP地址解析為對應的…

    Linux干貨 2016-06-29
欧美性久久久久