Download View/Open
Transcript
References [1] Ramakrishnan R, Gehrke J.(2003), Database Management Systems, McGrawHill Education Inc, 3(1), pp 59-85 [2] Ryan A s l e s o n and Nathaniel T. Schutta (2006), Foundations o f Ajax [3] Vaswani V. ( 2 0 0 7 ) , PHP Programming Solutions, Tata McGraw-Hill Publishing C o m p a n y Litmited, l,pp 1 3 2 - 1 8 2 [4] en.wikipedia.org/wiki/Adobe_Dreamweaver [5] en.wikipedia.org/wiki/Apache_HTTP_Server [6] en.wikipedia.org/wiki/Gantt_chart [7] en.wikipedia.org/wiki/Local_area_network [8] en.wikipedia.org/wiki/Microsoft_Project [9] en.wikipedia.org/wiki/MySQL [10 en.wikipedia.org/wiki/Sequence_diagram [11 en.wikipedia.org/wiki/Simple_Network_Management_Protocol [12 en.wikipedia.org/wiki/Unified_Modeling_Language [13 en.wikipedia.org/wiki/Use_case [14 en.wikipedia.org/wiki/Waterfall_model [15 en.wikipedia.org/wiki/Wide_area_network [16 www.cacti.net [17 www.peoplesbank.lk/site_map.shtml [18 www.php.net/ [19 www.visual-paradigm.com/Activity 44 Appendix A User Manual The following are the screen snap shots taken from Network Monitoring System. This will explain how user can logon and use the Network Monitoring System. HHMI Fie £ * •^jjP ttozillaFirefoi View rtgory • C Bcokmarts ii A Mo9 VKted # > Getting Started 1 Tools ''•*»«*»• r " ' « * '• Help http://lrxatx«/Wfi;ntte)c.php Latest Headnes N E T W O R K MONITORING SYSTEM • HOME • N E T W O R K DETAILS • CONFIGURATIONS • ADMINISTRATION Figure A-l : NMS Main page Then user will get the figure A-2 | f g j g g £ g » £ > j ^ j g ^ j | 0 j j i U f l RaTeifrlittb. USERNAME : PASSWORD : • -.i.Tarf 1 RESET SUBMIT Figure A-2 : User Login page F i g u r e . A-3 : N M S M a i n M e n u Then click on Data Link Monitoring user can monitor the Data links status from following page in figure A-3. 45 . E X 1 ' OvriWAU MONITORING Mozilla Fircfo« _le Edit _Lw _ew History * 4 Most Visited p- Bookmarks C sj Getting Started > w lJ J_ools tldp r*tD://locahost/*l^/^i^ Latest Headines ..••••.,-•„„•• i.,— j, >i mggtig^^ OVFRRALL MONITORING r. NETWORK MONITORING SYSTEM • HOME RRALL MONITORING • • CONFIGURATIONS BRANCH • ADMINISTRATION PRIMARY LINK S E C O N D A R Y LINK Figure. A-3- N M S Main Menu Figure. A-4 : Data Links status(branch wise) page Selecting required branch or red indicate branch then page in figure A-4 will display with service providers. 46 N e t w o r k Devici Data Rates [n Coming Rate Out Going Rate Figure. A - 4 - D a t a Links status F i g u r e . A - 5 : D a t a L i n k s s t a t u s for selected b r a n c h T h e click on N e t w o r k device button from N M S M a i n M e n u O NETWORK DLVICC5 Mozftla Hrefox F*» £dt Vtow rtftory fioc*<martj rook C lja(p • 1*) ' l3~ nMp^AxaKwt/NMi/Netwjrt/ ^ f MortVfctad • > «*Ono Started -*i L*««m»*« ; NETWORK Of V I C I 5 N E T W O R K M O N I T O R I N G • ' 0 \ l l i , I I H A I l n \ S S Y S T E M Branch Code - SELECT W a n l IP • ADM I M STRATI O N W a n 2 IP Item SLT DSU Status V I'.d I ' d t B S In Coming R a t e Out Goino Rate Figure. A - 5 - D e v i c e Status F i g u r e . A - 6 : A d d b r a n c h to t h e S y s t e m Selecting the A d d branch option then page in F i g A - 6 w i l l be displayed. 47 * 'A l i u N ( w DIVU .1 El* Mo/1 j.H V W * i t-.l.., y ^ H j Q P jft, Motf CP X -1 i Mrcfo* li.,J-n.vU to -j Starlad 1.-J-. U T ' l J h t t p : / » M * o « f W « K ' W ^ « I O f M / A d d f c « n f h « p .r * L i ADD r*W DEVICE N E T W O R K M O N I T O R I N G S Y S T E M Branch Cods Branch Type I ' I i i t m H I P Wonl I P W f l n i IP status Won2 I P 1 Wflii. IP Status RESET SUBMIT Figure. A-6 : A d d branch to the System Figure. A - 7 : Error checking T h e click on A d d N e t w o r k D e v i c e button from N M S M a i n M e n u T h e n the f o l l o w i n g page w i l l appear as in figure A - 7 . © ADO HI W D f V I C T - Morilla I n Fe l E* y e tw Hftorv •jfe -O X .ia. 6 c K * v r v » k j Tod* h H jp (ai Q 3 3 Ntp//k>csN>i(/rW/C<Wlguat^AcV»ev ve.prv 1 ADO NEW DEVICE ADD ROIIFFK/UFVIf lH-.i riiitiuri Mii'tn.• Host Template Notes Disable Host D i s a b l eOA r r i v e Downed Device Detection Ping T i m e o u t Value Ping R e t r y C o u n t SNMP V e r s i o n SNMP C o m m u n i t y SNMP P o r t SNMP T i m e o u t Minimum O l D ' s p e r R e q u e s t Figure. A - 7 : Error checking 48 - SELECT - F i g u r e . A-8- N e t w o r k D e v i c e Status When entered the required branch code, user can Monitor the Network Device Status from following page A-8 ' IffMNCII RFPORT - Uo/HIa rirefnx Eta E# v m J w **Jtory Bookmarks J . NostVWed * > Getbng Started look Halo Latest Heedknes B H A N H t R E P O R T NETWORK MONITORING SYSTEM Name w a n l IP Wan2 IP Critical Traffic Branch Report Branch history report Branch Prediction Report H a r d w a r e Prediction Report Figure. A-8- Network Device Status F i g u r e . A-9 : Traffic M o n i t o r i n g If the user selects Data Transfer Rate then page in figure A-9 will display with data transfer rates. 49 O MIA 11 A ' MSI II. HA 11 Fie E It 7 p Most VMed / M .i 11 l-i 1 ,,.!„, QooWnarkj Hjtoty . 1 GetUng Started look Mtfophone W'i T o d s " gam rjelp •1 f«lp://kxrf»ri/NMS/NelworWdata_tfaiiifer_rate.utip Latest H e e » w * DATA TRANSFER RATE NETWORK MONITORING SYSTEM D A T AT R A N S F E R R A T E [coda • CONFIGURATIONS • ADMINISTRATION Want IP W a n 2 IP Input Data Rate Output Data R a t B LAN Data Rate RESET Figure. A - 9 - T r a f f i c M o n i t o r i n g Figure. A - 1 0 : General User Management Menu T h e n select the U s e r I D creation then page in figure A - 1 0 w i l l display o n the screen. O ADD H 1 vi msi |< Mozilla Firefoi t * Y*« 6oc*m*ij F*t - >*JRORY C 1 *' MOTT VUad + GWONG Startad TOD* / ETCETERA! IFJ Trx-J* 7 fjefe rrttp //tot 1 AORWFTU « ICR./ECTTLI*! l»v Ltini HMOFRWS ADD NEW USER NETWORK MONITORING SYSTEM • HOMF • METWORJC DETAILS • CONFIGURATIONS USER .'-[ IMIN FULL NAME ADMIN DESCRIPTION ACCOUNT STATUS Enab e l * Disable RESET F i g u r e . A - 1 0 - User M a n a g e m e n t 50 EM® F i g u r e . A-11 : U s e r I D creation If user selects Edit user privileges in figure A-l 1 will display on the screen. 11)11 USERPRIVILEGES Die L'it i«w History ^•M»j—-r- ' W9 " O Mo/illa firefux ^-s^, B o o k m a r k * [ocJs 'J-lp • -J.. 1 rttp;//1ocalwst/W5/Adn*^retw^^ jfc Moat VbJted • > Gsttrxj Started J. . SB ; • -*1 • Latest He auk * i FDII USfR PRIVILEGES N e t w o r k M o n i t o r i n g F • System EaHBBHHBHaBHHHHBaH • • • • • a l l • HOME • M IWORK DETAILS USER: |-SELECT OFFICER- lv • CONFIGURATIONS • nHoia: • a • BETVORK DETAILS • LJHetuor-h Device • LJBranch Report • L.IData Transfer Pate a LJfJvetatl Honicorlng Edit P r i v i l e g e s • Cl COKFIGURATIONS a i_;Add Device a Q&dd Branches a GADHIHISTFATION • QjUU Usee a Dealt usee a LJEdlt Privileges Submit Dona Figure. A-l 1- Edit user privileges 51 Appendix B Graphical output of Traffic From 09-Jun 6:00 PM to10-Jun 6:00 PM 60.000 a . . . r " (.... 50,000 i 40.000 j if i 30,000 : .4 i.... 20.000 I 10.000 o o j JJLL B6th 0 o o o o o o o o o a o o iii o CO N o q CD o Time H SerialO Rx Traffic - Min: 347.0 Max: 6 3 1 4 2 . 0 Avg: 1 6 1 7 . 4 6 95thPercentile Avg: 5 6 0 . 1 5 Figure. B - l - Traffic - Union Place branch SLT WAN Rx Traffic - Union Place branch From 11 -Jun 12:00 AM to11 -Jun 10:50 AM 60.000 50,000 40.000 30.000 20.000 10.000 0 8 o o o O o a a 9 CO o o o o a Time B SeriaH Rx Traffic • Min: 673.0 Max: 6 3 0 3 9 . 0 Figure. B-2 - W A N 1 Rx Traffic 52 Avg: 4 7 1 0 . 9 8 95thPercentile Avg: 1906.38 From 11 -Jun 12:00 AM to11 -Jun 10:52 AM 7.000 6.000 5.000 4.000 3.000 2.000 AJuHinrA.* 1.000 0 Time £3 FastEthemetO Rx Traffic - Min: 699.0 Max.:7433.0 Avg: 1354.35 SSthPercentile Avg: 1131.28 | From 11 -Jun 12:00 AM to11 -Jun 10:52 AM Figure. B-3 - Fast Ethernet Rx Traffic Fast Ethernet Rx Traffic - Union Place branch From 07-Jun 12:00 AM to07-Jun 8:52 AM 60 50 40 30 • 20 10 • o o o o o O O O o o o o CD O P O Time D FastEthemetO Rx Tra... Kbps- Min: 0.12 Max: 6.68 Avg: 0.91 95thPercentile Avg: 0.72 • SerialO Rx Traffic Kbps- Min: 0.34 Max: 62.95 Avg: 2.17 95thPercentile Avg: 0.45 Seriall Rx Traffic Kbps- Min: 0.16 Max: 62.94 Avg: 5.03 95thPercentile Avg: 2.23 BNullO Rx Traffic bps- Min: 0.0 Max: 0.0 Avg: 0.0 95thPercentile Avg: 0.0 Figure. B-4 - Interface Traffic 53 O Interface R x Traffic - Union Place branch From 07-Jun 12:00 AMto07-Jun 8:54 AM 3500 3000 2500 2000 1500 1000 500 A, 1 JJ- Li-litiJUJLL'Xi . U _ l M _ * A i U > . U . X / V . * i i . h.-^fi.£AjJ,\.fy^jJLLL^l 0 o O q do a m a Time I D SerialO Tx Traffic • Min: 168.0 Max: 3440.0 Avg: 288.59 95thPercentile Avg: 225.53 Figure. B - 5 - S L T W A N 2 Traffic SLT WAN T x Traffic - Union Place branch From07-Jun 12:01 AM to 07-Jun 8:54 AM 4.000 3,000 5 2,000 1,000 01:00 02:00 03:00 04:00 05:00 06:00 07:00 Time B Seriall Tx Traffic - Min: 365.0 Max: 4174.0 Figure. B - 6 - W A N T x Traffic 54 Avg: 693.13 95thPercentile Avg: 534.96 Appendix C NMS Main Screen <?php require_once ('Class/DataBase.class.php'); r e q u i r e o n c e ('Class/Authentication.class.php'); session_start(); $dbcon = n e w DataBasefJ; $auth = n e w Authentication(false); $module_id = - 1 ; ?> < ! D O C T Y P E html P U B L I C "-//W3C//DTD X H T M L 1.0 Transitional//EN" "http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Network Monitoring System (NMS)</title> <link rel="stylesheet" href="StyleSheets/Main.css" t y p e - ' t e x t / e s s " /> <link rel="stylesheet" href="StyleSheets/AIertBox.css" t y p e - ' t e x t / e s s " /> <script src="JavaScript/Environment.js" type="text/javascript" language="JavaScript"></script> <script src="JavaScript/Controls.js" type="text/javascript" language="JavaScript"></script> <script src="JavaScript/Main.js" type="text/javascript" language="JavaScript"></script> </head> <body> <?php require_once('Data/TemplateTop.php'); ?> < i m g src="Images/UI/home.png" align="middle" /> <?php require_once('Data/TemplateBottom.php'); ?> ^ody> </html> 55 Login Page Pseudo Code & Relate Coding • User logon to the system If User name incorrect "Display Error message" else "Goto menu" <?php r e q u i r e o n c e ('Class/DataBase.class.php'); r e q u i r e o n c e ('Class/Authentication.class.php'); session_start(); $dbcon = n e w DataBase(); $auth = n e w Authentication(false); $module_id = - 1 ; $redirect = (isset($_REQUEST['redirecf]))?$_REQUEST['redirect']: index.php'; , SerrorList = array(); if(isset($_POST['op'])){ $Username = trim($_POST['username']); $Password = trim($_POST['password']); try{ 56 $sql = "select U S E R I D , U S E R N A M E , S T A T U S from A P _ U S E R where U S E R N A M E = 'SUsername' and P A S S W O R D = MD5('$Password')"; $result = $dbcon->executeQuery($sql); if (mysql_num_rows($result) > 0 ) { $row = mysql_fetch_assoc($result); if ($row['STATUS'] = 1){ $user = new User(); $user->setUserId($row['USERID']); $user->setUserName($row['USERNAME']); $_SESSION['USER'] = $user; header("Location:" . $redirect); die("<strong>Authentication error, Header c o m m a n d failed to execute</strong>"); } else { $errorList[] = 'Account has been disabled, Please contact the Administrator'; } } else { $errorList[] = 'Username/Password incorrect, Please try again'; } } catch (Exception $e) { $errorList[] = htmlspecialchars($e->getMessage(), ENTQUOTES); } } else { SUsername =""; } ?> < ! D O C T Y P E html PUBLIC "-//W3C//DTD X H T M L 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml 1/DTD/xhtml 1 -transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> 57 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Login</title> <link <link <link <link rel="stylesheet" rel="stylesheet" rel="stylesheet" rel="stylesheet" href-'StyleSheets/Main.css" type="text/css" /> href="StyleSheets/AlertBox.css" type="text/css" /> href="StyleSheets/TableStyle.css" t y p e - ' t e x t / e s s " /> href-'StyleSheets/DropShadow.css" type="text/css" /> <script src="JavaScript/Environment.js" type="text/javascript" language="JavaScript"></script> <script src="JavaScript/Controls.js" type="text/javascript" language="JavaScript"></script> <script src="JavaScript/Main.js" type="text/javascript" language="JavaScript"></script> <script src="JavaScript/PasswordMeterjs" type="text/javascript" language="JavaScript"></script> <script src="JavaScript/Ajax.js" type="text/javascript" language="JavaScript"></script> <script src="js/Login.js" type="text/javascript" language="JavaScript"x</script> </head> <body> <?php require_once('Data/TemplateTop.php'); ?> <div align="center"> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> <br/> 58 <br/> <br/> <br/> <br/> <br/> <?php if(sizeof($errorList)>0) { S e r r o r m e s s a g e = '<font color="#FF0000">'; foreach (SerrorList as $error) S e r r o r m e s s a g e .= '<Ii>'. Serror , •</li>'; $error_message .= '</font>'; e c h o '<script type="text/javascript" language="JavaScript">'; e c h o "Cnt.AlertBox('WARNING M E S S A G E ' , 'Serror', null, 'Warning')"; e c h o '</script>'; ?> <br/> 0 <div id="shadow-container" style="width:500px;"> <div class="shadowl "> <div class="shadow2"> <div class="shadow3"> <div class="shadow4"> <div class="container"> <form name="frm" action="<?php e c h o $_SERVER['PHP_SELF'] ?>" method="post"> <input type="hidden" name-'redirect" value="<?php e c h o Sredirect ?>" /> <input type="hidden" name="op" value="ds" /> <table align="center" width=" 100%" class="table_stylel" border="0" cellspacing="0"> <thead> <tr> <td colspan="5">User Login</td> </tr> </thead> <tbody> <tr> <td align="center" valign="top" rowspan="2"> </td> 59 name="username" value="<?php echo $Username ?>" /> </td> </tr> <tr> <td align="left"><strong>Password</strong></td> <td align="center"><strong>:</strong></td> <td align="center" > <input type="password" class="textbox" name="password" m a x l e n g t h - ' 16" /> </td> </tr> </tbody> <tfoot> <tr> <td colspan="5" align="right"> <input type="button" onclick=''subrnitForrn(this)" class-'button" value="Login" / > <input type-'button" onclick="resetForm(this)" class="button" value="Reset" /></td> </tr> </tfoot> </table> </form> </div> </div> </div> </div> </div> </div> </div> <?php require_once('Data/TemplateBottom.php'); ?> </body> </html> 60 <?php r e q u i r e o n c e ('../Class/DataBase.class.php'); r e q u i r e o n c e ('../Class/Authentication.class.php'); session_start(); $dbcon = n e w DataBase(); $auth = n e w Authentication(true); $ a u t h - > c h e c k A c c e s s ( l 1, $dbcon); $module_id = 9; $errorList = array(); $hasErrors = false; ?> < ! D O C T Y P E html P U B L I C "-//W3C//DTD X H T M L 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml 1/DTD/xhtml 1 -transitionaI.dtd"> <html xmlns="http://www.w3.org/l999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Branch Report</title> <link <link <link <link rel="stylesheet" rel="stylesheet" rel="stylesheet" rel="stylesheet" href="../StyleSheets/Main.css" type="text/css" /> href="../StyleSheets/AlertBox.css" type="text/css" /> href="../StyleSheets/TableStyle.css" type="text/css" /> href="../StyleSheets/DropShadow.css" t y p e - ' t e x t / e s s " /> <script src="../JavaScript/Environment.js" type="text/javascript" language="JavaScript"></script> <script src="../JavaScript/Controls.js" type="text/javascript" language="JavaScript"></script> <script src="../JavaScript/Main.js" type="text/javascript" language="JavaScript"x/script> <script src="../JavaScript/Ajax.js" type="text/javascript" language="JavaScript"></script> <script src="js/Branch_Report.js" type="text/javascript" Ianguage="JavaScript"x/script> </head> <body> 61 <?php require_once('../Data/TemplateTop.php'); ?> <div align="center"> <br/> <br/> <div id="shadow-container" style="width:845px;"> <div c l a s s = " s h a d o w l " > <div class="shadow2"> <div class="shadow3"> <div class="shadow4"> <div class="container"> <form narne=''frrn action="<?php e c h o $_SERVER['PHP_SELF'] ?>" method="post"> <table width="800" border="l" align="center" cellpadding="0" cellspacing="0" c l a s s - ' t a b l e _ s t y l e l " > <thead> <tr> <td colspan="6">Branch Report</td> </tr> </thead> <tbody> <tr> <td align="left"><strong>Branch Code</strong></td> <td align="center"><strong>:</strong></td> <td a l i g n - ' c e n t e r > <select class="dropdown" name="type" id="type" onchange="loadBranch(this);" > <option value="0">SELECT -</option> <?php $sql = "SELECT B R A N C H C O D E FROM B R A N C H E S W H E R E S T A T U S = 1"; Sresult = $dbcon->executeQuery($sql); while($row = mysql_fetch_array($result)) { M M echo("<option value=" . $ r o w [ ' B R A N C H _ C O D E ' ] . ">". $ r o w [ ' B R A N C H _ C O D E ' ] . "</option>"); ?> </select> </td> 62 <td align="center">Name</td> <td align="center">:</td> <td align="center"> <input type="text" class="textbox" id="brnch name" disabled="disabled" /> </td> </tr> <tr> <td colspan="3" rowspan="2" align="center" s t y l e - ' p a d d i n g top:20px;"> <input type="button" class="button" n a m e - ' c b t r " id="cbtr" value="Critical Branch Traffic Report" onclick="loadValues(document.getElementById('brnch_name').value,this);" style="width:250px; font-weight:bolder; background-image:none; border: l p x solid #900;" /> </td> <td align="center">Wanl IP</td> <td align="center">:</td> <td align="center"> <input type="text" class="textbox" id="Wanl_IP" disabled="disabled" /> </td> </tr> <tr> <td align="center">Wan2 IP</td> <td align="center">;</td> <td align="center"> <input type="text" class="textbox" id="Wan2_IP" disabled="disabled" /> </td> </tr> <tr> <td colspan="6"><table width="800" border="0" cellspacing="0" cellpadding="0"> <tr> <td style="padding-top: 10px;"><table width="800" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="200" align="center"><input type="button" class="button" name="btnl" id="btnl" value="Branch Traffic Report" onclick="loadValues(document.getElementById('brnch_name').value,this);" style="width:190px; font-weight:normal; background-image:none; border:lpx solid 63 #900;" disabled="disabled"/></td> <td width="200" align="center"><input type="button" class="button" name="btn2" id="btn2" value="Branch History Report" onclick="loadValues(document.getElementById('brnch_name').value,this);" style="width:190px; font-weight:normal; background-image:none; border: l p x solid #900;" disabled="disabled" /></td> <td width="200" align="center"><input type="button" c l a s s - ' b u t t o n " n a m e - ' b t n 3 " id="btn3" value="Branch Prediction Report" onclick="loadValues(document.getElementById('brnch_name').value,this);" style="width:190px; font-weight:normal; background-image:none; border:lpx solid #900;" disabled="disabled" /></td> <td width="200" align="center"><input type="button" class="button" name="btn4" id="btn4" value="Hardware Prediction Report" onclick="loadValues(document.getElementById('brnch_name').value,this);" style="width:190px; font-weight:normal; background-image:none; border:lpx solid #900;" disabled="disabled" /></td> </tr> </table></td> </tr> <tr> <td style="padding:10px;"><div id="value_lable"></div></td> </tr> <tr> <td style="padding:5px;" align="right"><input type="reset" class="button" value="Reset" onclick="resetForm();" style="width:100px;" /></td> </tr> </table></td> </tr> </tbody> <tfoot> </tfoot> </table> </form> </div> </div> </div> </div> </div> </div> </div> <?php require_once('../Data/TemplateBottom.php'); ?> </body> </html> 64 Detect Data Transfer Rate <?php r e q u i r e o n c e ('../Class/DataBase.class.php'); r e q u i r e o n c e ('../Class/Authentication.class.php'); session_start(); $dbcon = n e w DataBase(); Sauth = n e w Authentication(true); $auth->checkAccess(12, Sdbcon); $module_id = 9; SerrorList = array(); ShasErrors = false; ?> < ! D O C T Y P E html PUBLIC "-//W3C//DTD X H T M L 1.0 Transitional//EN" "http://www.w3.org/TPx/xhtml 1/DTD/xhtml 1 -transitional .dtd"> <html xmlns="http://www.w3.org/l999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Data Transfer Rate</title> <link <link <link <link rel="stylesheet" rel="stylesheet" rel="stylesheet" rel="stylesheet" href="../StyleSheets/Main.css" type="text/css" /> href="../StyleSheets/AlertBox.css" type="text/css" /> href="../StyleSheets/TableStyle.css" type="text/css" /> href="../StyleSheets/DropShadow.css" type="text/css" /> <script src="../JavaScript/Environment.js" type="text/javascript" language="JavaScript"></script> <script src="../JavaScript/Controls.js" type="text/javascript" language="JavaScript"></script> <script src="../JavaScript/Main.js" type-'text/javascript" language="JavaScript"x/script> <script src="../JavaScript/Ajax.js" type="text/javascript" language-'JavaScript"x/script> <script src="js/data_transfer_rate.js" type="text/javascript" language="JavaScript"x/script> </head> <body> <?php require_once('../Data/TemplateTop.php'); ?> <div align="center"> 65 <br/> <br/> <div id="shadow-container" style="width:700px;"> <div class="shadowl "> <div class="shadow2"> <div class="shadow3"> <div class="shadow4"> <div class="container"> <form name= frm" action="<?php echo $ _ S E R V E R [ ' P H P _ S E L F ] ?>" method="post"> ,, <table align="center" width="100%" class="table_stylel" border="l" cellspacing="0"> <thead> <tr> <td colspan="6">Data Transfer Rate</td> </tr> </thead> <tbody> <tr> <td align="center"><strong>Branch Code</strong></td> <td align="center"><strong>:</strong></td> <td align="center"> <select class="dropdown" name="type" onchange="loadBranch(this);" > <option value="0">- SELECT -</option> <?php $sql = "SELECT B R A N C H C O D E FROM B R A N C H E S W H E R E S T A T U S = 1"; $result = $dbcon->executeQuery($sql); while($row = rnysql_fetch_array($result)){ echo("<option value=" . $row['BRANCH_CODE*] . ">" . $ r o w [ ' B R A N C H _ C O D E ' ] . "</option>"); } ?> </select> </td> </tr> <tr> <td align="center">Name</td> <td align="center">:</td> <td align="center"> <input t y p e - ' t e x t " dass="textbox" iH="hrnrh name" 66 disabled="disabled" /> </td> </tr> <tr> <td align="center">Wanl IP</td> <td align-'center">:</td> <td align="center"> <input type="text" class=="textbox" id="Wanl IP" disabled="disabled" /> </td> </tr> <tr> <td align="center">Wan2 IP</td> <td align-'center">:</td> <td align="center"> <input type="text" class=="textbox" id="Wan2 IP" disabled="disabled" /> </td> </tr> <tr> <td align-'center">Input Data Rate</td> <td align="center">:</td> <td align="center"> <input type="text" class=="textbox" id="in data rate" disabled="disabled" /> </td> </tr> <tr> <td align="center">Output Data Rate</td> <td align="center">:</td> <td align="center"> <input type="text" class=="textbox" id="out data rate" disabled-'disabled" /> </td> </tr> <tr> <td align="center">LAN Data Rate</td> <td align="center">:</td> <td align="center"> <input type="text" class=="textbox" id="lan data rate" disabled-'disabled" /> </td> </tr> </tbody> <tfoot> <tr> <td colspan="6" align="right"> <input type=' reset" class="button" 67 value-'Reset" /> </td> </tr> </tfoot> </table> </form> </div> </div> </div> </div> </div> </div> </div> <?php require_once(\./Data/TemplateBottom.php'); ?> </body> </html> 68 Overall Monitoring <?php r e q u i r e o n c e ('../Class/DataBase.class.php'); r e q u i r e o n c e ('../Class/Authentication.class.php'); session_start(); $dbcon = n e w DataBase(); $auth = n e w Authentication(true); $auth->checkAccess(13, $dbcon); $module_id = 9; SerrorList = array(); ShasErrors = false; ?> < ! D O C T Y P E html P U B L I C "-//W3C//DTD X H T M L 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml 1 /DTD/xhtml 1 -transitional.dtd"> <html x m l n s - ' h t t p : / / w w . w 3 . o r g / 1 9 9 9 / x h t m l " > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Overall Monitoring</title> <link <link <link <link rel-'stylesheet" rel-'stylesheet" rel-'stylesheet" rel="stylesheet" href-'../StyleSheets/Main.ess" type="text/css" /> href-'../StyleSheets/AlertBox.css" type="text/css" /> href="../StyleSheets/TableStyle.css" type="text/css" /> href="../StyleSheets/DropShadow.css" type="text/css" /> <script src="../JavaScript/Environment.js" type="text/javascript" language="JavaScript"></script> <script src="../JavaScript/Controls.js" type="text/javascript" language="JavaScript"></script> <script src="../JavaScript/Main.js" type="text/javascript" language="JavaScript"x/script> <script src="../JavaScript/Ajax.js" type="text/javascript" language="JavaScript"></script> <script src="js/data_transfer_rate.js" type="text/javascript" Ianguage="JavaScript"></script> <script type="text/javascript" language="javascript"> 69 // } else{ echo("<td width=200><div class=down M onmousemove='show_alertO"^$row['NAME']. \",\"l\")'>Down</div></td>"); } if($row['WAN2_IP_STATUS'] = 1){ echo("<td width=200><div class=up>Up</div></td>"); } else{ echo("<td width=200><div class=down , onmousemove= show_alert(\"".$row['NAME']."\",\"l\")'>Down</div></td>"); } e c h o ("</tr>"); } ?> </table> </form> </div> </div> </div> </div> </div> </div> </div> <?php require_once(\./Data/TemplateBottom.php'); ?> </body> </html> <script type="text/javascript" language="javascript"> setTimeout(function(){ location. h r e f - ' o v e r r a l l m o n i t e r i n g . p h p " } , 10000); </script> 70 Network Devices • Alert System If database input Zero "Generate warring message" Else "No message <?php r e q u i r e o n c e ('../Class/DataBase.class.php'); require_once ('../Class/Authentication.class.php'); session_start(); $dbcon = n e w DataBase(); $auth = n e w Authentication(true); $auth->checkAccess(10, $dbcon); S m o d u l e i d = 9; $errorList = array(); $hasErrors = false; ?> < ! D O C T Y P E html P U B L I C "-//W3C//DTD X H T M L 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml 1 /DTD/xhtml 1 -transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Network Devices</title> <linkrel="stylesheet" <link rel="stylesheet" <link rel="stylesheet" <link rel="stylesheet" href-'../StyleSheets/Main.css" type="text/css" /> href="../StyleSheets/AlertBox.css" type="text/css" /> href="../StyleSheets/TableStyle.css" type="text/css" /> href="../StyleSheets/DropShadow.css" type="text/css" /> <script src="../JavaScript/Environment.js" type="text/javascript" language="JavaScript"></script> <script src="../JavaScript/Controls.js" type="text/javascript" language="JavaScript"></script> <script src="../JavaScript/Main.js" type-'text/javascript" language="JavaScript"x/script> <script src="../JavaScript/Ajax.js" type="text/javascript" language="JavaScript"x/script> <script src="js/Network_Device.js" type="text/javascript" 71 <div align="center"> <br/> <br/> <div id="shadow-container" style="width:700px;"> <div c l a s s = " s h a d o w l " > <div class="shadow2"> <div class="shadow3"> <div class="shadow4"> <div class="container"> <form name=''frm" action="<?php e c h o $_SERVER['PHP_SELF'] ?>" method="post"> <table align="center" width="100%" class="table_stylel" border="l" cellspacing="0"> <thead> <tr> <td colspan="6">Network Devices</td> </tr> </thead> <tbody> <tr> <td align="left"><strong>Branch Code</strong></td> <td align="center"><strong>:</strong></td> <td align="center"> <select class="dropdown" name="type" onchange="loadBranch(this);" > <option value="0">- Select -</option> <?php $sql = "select B R A N C H C O D E from B R A N C H E S where S T A T U S = 1"; $result = $dbcon->executeQuery($sql); while($row = mysql_fetch_array($result)) { echo("<option value=" . $ r o w [ ' B R A N C H _ C O D E ' ] . ">" $ r o w [ ' B R A N C H _ C O D E ' ] . "</option>"); } ?> </select> </td> <td align="center">Name</td> <td align="center">:</td> <td align="center"> <input type="text" class="textbox" 72 readonly="readonly" /> </td> </tr> <tr> <td align="left"> </td> <td align="center"> </td> <td align="center"> </td> <td align="center">Wanl IP</td> <td align="center">:</td> <td align="center"> <input type="text" c l a s s - ' t e x t b o x " id="Wanl_IP" readonly="readonly" /> </td> </tr> <tr> <td align="left"> </td> <td align="center"> </td> <td align="center"> </td> <td align="center">Wan2 IP</td> <td align-'center">:</td> <td align="center"> <input type="text" class="textbox" id="Wan2_IP" readonly="readonly" /> </td> </tr> <tr> <td align="center" colspan="3" rowspan="2"> <table border="0"> <tr> <td align="center"> <input type="button" c l a s s - ' b u t t o n " name="btnStl_dsu" value="SLT D S U " onclick="loadValues(this);" / > </td> </tr> <tr> <td align-'center"> <input type="button" class="button" name="btnS_d_mux" value="S/D M U X " onclick="loadValues(this);" /> </td> </tr> <tr> <td align="center"> <input type="button" class="button" name="btnRouter" value="ROUTER" onclick="loadValues(this);" /> </td> </tr> <tr> <td align="center"> <input type="button" class="button" 73 name="btnSwitch" value="SWITCH" onclick="loadValues(this);" /> </td> </tr> </table></td> <td align="center" colspan="3" rowspan="4"> <table border="l" width="100%"> <tr> <td align="left" id="value_lable">Item</td> <td align="left">:</td> <td align="left"> <input type="text" class="textbox" id="txtValue" readonly="readonly" style="width:100px;" /> </td> </tr> <tr> <td align="left" id="value_lable">Status</td> <td align="left">:</td> <td align="left"> <input t y p e - ' t e x t " c l a s s - ' t e x t b o x " id="txtStatus" readonly-'readonly" style="width:100px;" /> </td> </tr> </table> <table border="l" width="100%"> <tr> <td align="left">Data Rates</td> </tr> <tr> <td align="left" id="value_lable">In C o m i n g Rate</td> <td align="left">:</td> <td align="left"> <input type="text" class="textbox" id="txtln_rate" readonly="readonly" style="width:100px;" / > </td> </tr> <tr> <td aligns"Ieft">Out Going Rate</td> <td align="left">:</td> <td align-'left"> <input type="text" class="textbox" id="txtOut_rate" readonly="readonly" style-'width:lOOpx;" / > </td> </tr> </table></td> </tr> </tbody> 74 <tfoot> <tr> <td colspan="6" align="right"> <input type="reset" class="button" value="RESET" onclick="resetForm();" /> </td> </tr> </tfoot> </table> </form> </div> </div> </div> </div> </div> </div> </div> <?php require_once(\./Data/TemplateBottom.php'); ?> </body> </html> 75 NMS- Uptime Monitor ( To send SMS ) IDOCTYPE html P U B L I C "-//W3C//DTD X H T M L 1.0 Transitional//EN" ''http://www.w3.org/TR/xhtmll/DTD/xhtmll-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> < t i t l e > N M S Uptime Monitor</title> <script language="JavaScript" type="text/javascript"> llllllllllllllllllllllllll/lllllllllllllllllllllllllllllllllllllllllllllllll II C O N F I G U R A T I O N S T A R T S HERE // Configure refresh interval (in seconds) var refreshinterval=30 // Shall the c o u n d o w n be displayed inside your status bar? Say "yes" or "no" below: var displaycountdown="yes" // C O N F I G U R A T I O N E N D S HERE llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll II D o not edit the code below var starttime var nowtime var reloadseconds=0 var secondssinceloaded=0 function starttimef) { starttime=new Date() starttime=starttime.getTime() countdown() } function countdown() { n o w t i m e = n e w DateQ nowtime=nowtime.gefTime() secondssinceloaded=(nowtime-starttime)/1000 reloadseconds=Math.round(refreshinterval-secondssinceloaded) if (refreshinterval>=secondssinceloaded) { var timer=setTimeout("countdown()", 1000) if (displaycountdown=="yes") { w i n d o w . s t a t u s - ' P a g e refreshing in "+reloadseconds+ " seconds" } I 76 • clearTimeout(timer) window.location.reload(true) } } window.onload=starttime </script> <style type="text/css"> <!-.style 1 { color: # 0 0 3 3 9 9 ; font-weight: bold; font-size: 24px; } .style3 .style4 .style7 .style8 {color: # 0 0 3 3 9 9 ; } {color: # 6 6 6 6 0 0 } {color: # 9 9 0 0 0 0 } { color: # 0 0 6 6 0 0 ; font-weight: bold; } .style 11 { color: # 0 0 3 3 9 9 ; font-weight: bold; font-style: italic; font-size: 12px; } . s t y l e l 3 {color: # 9 9 0 0 3 3 ; font-weight: b o l d ; } —> </style> </head> <body> <?PHP require('conn.php'); ?> <h2> </h2> <p> </p> <table width="872" height="260" border="0" align="center" bordercolor="#FFFFFF" bgcolor="#FFFFFF"> <tr> <td height="53" colspan="3"><h2 c l a s s = " s t y l e l " > N M S Uptime Monitor</h2></td> 77 <tr> <td height="43" colspan="3"><h3 class="style3">Current Configurations </h3></td> </tr> <tr> <td width="196" height="38"><span class="style4">Last Refresh Time</span></td> <td colspan="2"><span class="style4"><strong><?php e c h o date('d-m-y H:i:s')."<BR>"; ?></strong></span></td> </tr> <tr> <td height="30"><span class="style4">A!erts Destinaton </span></td> <td colspan="2"><span class="style4"><strong><?php e c h o $pno; ?></strong></span></td> </tr> <tr> <td height="31" class="style4">Top Level Alert Destination </td> <td colspan="2"><span class="style4"><strong><?php e c h o STLApno; ?> </strong></span><span class="stylel 1 ">Alert will be sent to a pre-defined top level Manager after a 4 hours o f delay </span></td> <td width="6"> </td> </tr> <tr> <td colspan="3"> </td> </tr> <tr> <td height="31" colspan="3" class="style7"><span class="stylel3">Branches in unreachable state</span></td> </tr> <?php e c h o "<p></p> "; //echo date('l j S \ o f F Y h:i:s A'); $sql="SELECT * FROM branches W H E R E W A N 1 _ I P _ S T A T U S = ' 0 ' OR WAN2_IP_STATUS='0' ORDER BY WAN1_IP_STATUS"; $result=mysql_query($sql); w h i l e ( $ r o w = m y sq l f e t c h a r r a y ($resu It)) { if($row['ALERT_STATUS'] = = 0) { $node = " ; $type = " ; if ( $ r o w [ ' W A N 2 _ I P _ S T A T U S ' ] = = 0 ) { $node = "WAN2"; } else { 78 } SinsertSql = "INSERT INTO alert ( B R A N C H I D , N O D E , T Y P E ) V A L U E S ('".$row['BRANCH_ID*]."', "'.$node.'", 'ALERT')"; $resultO=mysql_query($insertSql); $updateSql="UPDATE branches SET A L E R T S T A T U S = 1, A L E R T T I M E = now() W H E R E B R A N C H I D = ".$row['BRANCH_ID']."" $resultOO=mysql_query($updateSql); ; $msg=$row['NAME']." branch is d o w n ..."; $txt="smssender.exe /p:$pno /m:\"$msg\" /l"; $fp = fopen('sms.bat', 'w'); fwrite($fp, $txt); fclose($fp); } else if($row['RECOVERY_STATUS'] = 0) { if( time() - strtotime($row['ALERT_TIME']) > 14400){ $topMsg= "Connectivity o f the ".$row['NAME']." branch is d o w n for more that 4 hours, Please have your attaention"; $txt="smssender.exe /p:$TLApno /m:\"$topMsg\" /l"; $fp = fopen('sms.bat', 'w'); fwrite($fp, $txt); fclose($fp); } } ?> <tr> <td height="28" class="style4"><?php e c h o $row['NAME']; ?></td> <td height="28" class="style4"><?php i f ( $ r o w [ ' W A N l _ I P _ S T A T U S ' ] = 0 ) { e c h o "WAN1"; } else { e c h o "WAN2";}?></td> <td height="28" class="style4"><?php echo $row['ALERT_TIME']; ?></td> </tr> <?php //echo $msg."<br>"; } ?> <tr> <td colspan="3"> </td> </tr> <tr> 79 <td h e i g h t - ' 3 1 " colspan="3" class="style7"><span class="style8">Branches recovered recently</span></td> </tr> <?php $recSql="SELECT * F R O M branches W H E R E R E C O V E R Y S T A T U S = '1'"; $recResult=mysql_query($recSql); //echo SrecSql; while($row=mysql_fetch_array($recResult)){ if($row['WAN2_IP_STATUS'] = = 1 & & $ r o w [ ' W A N l _ I P _ S T A T U S ' ] = = 1) { $updateRecSql="UPDATE branches SET A L E R T S T A T U S = 0, A L E R T T I M E = null, R E C O V E R Y S T A T U S = 0, R E C O V E R Y T I M E = null W H E R E B R A N C H I D = ".$row['BRANCH_ID'].""; $resultOO=mysql_query($updateRecSql); } else { $updateRecSql="UPDATE branches S E T R E C O V E R Y S T A T U S = 0, R E C O V E R Y _ T I M E = " W H E R E B R A N C H I D = ".$row['BRANCH_ID'].""; $resultOO=mysql_query($updateRecSql); } ?> <tr> <td height="28" class="style4"><?php e c h o $row['NAME']; ?></td> <td height="28" class="style4"><?php i f ( $ r o w [ ' W A N l _ I P _ S T A T U S ' ] = = 0){ echo " W A N 1 " ; } else { e c h o "WAN2";}?></td> <td height="28" class="style4"><?php e c h o $row['RECOVERY_TIME*]; ?></td> </tr> <?php } ?> </table> <p> </p> </body> </html> 80 Appendix D Test Cases The test cases used and the results are given below. Test cases for user login authentication. Description Expected output System created output Status User login with valid user id & password Enter valid user id with invalid password Display the N M S Main Menu "Invalid password" message prompt for the user login again Display the N M S Main Menu "Invalid password" m e s s a g e prompt for the user login again Success 3 Enter Invalid user id with valid password "Invalid user id" message prompt for the user login again "Invalid user id" m e s s a g e prompt for the user login again Success 4 Enter Invalid user id with Invalid password "Invalid user id" message prompt for the user login again "Invalid user id" m e s s a g e prompt for the user login again Success 5 Press the login button without any values. "Invalid user id" message prompt for the user login again "Invalid user id" message prompt for the user login again Success Test case No. 1 2 Table D.l - Test cases for user login authentication 81 Success Test cases for Tracing the Route. Test case No. Description Expected output System created output Status 1 Enter Invalid IP "Invalid IP" message prompt for the Tracing the Route again "Invalid IP" m e s s a g e prompt for the Tracing the Route again Success 2 Enter Blank Enter non existing IP "Invalid IP" message prompt for the Tracing the Route again Tracing the hop by hop and cannot trace the IP Success 3 "Invalid IP" message prompt for the Tracing the Route again Tracing the hop by hop and cannot trace the IP 4 Enter valid existing IP Tracing the hop by hop and trace the particular IP Tracing the hop by hop and trace the particular IP Success Success Table D-2 - Test cases for Tracing the Route. Test cases for Error checking. Test case No. Description Expected output System created output Status 1 Enter Invalid Branch c o d e "Invalid Branch" message prompt for the Error checking again "Invalid Branch" m e s s a g e prompt for the Error checking again Success 2 Enter Blank "Invalid Branch" message prompt for the Error checking again "Invalid Branch" message prompt for the Error checking again Success 3 Enter valid existing Branch code Display the errors for given Branch Display the errors for given Branch Success Table - D-3- Test Cases for Error Checking 82 • Test cases for Network Device Status. Test case No. 1 Description Expected output System created output Status Enter Invalid Branch c o d e "Invalid Branch" message prompt for the Network device status again "Invalid Branch" message prompt for the Network device status again Success 2 Enter Blank "Invalid Branch" message prompt for the Network device status again Success 3 Enter valid existing Branch code Display the Network D e v i c e Status for given Branch "Invalid Branch" m e s s a g e prompt for the Network device status again Display the Network D e v i c e Status for given Branch Success Table D-4 - Test cases for Network Device Status Test cases for Configuration Management. Description Expected output System created output Status Enter Invalid Branch c o d e "Invalid Branch" message prompt for the configuration management again "Invalid Branch" message prompt for the configuration management again Success 2 Enter Blank "Invalid Branch" message prompt for the configuration management again "Invalid Branch" message prompt for the configuration management again Success 3 Enter valid existing Branch code Display the existing Maximum values for given Branch Display the existing Maximum values for given Branch Success Test case No. 1 Table D-5 - Test cases for Configuration Management 83 Test cases for Data Transfer Rate. Test case No. Description Expected output System created output Status 1 Enter Invalid Branch code "Invalid Branch" message prompt for the Data Transfer Rate again Success 2 Enter Blank "Invalid Branch" message prompt for the Data Transfer Rate again "Invalid Branch" m e s s a g e prompt for the Data Transfer Rate again "Invalid Branch" m e s s a g e prompt for the Data Transfer Rate again 3 Enter valid existing Branch code Display the last five minutes input, output and L A N Data Rates for given Branch Success Display the last five minutes input, output and L A N Data Rates for given Branch Success Table D-6 - Test cases for Data Transfer Rate Save test procedures were carried out for the user and other form submitting interfaces and all the test cases were successful. Normal user interfaces tested by Data centre staff and required output given by the system. Administrative interfaces tested by myself. The test data and user acceptance test results as follows 9 Test Cases The interface used to logon to the system Test Case Login with incorrect user id # Login with incorrect password Login with correct user id and password Input Data Xyz Expected Result Output Result User not exists message display User not exists m e s s a g e display Abcde Incorrect user name or password Incorrect user name or password xyz xyz123 Load N M S Main menu Load N M S Main menu Table D-7 - Test Results of the Login Form 84 Tracing the Route used for Troubleshooting • Test Case Input Data Expected Result Output Result Enter Invalid IP 12.35.2 or 12..3.5.6 or 12.267.6.5 "Invalid IP" message display "Invalid IP" m e s s a g e display "Invalid IP" message display Tracing the hop by hop and cannot trace the IP "Invalid IP" m e s s a g e display Tracing the hop by hop and cannot trace the IP Tracing the hop by hop and trace the particular IP Enter Blank Enter non existing IP 15.47.7.1 Enter valid existing IP 15.2.4.1 Tracing the hop by hop and trace the particular IP Tab e D-8 - Test Results of the Trace route Form Error checking form Test Case Input Data Expected Result Output Result Enter Invalid Branch code Enter Blank A250 "Invalid message "Invalid message "Invalid message "Invalid message Enter non existing Branch code 6785 Enter valid Branch code 225 "Invalid Branch code" message display Display the Errors for given branch Branch code" display Branch code" display Table D-9 - Error checking form 85 Branch code" display Branch code" display "Invalid Branch code" message display Display the Errors for given branch • Test Results of the Error Checking Form Network D e v i c e Status form • fjj » Test Case Input Data Expected Result Output Result Enter Invalid Branch code Enter Blank A250 "Invalid message "Invalid message "Invalid message "Invalid message Enter non existing Branch code Enter valid Branch code 6785 "Invalid Branch code" message display Display the Network Device Status given branch 225 Branch code" display Branch code" display Branch code" display Branch code" display "Invalid Branch code" m e s s a g e display Display the Network D e v i c e Status given branch Table D-10 Network Device Status form