aix43cpu利用率采集_第1頁(yè)
aix43cpu利用率采集_第2頁(yè)
aix43cpu利用率采集_第3頁(yè)
aix43cpu利用率采集_第4頁(yè)
aix43cpu利用率采集_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、usearis;useIO:Socket;&dispatchCmds();#=#以下四個(gè)函數(shù)分別是命令集合,結(jié)果分析,輸入?yún)?shù),輸出參數(shù),需要定制#=#命令集合subdispatchCmds#該參數(shù)必須選定my$script_type=0;#腳本類型,0為執(zhí)行命令的腳本,1為局?jǐn)?shù)據(jù)備份腳本#執(zhí)行命令腳本請(qǐng)?zhí)顚懸韵聟?shù)my$pattern1='More'#分頁(yè)顯示的提示符my$pattern2='$#>?$'#命令執(zhí)行的提示符my$timeout=10;#超時(shí)等待時(shí)間my$cmdName='vmstat15'#待發(fā)送的命令數(shù)組#局?jǐn)?shù)據(jù)

2、備份腳本請(qǐng)?zhí)顚懸韵聟?shù)my$backup_type='ciscoCommand'&perlTemplate(ScriptType=>$script_type,Pattern1=>$pattern1,Pattern2=>$pattern2,Timeout=>$timeout,CmdName=>$cmdName,BackupType=>$backup_type);#輸入?yún)?shù)subinputArgvFilemyinputArgv;push(inputArgv,"push(inputArgv,"試,true為測(cè)試)n&qu

3、ot;);push(inputArgv,"true為監(jiān)視)n");push(inputArgv,"my$fileName=substr($0,length($path).'.in'中文釋義ttt參數(shù)名稱t參數(shù)類型t有效值范圍n");是否測(cè)試標(biāo)志位tttTest_Flagt布爾類型t(false為不測(cè)是否監(jiān)視tttMonitor_Flagt布爾類型t(false為不監(jiān)視,消息服務(wù)器ip地址ttaddresstt字符串類型t有效的IP地址n");push(inputArgv,"端口值n");push(inputA

4、rgv,"消息服務(wù)器使用socket通信端口tporttt客戶端標(biāo)識(shí)IDtttClient_IDt字符串tt整數(shù)tt有效的符合格式要求的客戶端IDn");push(inputArgv,"要訪問(wèn)的設(shè)備IP地址ttDevice_IPt字符串類型t有效的IP地址n");push(inputArgv,"登錄SASS(NSS系統(tǒng)的用戶名稱tSASS_Usernamet字符串tt可用的用戶名n");push(inputArgv,"登錄SASS(NSS系統(tǒng)的用戶口令tSASS_Passwordt字符串tt與用戶名匹配的用戶密碼n"

5、;);open(FILE,">$path".$fileName);printFILEinputArgv;close(FILE);printinputArgv;#輸出參數(shù)suboutputArgvFilemy$fileName=substr($0,length($path).'.out'myoutputArgv;push(outputArgv,'cpu利用率=int,%,cpu利用率');open(FILE,">$path".$fileName);printFILEoutputArgv;close(FILE);p

6、rintoutputArgv;#模版,一般不需要修改subperlTemplateprint"enterinperln"#獲取腳本文件所在的路徑,在該路徑下存儲(chǔ)輸入?yún)?shù)格式文件inputArgv.txt和輸出參數(shù)格式文件outputArgv.txtmy$path=&getScriptPath($0);#獲取執(zhí)行方式信息my$Mode_Type=&getModeType($ARGV0);#判斷執(zhí)行方式if($Mode_Typeeq"0")#執(zhí)行腳本正文部分#獲取輸入?yún)?shù)文件路徑,原始結(jié)果文件和結(jié)果分析文件所需存取路徑與輸入?yún)?shù)文件路徑相同m

7、y$ResultPath=&getInputArgvPath($ARGV0);#將輸入?yún)?shù)文件中所列參數(shù)存入一個(gè)hashtabel變量my%argv=&inputArgv($ARGV0);#判斷腳本是否測(cè)試my$Test_Flag=$argv"Test_Flag"#根據(jù)輸入的參數(shù)地址信息與端口,與消息服務(wù)器建立連接my$sock=&connect2msgserver($argv"address",$argv"port");#定義消息傳送方式,并發(fā)送請(qǐng)求消息頭my$source="0"#per

8、l腳本傳入,不可更改&sendRequest($sock,$source,$argv"broadcast",$argv"Client_ID");#接收從接收端傳回的信息,確定是否繼續(xù)傳送以下的消息#若接收到"true"則繼續(xù)傳送信息,若為"false",則不再傳輸信息給my$response=<$sock>#對(duì)返回的信息進(jìn)行處理,獲得返回的字符串"true"or"false"my$isContinue=&getResponse($response)

9、;print"theresponseis$isContinuen"if($isContinueeq'true')#返回結(jié)果為true的話,執(zhí)行telnet設(shè)備的操作#定義保存訪問(wèn)設(shè)備時(shí)產(chǎn)生的異常消息my$msg;#保存命令返回的結(jié)果,也是發(fā)送到消息服務(wù)器的結(jié)果my$cmd1;#登陸設(shè)備#0為標(biāo)準(zhǔn)連接#1登陸cisco設(shè)備的普通模式,需要用戶名密碼#2登陸cisco設(shè)備的enable模式,需要用戶名,密碼及enable密碼#3登陸cisco設(shè)備的普通模式,不需用戶名,只需要密碼#4登陸cisco設(shè)備的enable模式,不需用戶名,需要密碼及enablemy$t

10、=&connectToDevice(%argv);$msg=$t->errmsg;#獲取傳入的參數(shù)my($dispatchArgv)=_;my$script_type=$dispatchArgv->"ScriptType"if($msgeq'')if($script_type=0)my($pattern1,$pattern2,$timeout,cmdName)=($dispatchArgv->"Pattern1",$dispatchArgv->"Pattern2",$dispatchAr

11、gv->"Timeout",$dispatchArgv->"CmdName");($t,cmd1)=&sendCmd($t,$pattern1,$pattern2,$timeout,cmdName);elsif($script_type=1)my$backup_type=$dispatchArgv->"BackupType"socket密碼($t,cmd1)=&doBackup($t,$ResultPath,&getCurrentTimeStr(),$argv"HostName&qu

12、ot;,$path.'bucs_input.xml',$backup_type);else!'."n");$t->error('輸入錯(cuò)誤的腳本類型,請(qǐng)檢查后重新輸入$msg=$t->errmsg;print"錯(cuò)誤信息為"print$msg;print"n"if($msgeq'')#若無(wú)任何錯(cuò)誤消息返回,則成功$argv"Running_Status"=2;else#若有錯(cuò)誤消息返回,則失敗$argv"Running_Status"=3;

