• 沒有找到結果。

未來研究方向

在文檔中 CPSMS-跨平台主機管理系統 (頁 63-74)

第五章 系統實作、評估與比較

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 硬體資訊範例

if ($info{'Windows Version'}{'CurrentVersion'} =~ /5\.\d/) {

my $strQuery = "Select * From Win32_LogicalMemoryConfiguration";

my $WMI = Win32::OLE->GetObject("winmgmts://");

my $Results = $WMI->ExecQuery($strQuery);

logger(sprintf("%sMemory%sTotalPhysicalMemory%s===%s", $del,

$del, $del, $info{'Memory'}{'TotalPhysicalMemory'}));

$info{'Memory'}{'TotalPageFileSpace'} = $Interface->TotalPageFileSpace;

logger(sprintf("%sMemory%sTotalPageFileSpace%s===%s", $del, $del, $del,

$info{'Memory'}{'TotalPageFileSpace'}));

$info{'Memory'}{'TotalVirtualMemory'} = $Interface->TotalVirtualMemory;

logger(sprintf("%sMemory%sTotalVirtualMemory%s===%s", $del, $del,

$del, $info{'Memory'}{'TotalVirtualMemory'}));

$info{'Memory'}{'AvailableVirtualMemory'} = $Interface->AvailableVirtualMemory;

logger(sprintf("%sMemory%sAvailableVirtualMemory%s===%s", $del,

$del, $del, $info{'Memory'}{'AvailableVirtualMemory'}));

}

}

在文檔中 CPSMS-跨平台主機管理系統 (頁 63-74)

相關文件