續: http://ssorc.tw/?p=1194

上一集是將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

 

最後修改日期: 2011 年 04 月 19 日

作者

留言

撰寫回覆或留言

發佈留言必須填寫的電子郵件地址不會公開。