通過 loganalyzer 展示資料庫中的系統日誌

来源:https://www.cnblogs.com/www233ii/archive/2019/12/17/12056795.html
-Advertisement-
Play Games

通過 loganalyzer 展示資料庫中的日誌 [toc] 環境準備 三台主機 一臺日誌伺服器,利用上一個案例實現,IP:192.168.39.7, 一臺資料庫伺服器,利用上一個案例實現,IP:192.168.39.27, 一臺當httpd+php 伺服器,並安裝loganalyzer展示web圖 ...


目錄

通過 loganalyzer 展示資料庫中的日誌

環境準備

三台主機
    一臺日誌伺服器,利用上一個案例實現,IP:192.168.39.7,
    一臺資料庫伺服器,利用上一個案例實現,IP:192.168.39.27,
    一臺當httpd+php 伺服器,並安裝loganalyzer展示web圖形,IP:192.168.39.77
    
    日誌伺服器工具  loganalyzer-4.1.8.tar.gz

準備伺服器:

# 日誌伺服器
[root@centos7 ~]$hostname rsyslog
[root@centos7 ~]$exit
[root@rsyslog ~]$
# 資料庫伺服器
[root@centos7 ~]$hostname mysql
[root@centos7 ~]$exit
[root@mysql ~]$
# websrv伺服器
[root@centos ~]# hostname websrv
[root@centos ~]# exit
[root@websrv ~]$

日誌伺服器:

  1. 在rsyslog伺服器上安裝連接mysql模塊相關的程式包
[root@rsyslog ~]$yum install rsyslog-mysql -y
  1. 找到sql腳本發送到資料庫
# 下載輔助軟體查找
[root@rsyslog ~]$yum install mlocate
[root@rsyslog ~]$updatedb   # 更新資料庫信息
[root@rsyslog ~]$locate mysql-createDB.sql   # 使用locatedb查找腳本文件存放路徑
/usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql

[root@rsyslog ~]$cat /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql   # 腳本文件內容
CREATE DATABASE Syslog;
USE Syslog;
CREATE TABLE SystemEvents
(
        ID int unsigned not null auto_increment primary key,
        CustomerID bigint,
        ReceivedAt datetime NULL,
        DeviceReportedTime datetime NULL,
        Facility smallint NULL,
        Priority smallint NULL,
        FromHost varchar(60) NULL,
        Message text,
        NTSeverity int NULL,
        Importance int NULL,
        EventSource varchar(60),
        EventUser varchar(60) NULL,
        EventCategory int NULL,
        EventID int NULL,
        EventBinaryData text NULL,
        MaxAvailable int NULL,
        CurrUsage int NULL,
        MinUsage int NULL,
        MaxUsage int NULL,
        InfoUnitID int NULL ,
        SysLogTag varchar(60),
        EventLogType varchar(60),
        GenericFileName VarChar(60),
        SystemID int NULL
);

CREATE TABLE SystemEventsProperties
(
        ID int unsigned not null auto_increment primary key,
        SystemEventID int NULL ,
        ParamName varchar(255) NULL ,
        ParamValue text NULL
);

[root@rsyslog ~]$scp /usr/share/doc/rsyslog-8.24.0/mysql-createDB.sql 192.168.39.27:/root  # 發送到資料庫伺服器
The authenticity of host '192.168.39.27 (192.168.39.27)' can't be established.
ECDSA key fingerprint is SHA256:XVNFzEbN3eaCzTwYrlQg2SzHZXHbd0dS0YKLuIOXVr0.
ECDSA key fingerprint is MD5:df:4d:86:ba:0c:e6:c1:a2:6c:45:71:e9:ac:ea:1d:a5.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.39.27' (ECDSA) to the list of known hosts.
[email protected]'s password: 
mysql-createDB.sql                            100% 1046   588.1KB/s   00:00    
  1. 修改配置文件啟動服務模塊並且寫如資料庫信息(用於給資料庫伺服器發送日誌信息)
# The imjournal module bellow is now used as a message source instead of imuxsock.
$ModLoad ommysql   # 添加這一行

# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
*.info;mail.none;authpriv.none;cron.none                :ommysql:192.168.39.27,Syslog,syslog,taotaobao
#配置rsyslog將日誌保存到mysql中
[root@centos8 ~]#vim /etc/rsyslog.conf
####MODULES####
#在 MODULES 語言下麵,如果是 CentOS 8 加下麵行
module(load="ommysql")
#在 MODULES 語言下麵,如果是 CentOS 7,6 加下麵行
$ModLoad ommysql

資料庫伺服器:

  1. 安裝資料庫
[root@mysql ~]$yum install mariadb-server -y

[root@mysql ~]$systemctl start mariadb.service 
  1. 執行考過來的腳本
[root@mysql ~]$mysql <
anaconda-ks.cfg     .cshrc              .tcshrc
.bash_history       ifcfg-eth0          .viminfo
.bash_logout        init_env_191113.sh  .vimrc
.bash_profile       mysql-createDB.sql  
.bashrc             .pki/               
[root@mysql ~]$mysql < mysql-createDB.sql   # 直接導入資料庫
  1. 創建Syslog庫使用的賬號
[root@mysql ~]$mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 3
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> grant all on Syslog.* to syslog@'192.168.39.%' identified by 'taotaobao';  # 註意這裡的資料庫名要對應執行的sql腳本里的資料庫名。
Query OK, 0 rows affected (0.00 sec)

測試日誌伺服器和資料庫是否連接:

  • 資料庫端查看Syslog庫沒啟動服務之前是空的
MariaDB [Syslog]> show tables;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)

MariaDB [Syslog]> 

MariaDB [Syslog]> SELECT COUNT(*) FROM SystemEvents;
+----------+
| COUNT(*) |
+----------+
|        0 |
+----------+
1 row in set (0.00 sec)
  • 啟動rsyslog服務
[root@rsyslog ~]$systemctl restart rsyslog.service

[root@rsyslog ~]$logger "this is a test log" # 日誌伺服器觸發日誌(logger觸發日誌命令)
  • 查看資料庫是否有數據(可以多測試幾遍)
MariaDB [Syslog]> SELECT COUNT(*) FROM SystemEvents;
+----------+
| COUNT(*) |
+----------+
|        8 |
+----------+
1 row in set (0.00 sec)

websrv伺服器端:

  1. 解壓縮工具
[root@websrv ~]# ll
-rw-r--r--  1 root root 2943754 Oct 10 13:04 loganalyzer-4.1.8.tar.gz # web界面日誌服務工具包
[root@websrv ~]# tar xvf loganalyzer-4.1.8.tar.gz
  1. 安裝需要的服務實現LAMP架構
# 註意這裡的php版本一定要是在5.6版本相同或以上要不這個軟體不支持
[root@websrv ~]# yum install httpd php56-php-fpm.x86_64 php56-php-mysqlnd.x86_64 -y
  1. 把loganalyzer需要的目錄切到網站目錄下
[root@websrv loganalyzer-4.1.8]# ll
total 100
drwxrwxr-x 13 root root 4096 Sep 26 23:41 src
-rw-rw-r-- 1 root root 48571 Sep 26 23:41 ChangeLog
drwxrwxr-x 2 root root    43 Sep 26 23:41 contrib
-rw-rw-r-- 1 root root 35497 Sep 26 23:41 COPYING
drwxrwxr-x 3 root root   258 Sep 26 23:41 doc
-rw-rw-r-- 1 root root  8449 Sep 26 23:41 INSTALL

[root@websrv loganalyzer-4.1.8]# mv src/ /var/www/html/log  # 切到網站目錄下

[root@websrv loganalyzer-4.1.8]# ll /var/www/html/
total 4
drwxrwxr-x 13 root root 4096 Sep 26 23:41 log

# 修改所有者為apache
[root@websrv loganalyzer-4.1.8]# cd /var/www/html/
[root@websrv html]# chown -R apache.apache log/
  1. 修改httpd配置文件支持php-fpm
# 添加index.php
<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

# 找到這個模塊位置,添加中間三行內容。
<IfModule mime_module>
    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps
    ProxyRequests Off
</IfModule>
  1. 創建調用模塊文件(或者理解為反向代理)
