rsyslog簡介:
在CentOS上rsyslog服務專門負責記錄系統日誌資訊(更早的版本系統使用的是syslog,rsyslog是syslog的下一代版本),rsyslog有三部分組成:syslogd,klogd,logrotate
syslogd主要記錄系統與網路等服務的日誌資訊;
klogd主要記錄核心產生的各項資訊;
logrotate主要用來對記錄檔進行切割迴圈記錄;
mysql簡介:
MySQL是一個關係型資料庫管理系統,在 WEB 應用方面MySQL是最好的 RDBMS (Relational Database Management System,關聯式資料庫管理系統) 應用軟體之一。
MySQL是一種關聯資料庫管理系統,關聯資料庫將資料儲存在不同的表中,而不是將所有資料放在一個大倉庫內,這樣就增加了速度並提高了靈活性。
MySQL 軟體由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。由於其效能卓越,搭配 PHP 和 Apache 可組成良好的開發環境
LogAnalyzer簡介:
LogAnalyzer 是一款syslog日誌和其他網路事件數目據的Web前端。它提供了對日誌的簡單瀏覽、搜尋、基本分析和一些圖表報告的功能。資料可以從資料庫或一般的syslog文字檔中擷取,所以LogAnalyzer不需要改變現有的記錄架構。基於當前的日誌資料,它可以處理syslog日誌訊息,Windows事件記錄記錄,支援故障排除,使使用者能夠快速尋找日誌資料中看出問題的解決方案。
LogAnalyzer 擷取用戶端日誌會有兩種儲存模式,一種是直接讀取用戶端/var/log/目錄下的日誌並儲存到服務端該目錄下,一種是讀取後儲存到Log Service器資料庫中,推薦使用後者。
LogAnalyzer 採用php開發,所以Log Service器需要php的運行環境,本文採用LAMP。
系統內容:
防火牆關閉
SElinux關閉
CentOS7.2
httpd-2.4.6-40.el7.centos.x86_64
mariadb-server-5.5.44-2.el7.centos.x86_64
php-5.4.16-36.el7_1.x86_64
php-mysql-5.4.16-36.el7_1.x86_64
rsyslog-7.4.7-12.el7.x86_64
loganalyzer-3.6.5
配置LAMP環境
第一步:安裝相關包
# yum -y install httpd php php-mysql mariadb-server php-gd
第二步:安裝完成後,各項相關配置
①啟動httpd服務:
[root@centos7 ~]# systemctl start httpd
②MySQL額外添加的配置項:
跳過名稱解析
[root@centos7 ~]# vim /etc/my.cnf
[mysqld]
...
skip_name_resolve = ON
innodb_file_per_table=ON
③啟動mysql
[root@centos7 ~]# systemctl start mariadb.service
查看是否開啟:
[root@centos7 ~]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 50 *:3306 *:*
預設的管理使用者為:root,密碼為空白;首次安裝後建議使用mysql_secure_installation命令進行安全設定;
④[root@centos7 ~]# mysql_secure_installation
使用命令“mysql -u使用者名稱 -p密碼”即可登入,
⑤重啟HTTP服務
[root@centos7 ~]# systemctl start httpd
安裝伺服器端程式:
(1) 安裝rsyslog串連至mysql server的驅動模組;
[root@centos7 ~]# yum -y install rsyslog-mysql
查看 rsyslog-mysql包產生哪些檔案
[root@centos7 ~]# rpm -ql rsyslog-mysql.x86_64
/usr/lib64/rsyslog/ommysql.so
/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
查看檔案“/usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql”
CREATE DATABASE Syslog;
USE Syslog;
CREATE TABLE SystemEvents
。。。
CREATE TABLE SystemEventsProperties
。。。
可以看到這個檔案是在資料庫中定義了兩張表
(2) 在mysql server準備rsyslog專用的使用者帳號;
[root@centos7 ~]#mysql -u使用者名稱 -p密碼
MariaDB [(none)]> GRANT ALL ON Syslog.* TO 'rsyslog'@'127.0.0.1' IDENTIFIED BY 'rsyslogpass';
Query OK, 0 rows affected (0.00 sec)
MariaDB [(none)]> FLUSH PRIVILEGES
Query OK, 0 rows affected (0.00 sec)
(3) 產生所需要的資料庫和表;
[root@centos7 ~]# mysql -ursyslog -h127.0.0.1 -prsyslogpass < /usr/share/doc/rsyslog-7.4.7/mysql-createDB.sql
(4) 配置rsyslog使用ommysql模組
[root@centos7 ~]# vim /etc/rsyslog.conf
在 MODULES 模組中添加
$ModLoad ommysql
(5) 配置RULES,將所期望的日誌資訊記錄於mysql中;
在RULES模組中添加:
*.* :ommysql:127.0.0.1,Syslog,rsyslog,rsyslogpass
(6) 重啟rsyslog服務;
[root@centos7 ~]# systemctl restart rsyslog.service
(7) 安裝loganalyzer
①首先擷取loganalyzer
http://download.adiscon.com/loganalyzer/loganalyzer-3.6.5.tar.gz
②解壓縮,並進行相關配置
# tar -xf loganalyzer-3.6.5.tar.gz
# cd loganalyzer-3.6.5/
# cp -a src /var/www/html/loganalyzer
# cd /var/www/html
# ln -sv loganalyzer log
# cd log
# touch config.php
# chmod 666 config.php
在瀏覽器安裝嚮導中安裝LogAnalyzer,開啟瀏覽器訪問"伺服器位址/log"