通過 loganalyzer 展示資料庫中的日志
目錄- 通過 loganalyzer 展示資料庫中的日志
- 環境準備
- 準備服務器:
- 日志服務器:
- 資料庫服務器:
- 測驗日志服務器和資料庫是否連接:
- websrv服務器端:
- 環境準備
環境準備
三臺主機
一臺日志服務器,利用上一個案例實作,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 ~]$
日志服務器:
- 在rsyslog服務器上安裝連接mysql模塊相關的程式包
[root@rsyslog ~]$yum install rsyslog-mysql -y
- 找到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
- 修改組態檔啟動服務模塊并且寫如資料庫資訊(用于給資料庫服務器發送日志資訊)
# 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
資料庫服務器:
- 安裝資料庫
[root@mysql ~]$yum install mariadb-server -y
[root@mysql ~]$systemctl start mariadb.service
- 執行考過來的腳本
[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 # 直接匯入資料庫
- 創建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服務器端:
- 解壓縮工具
[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
- 安裝需要的服務實作LAMP架構
# 注意這里的php版本一定要是在5.6版本相同或以上要不這個軟體不支持
[root@websrv ~]# yum install httpd php56-php-fpm.x86_64 php56-php-mysqlnd.x86_64 -y
- 把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/
- 修改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>
- 創建呼叫模塊檔案(或者理解為反向代理)
[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是默認配置好的不用修改,
- 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界面(這樣就會產生比較清晰的餅狀圖)

轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/146885.html
標籤:Linux
上一篇:安全運維之賬戶安全與服務
