請使用LDAP單一帳號登入

很棒log伺服器(個資法自保)

台中市立外埔國民中學資訊組長 郭特全 2013.03

 

 

Attachments:
Download this file (很棒的Log伺服器.pdf)很棒的Log伺服器.pdf1052 kB
 

前言:

 

    新版個資法已施行,對於國民中小學網管人員來說,無疑是一項艱鉅挑戰,此時不妨嘗試架設一台日誌伺服器(Log Server),並且配合LogAnalyzer這套網頁呈現方式的Log分析軟體,來達成平時的日誌檔案收集及保存備份,日後若需要查詢時,便可立即提供。
    如此低成本建置費用和該有的功能性,以及可自行客製化的彈性,將不失為解決方案之一。

 

1001

 表列事件

 

2001

 圖表呈現(一)

 

3001

圖表呈現(二)

 

 

設定方法:

 

   網路上有一篇超詳細LogAnalyzer設定過程,本人自認無法超越他,所以請參考以下網址,本文文末還有一些我的設置歷程參考資料(http://www.netadmin.com.tw/article_content.aspx?sn=1205080005&jump=1),另請拜訪LogAnalyzer官方網站,相信要成功建立此(http://loganalyzer.adiscon.com/)伺服器不是難事。

 

 

經驗提醒 

各伺服器Log data傳到Log Server時,儲存在mysql資料庫,我曾某日用phpmyadmin 進去看大約一日的紀錄筆數,竟然高達16萬筆,不出一個禮拜,明顯感受到mysql DB效能降低,LogAnalyzer反應很慢。

為了改善此情況,crontab每日排程晚上11:59將當日資料庫匯出依日期備份,緊接著排程執行truncatetable.php 清空資料表,換句話說,mysql永遠只有一日資料,就可保證mysql和LogAnalyzer效能不減。

Log data平常備而不用,當真出問題時只要確認事件發生日,mysql重新匯入當日備份資料,就能以LogAnalyzer仔細分析。

將此Log Server硬碟CLONE三份,每半年停機換硬碟重新啟動,就能延長Log data保存期間。

 

參考資料:

1. 安裝LAMP環境

(apache 2.2 php5.3 mysql5.1)

# yum install httpd php mysql mysql-server php-mysql php-gd php-mbstring mod_ssl rsyslog rsyslog-mysql

# vi /etc/httpd/conf/httpd.conf

402行 DirectoryIndex index.html index.html.var 修改成--> DirectoryIndex index.html index.htm index.php index.html.var

# service mysqld start
# service httpd start

# chkconfig mysqld on
# chkconfig httpd on

 

CENTOS 6 預設沒 wget unzip 所以先YUM一下

# yum install wget

# yum install unzip

 

設定 mysql 密碼

# mysqladmin –u root password ‘xxxxxxxx

 

建立 Syslog 資料庫

# mysql -u root -p < $(rpm -ql rsyslog-mysql | grep sql$)

Syslog 資料庫權限設置

# mysql -u root -p -A mysql

mysql> grant all privileges on Syslog.* to logger@localhost identified by 'loggerspasswd';
mysql> flush privileges;
mysql> exit

編輯 rsyslog.conf

# vi /etc/rsyslog.conf

#### MODULES #### 下一列加入
$ModLoad ommysql.so

取消以下內容的註解符號
$ModLoad imudp.so
$UDPServerRun 514

#### RULES #### 下一列加入:
*.* :ommysql:127.0.0.1,Syslog,logger,loggerspasswd

重新啟動 rsyslog 服務

# service rsyslog restart

 

備註SFS(centos5)如何傳遞 Syslog 記錄給 Log Server  

於學務系統主機

#vi /etc/syslog.conf

最後加入

*.* @xxx.xxx.xxx.xxx (Log server 的IP)

# service syslog restart

#service network restart

讓其他的 Linux Server(centos6) 傳遞 Syslog 記錄給 Log Server

# vi /etc/rsyslog.conf

最後加入

*.* @xxx.xxx.xxx.xxx (Log server 的IP)

# service rsyslog restart

#service network restart

 

下載 LogAnalyzer 套件及初始化前置作業

# wget http://download.adiscon.com/loganalyzer/loganalyzer-3.4.5.tar.gz

# tar zxvf loganalyzer-3.4.5.tar.gz

# rm –f loganalyzer-3.4.5.tar.gz

# cd loganalyzer-3.4.5./src

# cp –r * /var/www/html/

# cd /var/ww   w/html/  

# chown –R apache.apache *

# touch config.php
# chmod 666 config.php
開啟瀏覽器連入 http://log>serverIP, 開始進行 LogAnalyzer 初始化設置

Step 3 - Basic Configuration:

  • Enable User Database: Yes
  • Database Name: Syslog
  • Database User: logger
  • Database Password: loggerspasswd
  • Require user to be logged in: Yes

Step 7 - Create the first source for syslog messages

  • Source Type: MYSQL Native
  • Database Name: Syslog
  • Database Tablename: SystemEvents
  • Database User: logger
  • Database Password: loggerspasswd
  • Enable Row Counting: No (for better performance)

安裝後的安全處理

# chmod 644 /var/www/LogAnalyzer/config.php
# chmod 400 /var/www/LogAnalyzer/install.php

 

 

 

 

/etc/crontab 內容

10 0 * * * root /usr/sbin/ntpdate time.stdtime.gov.tw; /usr/sbin/hwclock -w

40 5 * * * root yum -y update && yum clean packages

58 23 * * * root /root/backup.sh

1 0 * * * root php /root/truncatetable.php

 

 

/root/backup.sh內容

backup_dir="/home/xxxx/xxxxx"

sub_dir="20"`date '+%y%m%d'`

cd $backup_dir

mkdir $sub_dir

chown xxxx:xxxx $sub_dir

databasename="Syslog"

rootpassword="xxxxxxxx"

sqlfilename="log-sql-20"`date '+%y-%m-%d'`.sql

mysqldump $databasename > $backup_dir/$sub_dir/$sqlfilename -uroot -p$rootpassword

zip $backup_dir/$sub_dir/$sqlfilename.zip $backup_dir/$sub_dir/$sqlfilename

rm -rf $backup_dir/$sub_dir/$sqlfilename

 

 

/root/truncatetable.php內容

 

<?php

$db_host = "localhost";

$db_user = "root";

$db_pass = "xxxxxxxxx";

$db_name = "Syslog";

$connect = @mysql_connect($db_host,$db_user,$db_pass);

@mysql_select_db($db_name);

 

// Empty table

$query = "TRUNCATE TABLE SystemEvents";

mysql_query($query);

?>


LogAnalyzer 如何更新? (20130701補充說明)

1.如何得知有新版本?

  以瀏覽器登入 LogAnalyzer 後按 Admin Center 若有新版本釋出就會顯示新舊版本號碼

2.為防止意外發生先將 LogAnalyzer 內的 config.php (注意權限666此檔記錄連結MYSQL的參數)備份出來新版本 download 下來解壓縮後將 src 資料夾內容取代原先 LogAnalyzer 的內容 最後確認config.php存在及權限無誤即可

3.千萬不要一開始整個刪除 LogAnalyzer 也沒備份config.php直接使用新版那就得重新走 install 流程

 

 

 

反霸凌、性侵害、性騷擾投訴信箱 :

No_Bully@wpjh.tc.edu.tw

受理本校學生、師長、家長,媒體及

民眾申訴或諮詢有關暴力霸凌、詐騙案件。

投訴專線 : (04)26833721 分機 222

本市反霸凌申訴專線電話為0800-580-995

教育部反霸凌專線:0800-200-885

學校資訊

電話:04-2683-3721

【處室分機】

傳真:04-2683-3759

網路電話:070-910-5330

校址:

43857 臺中市外埔區大同里外埔路999號

【位置圖】

GPS資訊

北緯:(24.332599)

東經:(120.649367)

網站維護 : 外埔國中資訊組 (04)26833721 #231

Thursday the 2nd. PointLink.