通過 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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...