[root@websrv html]# vim /etc/httpd/conf.d/fcgi.conf
Directoryindex index.php
Proxyrequests off
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1
第4、5這兩項的配置在centos7上要加。centos8是預設配置好的不用修改。
  1. web界面測試
    在這裡插入圖片描述
  • 進行檢測
    在這裡插入圖片描述
  • 這裡如果錯了可能會顯示沒有用於寫的文件
    在這裡插入圖片描述
  • 解決方法(是缺少這個文件導致的)
[root@websrv html]# cd log/
[root@websrv log]# pwd
/var/www/html/log
[root@websrv log]# touch config.php  # 創建這個文件
[root@websrv log]# chmod 666 config.php # 給這個文件所有人可讀和可寫許可權(根據工作需求更改)
  • 這些信息是最後顯示的日誌格式是什麼樣的
    在這裡插入圖片描述
  • 填寫資料庫的信息
    在這裡插入圖片描述
  • 查看添加的表名
[root@centos7 ~]$mysql
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 8
Server version: 5.5.60-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]> 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
MariaDB [Syslog]> show tables;
+------------------------+
| Tables_in_Syslog       |
+------------------------+
| SystemEvents           |   # 這個表是作為存儲日誌信息使用的
| SystemEventsProperties |
+------------------------+
2 rows in set (0.00 sec)
  • 成功
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 查看報告書界面(但是沒有餅狀圖不清晰)
    在這裡插入圖片描述
[root@websrv html]# yum install php56-php-gd.x86_64 -y  # 支持畫餅狀圖的包
[root@websrv html]# systemctl restart httpd.service php56-php-fpm.service  # 重啟服務
  • 刷新web界面(這樣就會產生比較清晰的餅狀圖)
    在這裡插入圖片描述

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 開啟ssh服務需要root許可權,先用root賬戶登陸 先檢查有沒有安裝ssh服務:rpm -qa | grep ssh 如果沒有安裝ssh服務就安裝 : yum install openssh-server 安裝好後在ssh配置文件里進行配置 : vim /etc/ssh/sshd_config 按 ...
  • 看到很多開發.net core的初學者在安裝的時候就陷入問題了,不知道安裝那些東西,好吧,既然要分享知識那麼就儘量做得精細一點吧,我決定從零開始為大家講解.net core,同時有.net core工作經驗的開發者也可以挑自己需要的看。 Visual Studio2019和.Net Core 3.0 ...
  • 在上一篇文章abp(net core)+easyui+efcore實現倉儲管理系統——ABP WebAPI與EasyUI結合增刪改查之三(二十九) 中實現了組織管理的列表頁面。在今天我們學習如何新增組織部門信息。 ...
  • 原創。 環境:visual studio 2019 ,.net framwork 4.0 問題: 1、新建Linq to SQL類後(.dbml文件),從伺服器資源管理面板中資料庫連接中,把表MillRecord托放進這個文件中後,一切正常,效果如下: 2、新建一個頁面,拖放一個LinqDataSo ...
  • [toc] 前言 不知不覺可都快又一年了,最近這段時間一直在忙著圖形方面的東西(確實快給我搞死了),雖說時間還是相對有的,但是精力耗費的十有十一,把問題記錄單開一欄,是為了後續記錄使用中遇到的問題及相應的解決方法。 Log4net 關於這個日誌記錄類庫,我也不需要多說,具體配置可見: "net co ...
  • Microsoft Ignite The Tour 是一年一度微軟為全球開發者、IT專家、安全專家以及數據專家提供的為期兩天,包含眾多核心產品的實踐性技術培訓。2019.12.10-2019.12.11 已經在北京國家會議中心勝利閉幕,我作為一名Speaker 參與了兩門課程的分享,但是我發現了一個... ...
  • 本文章,主要是用來索引經常使用的網站,便於日常查找: https://www.google.com/ https://github.com/ https://www.cnblogs.com/xuyaowen https://www.v2ex.com/ https://stackoverflow.co ...
  • 電機是重要的執行機構,可以將電轉轉化為機械能,從而驅動北控設備的轉動或者移動,在我們的生活中應用非常廣泛。例如,應用在電動工具、電動平衡車、電動園林工具、兒童玩具中。直流電機的實物圖如下圖所示。 1-直流電機實物圖 對於普通的直流電機,在其兩個電極上接上合適的直流電源後,電機就可以滿速轉動,電源反接 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...