上一集是將log寫到純文字檔,但這樣子在日子久了之後,想看的意願會沒有,為了好管理,
設定讓 rsyslog 可以將記錄寫入到資料庫,再用圖形介面來查看維護系統記錄。
需求
1。rsyslog 需要安裝 mysql模組
2。loganalyzer 需要 apache, php, gd, mysql
環境是
apache 2
php 5.1
mysql 5.0
centos 5.5
安裝相關套件
yum install php httpd mysql-server php-mysql php-gd
yum install rsyslog-mysql
設定 mysql server 支援 utf8
vi /etc/my.cnf
[client]
default-character-set=utf8[mysqld]
init_connect=’SET NAMES utf8′
default-character-set=utf8
default-collation=utf8_general_ci
設定 rsyslog 可以將 log 寫入 mysql
安裝 rsyslog-mysql之後會有一個 createDB.sql
修改它加入 DEFAULT CHARSET=utf8;
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
) DEFAULT CHARSET=utf8;CREATE TABLE SystemEventsProperties
(
ID int unsigned not null auto_increment primary key,
SystemEventID int NULL ,
ParamName varchar(255) NULL ,
ParamValue text NULL
) DEFAULT CHARSET=utf8;
將它匯入資料庫
並建立一個使用者可以存取 Syslog
再編輯 /etc/rsyslog.conf
# 載入mysql模組
$ModLoad ommysql
# 將全部來源記錄記到mysql : 模組:主機,資料庫名,使用者,密碼
*.* :ommysql:localhost,Syslog,syslog,123456
安裝 loganalyzer
下載
wget http://download.adiscon.com/loganalyzer/loganalyzer-3.2.1.tar.gz
tar zxvf loganalyzer-3.2.1.tar.gz
cp -rp loganalyzer-3.2.1/src /var/www/html/loganalyzer
cp -rp loganalyzer-3.2.1/contrib/configure.sh /var/www/html/loganalyzer
cp -rp loganalyzer-3.2.1/contrib/secure.sh /var/www/html/loganalyzer
cd /var/www/html/loganalyzer
產生 config.php 檔,且讓apache可寫
sh configure.sh
瀏覽 http://ip/loganalyzer 透過介面設定
首先一定沒有config (是空的),所以點 here 去開始設定
next
next
next
到了資料庫設定的地方
Name of the Source (照預設)
Source Type 為 MYSQL Native
Select View (照預設)
Table type (照預設)
Database Host 為 localhost
Database Name 為 Syslog
Database Tablename 為 SystemEvents (因為 rsyslog 的createDB.sql是SystemEvents ,非 systemevents,注意大小寫)
Database User 為 syslog
Database Password 為 123456
Enable Row Counting (照預設)
next
finish
設定完後自動地就會把內容寫在config.php檔裡面了
這樣子 loganalyzer 就可以瀏覽了
安全性
為了安全,還要執行
sh secure.sh
及
移除 install.php
還要建立 htaccess 來使用帳密登入控管管理介面
編輯 /etc/httpd/conf.d/htaccess.conf
<Directory /var/www/html>
AuthName “Need Password”
AuthType Basic
AUthUserFile “/etc/httpd/conf.d/htpasswd”
require valid-user
</Directory>
建立帳密
htpasswd -c /etc/httpd/conf.d/htpasswd admin
留言