一、LogAnalyzer介紹
LogAnalyzer工具提供了一個易於使用,功能強大的前端,用於搜索,查看和分析網絡活動數據,包括系統日志,事件日志和其他許多日志源。由於它只是將數據展示到我們用戶的面前,所以數據本身需要由另一個程序收集,比如syslogd,rsyslog(現在是發行版的默認的syslogd),WinSyslog或MonitorWare代理。LogAnalyzer同樣適用於Linux和Windows。它主要是用PHP編寫的自由軟件,基於GPL的開源應用程序。數據可以從數據庫,也可以從純文本文件而獲得。
本案例規划圖:
二、在rsyslog服務器上部署 LAMP環境。
1.安裝httpd
[root@rsyslog ~]# yum install httpd -y [root@rsyslog ~]# systemctl start httpd [root@rsyslog ~]# systemctl enable httpd
2.安裝mysql
[root@rsyslog ~]# yum install mysql mysql-server -y [root@rsyslog ~]# systemctl start mariadb [root@rsyslog ~]# systemctl enable mariadb Created symlink from /etc/systemd/system/multi-user.target.wants/mariadb.service to /usr/lib/systemd/system/mariadb.service. [root@rsyslog ~]# mysqladmin -u root password 'rsyslog.ppp'
測試下登陸,無問題后,安裝php
3.安裝php
[root@rsyslog ~]# yum install php php-mysql php-gd -y [root@rsyslog ~]# cat /var/www/html/test.php <?php phpinfo(); ?>
打開客戶端瀏覽器,進行訪問測試http://192.168.30.67/test.php
4.安裝rsyslog,並加入開機啟動
[root@rsyslog ~]# wget -O /etc/yum.repos.d/rsyslog.repo http://rpms.adiscon.com/v8-stable/rsyslog.repoc [root@rsyslog ~]# yum install rsyslog-* --skip-broken -y [root@rsyslog ~]# systemctl enable rsyslog
5.rsyslog建庫腳本,路徑在/usr/share/doc/rsyslog-mysql-8.18.0/createDB.sql,現在我們登陸數據庫創建個rsyslogdb庫,並導入建庫腳本
[root@rsyslog ~]# more /usr/share/doc/rsyslog-mysql-8.18.0/createDB.sql CREATE DATABASE rsyslogdb; USE rsyslogdb; [root@rsyslog ~]# mysql -uroot -p < /usr/share/doc/rsyslog-mysql-8.18.0/createDB.sql Enter password:
登陸測試一下庫建好了沒
[root@rsyslog ~]# mysql -uroot -p rsyslogdb Enter password: .... MariaDB [rsyslogdb]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | rsyslogdb | +--------------------+ 4 rows in set (0.00 sec) 創建用戶並授權 MariaDB [rsyslogdb]> GRANT ALL ON rsyslogdb.* TO rsyslogdbadmin@localhost IDENTIFIED BY 'rsyslog.ppp'; Query OK, 0 rows affected (0.00 sec) MariaDB [rsyslogdb]> flush privileges; Query OK, 0 rows affected (0.00 sec) MariaDB [rsyslogdb]> exit 最后測試下該用戶的登陸 [root@rsyslog ~]# mysql -ursyslogdbadmin -p rsyslogdb
6.修改rsyslog.conf文件,修改后如下:

重啟rsyslog 服務,現在登陸mysql 進行驗證。
MariaDB [rsyslogdb]> use rsyslogdb Database changed MariaDB [rsyslogdb]> select count(*) from SystemEvents; +----------+ | count(*) | +----------+ | 44 | +----------+ 1 row in set (0.00 sec) MariaDB [rsyslogdb]> select * from SystemEvents where ID=1\G; *************************** 1. row *************************** ID: 1 CustomerID: NULL ReceivedAt: 2016-05-10 15:11:19 DeviceReportedTime: 2016-05-10 15:11:19 Facility: 5 Priority: 6 FromHost: rsyslog Message: [origin software="rsyslogd" swVersion="8.18.0" x-pid="3902" x-info="http://www.rsyslog.com"] start NTSeverity: NULL Importance: NULL EventSource: NULL EventUser: NULL EventCategory: NULL EventID: NULL EventBinaryData: NULL MaxAvailable: NULL CurrUsage: NULL MinUsage: NULL MaxUsage: NULL InfoUnitID: 1 SysLogTag: rsyslogd: EventLogType: NULL GenericFileName: NULL SystemID: NULL 1 row in set (0.00 sec) ERROR: No query specified
三、部署LogAnalyzer
1.下載
[root@rsyslog ~]# wget -c http://download.adiscon.com/loganalyzer/loganalyzer-3.6.6.tar.gz 解壓 [root@rsyslog ~]# tar zxvf loganalyzer-3.6.6.tar.gz 復制文件到 [root@rsyslog ~]# cp -r loganalyzer-3.6.6/src/ /var/www/html/loganalyzer [root@rsyslog ~]# cp -r loganalyzer-3.6.6/contrib/* /var/www/html/loganalyzer/ 進入到loganalyzer 程序中,將以下腳本賦予執行權限 [root@rsyslog ~]# cd /var/www/html/loganalyzer/ [root@rsyslog loganalyzer]# chmod +x configure.sh secure.sh 運行configure.sh,將創建一個空白的config.php配置文件 [root@rsyslog loganalyzer]# ./configure.sh
2.打開瀏覽器訪問 http://192.168.30.67/loganalyzer 安裝界面,如下,會有一個error,選擇here
選擇here進行安裝
選擇next
驗證config文件,就是我們上一不運行configure.sh 生成的文件
基本配置里,填寫數據庫連接信息
創建表,直接選擇next
檢查沒有失敗的狀態。繼續下一步
創建一個rsyslog的web管理用戶,名字叫rsyslog
檢查詳細信息
此處,source type 需要修改成mysql native 源,隨后填寫mysql相關信息,注意(Database Tablename 處我寫填寫錯誤,正確應該是SystemEvents)
完成后,下一步就是登陸loganalyzer了。
輸入rsyslog,及設定的密碼。
在這里,可以看到最后rsyslog server 收集到的日志,已經展示在首頁了。