第五章 系統實作、評估與比較
6.2 未來研究方向
1.利用所收集到的資料作為基礎,加入自我學習的機制。
本系統提供收集主機所產生的系統紀錄檔資料,包含主機軟硬體 認證 錯誤等等資訊..。未來希望能將這些資料經過有效率的學習 機制,使得系統能在事件發生前就能先提出警訊,讓本系統之管 理功能更趨完善。
2.增加更多平台的主機支援。
由於現有的環境中並無 FreeBSD 的作業系統平台的主機,所 以目前暫時無法確定是否可在該系統上執行,希望未來能補上對 該系統的支援。
3.增加自動直接處理的功能。
另外由於時間上的關係本系統尚無法直接對 Agent 端異常的 process 作處理,也希望將來能加上此功能,使整個管理系統更 趨完善。
參考文獻
[1] The OpenNMS Project,http://www.opennms.org
[2] Jill Huntington-Lee, Kornel Terplan, Jeffrey A. Gibson. “ HP OpenView /a manager's guide ”,McGraw-Hill,c1997.
[3] Srinivasan, Sriram “Advanced perl programming”, ,O'reilly &
Associates,c1997
[4] Micah Brown, Chris Bellew, Dan Livingston. “Essential Perl 5 for Web professionals”, Upper Saddle River, NJ :Prentice Hall PTR,c1999.
[5] Tom Christiansen and Nathan Torkington. “ Perl cookbook”, O'Reilly &
Associates,c1998.
[6] Martin C. Brown. “ Perl programmer's reference”, McGraw-Hill,c1999.
[7] Phil Hanna. “JSP :the complete reference”, McGraw-Hill,c2001
[8] Bob DuCharme, “The operating systems handbook /UNIX, OpenVMS, OS”,McGraw-Hill/c1994.
[9] Cameron Newham and bill Rosenblatt, “Learning the bash shell /UNIX shell programming”, O'Reilly & Associates, Inc.,c1995
[10] David Tansley. , “Linux and Unix shell programming”, Addison-Wesley,2000.
[11] The NET-SNMP Project, http://net-snmp.sourceforge.net/
[12] William Stallings,"SNMP and SNMPv2:The Infrastructure for Network Management,"IEEE Communications,Vol.36,No.3,March 1998,p37-45 [13] The SYSSTAT Utilities,
http://perso.wanadoo.fr/sebastien.godard/
[14] The CIM Project, http://www.dmtf.org [15] The CPAN Project, http://www.cpan.org
[16] Java Server Pages Technology ,http://java.sun.com/products/jsp/
[17] Yutaka Nakamura, Shinji Shimojo, Suguru Yamaguchi, Eiji Kawai, and Hideki Sunahara, "Development of a WWW Server Management
Support System," Applications and the Internet (SAINT) Workshops, 2002. Proceedings. 2002 Symposium on, Feb. 2002, pp. 99-106.
[18] Oracle,http://www.oracle.com/index.html [28] DeRoest, James W.著/劉祖亮,陳季雍譯, “AIX RS.6000 完全系統管理
手冊”, 麥格羅.希爾,民 86
[29] Spalding, George 著/吳東賢譯, “Windows 2000 系統管理徹底研究”, 麥格羅.希爾,民 90
[30] Blank-Edelman, David N.著/蔡憶懷,蔣大偉,林長毅譯, “多平台環境系 統管理”, 歐萊禮,民 90
[31] 毛元君.梁竹柳著, “新洞悉 UNIX--系統管理篇”, 和碩科技,民 86 [32] Carter, Gerald 著/蔣大偉譯, “LDAP 系統管理”, 歐萊禮,民 92
[33] Veeraraghavan, Sriranga 著/陳清豪,廖家鋒譯, “即學活用 Shell Programming”, 博碩,民 90
[34] 林存德著, “Oracle 9i 資料庫管理指南”, 旗標,民 91
[35] Adkoli, Anand & Velpuri, Rama 著/何致億,潘得龍譯/(一)/系統管理手 冊, “Oracle9i Windows 系列”, 麥格羅.希爾,民 91
[36] Mishra, Sanjay & Beaulieu, Alan 著/艾瑞克譯, “精通 Oracle SQL”, 歐 萊禮,民 92
附錄一
SQL*Loader Example
### perf_cpu.data ####
utrvrd03,2005/06/26,00:02:00,0,0,0,1 utrvrd03,2005/06/26,00:04:00,0,1,0,1 utrvrd03,2005/06/26,00:06:00,0,1,0,1 utrvrd03,2005/06/26,00:08:00,0,0,0,1 utrvrd03,2005/06/26,00:10:00,0,0,0,1 utrvrd03,2005/06/26,00:12:00,0,0,0,1 utrvrd03,2005/06/26,00:14:00,0,0,0,1
### load_cpu.ctl ####
#### load_cpu.log ####
附錄二
#### perl http post example ####
use Net::HTTP::NB;
sub request_server {
my($method,$url,$content) = @_;
logger("beg> request server","DEBUG");
my($server,$port)=get_activeserver();
if ("$server" eq "0") {
logger("request_server: Sorry !! No available server!!","ERROR");
logger("<end request server","DEBUG");
return;
logger("<end request server","DEBUG");
return ($rt,$buff);
}
logger("<end request server","DEBUG");
return ($rt,$buff);
} }
sub st_check_sys_time {
my $btm = time;
my($rt,$buff,$subname,$ltm);
$subname = "st_check_sys_time";
($rt, $buff) = request_server("POST",
"$g_urlroot/st_check_sys_time.jsp", "X=0");
my $atm = time;
附錄三
### perl ftp example #####
my($g_ftpserver,$g_ftpuser,$g_ftppwd,$g_os,$g_hostname);
$g_ftpserver = "192.168.1.2";
$g_ftpuser = "ftp";
$g_ftppwd = "ftp@passwd";
sub send_data() {
my($dd) = @_;
my($ftpcmd,@flist,$f,$outmesg);
$ftpcmd="ftp -v -n $g_ftpserver << EOF\n";
$ftpcmd="${ftpcmd}user $g_ftpuser $g_ftppwd\n";
$ftpcmd="${ftpcmd}cd incoming\n";
$ftpcmd="${ftpcmd}cd perf\n";
$ftpcmd="${ftpcmd}lcd /tmp\n";
@flist=`ls /tmp/sar_*_*.$dd`;
$ftpcmd="${ftpcmd}bye\n";
$ftpcmd="${ftpcmd}EOF\n";
$outmesg=`$ftpcmd`;
附錄四
#### System log Check 白名單 #######
# ftpd[1234]:
ftpd[[0-9]+]:
# inetd[1234]: ftp/tcp: Connection from inetd[[0-9]+]: ftp/tcp: Connection
# su: ?? root-xxxx su: .+ root-
# su : + ?? root-xxxx su : .+ root-
# in.mpthd[1234]:
in.mpathd[[0-9]+]:
# root: Solstice Backup media:
root: Solstice Backup media:
# last message reeated 1 time last message repeated [0-9]+ time
# above message repeats 2 times above message repeats [0-9] time above message repeats [0-9][0-9] time
# telnetd[...]: getpid: peer died: Error 0 telnetd[[0-9]+]: getpid:
# xntpd[...]:
xntpd[[0-9]+]:
附錄五
JSP 認證程式範例
附錄六
利用 UNIX 內建 SHELL 與指令取得 UNIX 硬體資訊範例
sub xt_unix_dc_system_info_osf
{
my($model,$ram,$cpu_count,$cpu_speed);
$cpu_count=`sizer -p`; $cpu_count =~ s/\n//g;
$cpu_speed=`psrinfo -v|grep Hz|awk '{print \$8}'| tail -1`;
$cpu_speed =~ s/\n//g;
if ( -X "/sbin/hwmgr" || -X "/usr/sbin/hwmgr") {
$model=`hwmgr show component | grep AlphaServer | tail -1 | cut -c 34-`;
$model=~ s/\n//g;
} else {
$model=`grep AlphaServer /var/adm/messages* |tail -1|awk '{print \$6 ,\$7,
\$8}'`;
$model =~ s/\n//g;
}
$ram=`vmstat -P | grep "Total Physical Memory =" | cut -d"=" -f 2`;
$ram =~ s/\n//g; $ram =~ s/M//g;
return($model,$ram,$cpu_count,$cpu_speed);
}
附錄七
利用 WMI 取得 Windows 硬體資訊範例