13、cmd1=($msg);#將所有的命令用''分割并放在原始結(jié)果的第一行cmd1=(join('',cmdName),"n",cmd1);#斷開與sass系統(tǒng)的聯(lián)系$t=&disconnectFromSass($t);#將返回?cái)?shù)組組合稱為一個(gè)大的字符串,以便于一次性傳遞$cmd1=&array2string(cmd1);printcmd1;#Running_Status=0/1代表失敗/成功#結(jié)果正確性判斷$isResultRight=&judgeResult(cmd1);#日志記錄,記錄命令執(zhí)行結(jié)果的狀態(tài)&cm

14、dResultLog($cmdName,$isResultRight);if($isResultRighteq"0")#命令執(zhí)行結(jié)果錯(cuò)誤&sendMsg($sock,$cmd1,%argv);elsif($isResultRighteq"1")#命令執(zhí)行結(jié)果正確if($Test_Flageq"true")#測(cè)試腳本&sendMsg($sock,$cmd1,%argv);elsif($Test_Flageq"false")#正常運(yùn)行腳本,非測(cè)試#保存執(zhí)行結(jié)果,保存至數(shù)據(jù)庫(kù)或保存至文件&save

15、2db();#將結(jié)果保存至與輸入?yún)?shù)文件相同的目錄&save2file("$ResultPath"."orig.txt",cmd1);#結(jié)果分析resultAnalyse=&resultAnalyse($ResultPath);#分析結(jié)果保存&saveAnalyseResult("$ResultPath"."parsed.txt",resultAnalyse);&ftpUpload($ResultPath);&sendMsg($sock,$cmd1,%argv);#關(guān)閉與設(shè)備

16、的連接close$t;else#返回結(jié)果為falseprint"返回結(jié)果為falsen"#關(guān)閉與消息服務(wù)器的連接close$sock;elsif($Mode_Typeeq"1")#運(yùn)行輸入?yún)?shù)部分,產(chǎn)生輸入?yún)?shù)文件print"Displaytheinputargvfile!n"&inputArgvFile();elsif($Mode_Typeeq"2")#運(yùn)行輸出參數(shù)部分,產(chǎn)生輸出參數(shù)文件print"Displaytheoutputargvfile!n"&outputArgvFile();#任務(wù)執(zhí)行結(jié)果分析,返回任務(wù)分析的結(jié)果subresultAnalysen"print"analysetheexecutedcmd'sresultandreturntheanalyseresultmy(result);my$ResultPa

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論