A simple syslog server in PERL
Collect syslogs to your database;
把大部分的SYSLOG都收錄到資料庫中
- logsrvmain.pl 收錄到資料庫主程式
- syslog2mrtg.pl 收錄筆數繪製MRTG
- logdb.sql 資料庫架構
需要PERL的套件
- use IO::Socket;
- use threads;
- use threads::shared;
- use DBI;
- use Text::Iconv;
- use Time::Local;
- use Time::Elapse;
- use Mail::Sendmail;
CREATE TABLE IF NOT EXISTS
manager(mIDmediumint(9) NOT NULL AUTO_INCREMENT,hostvarchar(32) COLLATE utf8_bin NOT NULL,mnamevarchar(12) COLLATE utf8_bin NOT NULL,createdDTdatetime NOT NULL, PRIMARY KEY (mID) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=4 ;
CREATE TABLE IF NOT EXISTS
perllogs(seqint(10) unsigned NOT NULL AUTO_INCREMENT,hostvarchar(32) COLLATE utf8_bin DEFAULT NULL,facilityvarchar(10) COLLATE utf8_bin DEFAULT NULL,priorityvarchar(10) COLLATE utf8_bin DEFAULT NULL,levelvarchar(10) COLLATE utf8_bin DEFAULT NULL,tagvarchar(4) COLLATE utf8_bin DEFAULT NULL,datedate DEFAULT NULL,timetime DEFAULT NULL,programvarchar(24) COLLATE utf8_bin DEFAULT NULL,msgtext COLLATE utf8_bin,createdDTdatetime NOT NULL, PRIMARY KEY (seq) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;