setup.php
上传用户:shbosideng
上传日期:2013-05-04
资源大小:1555k
文件大小:5k
源码类别:

SNMP编程

开发平台:

C/C++

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-Language" content="en-us">
  4. <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
  5. <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
  6. <meta name="ProgId" content="FrontPage.Editor.Document">
  7. <title>MRTG New Switch configuration</title>
  8. </head>
  9. <body>
  10. <p><b><u>MRTG New Switch configuration</u></b></p>
  11. <FORM ACTION=setup.php METHOD=POST>
  12.   <table border="0" width="100%">
  13.     <tr>
  14.       <td width="12%">Switch IP or Hostname:</td>
  15.       <td width="88%"><input type="text" name="switch_ip" size="20"></td>
  16.     </tr>
  17.     <tr>
  18.       <td width="12%">Snmp community:</td>
  19.       <td width="88%"><input type="text" name="snmp_community" size="20" value="public"></td>
  20.     </tr>
  21.     <tr>
  22.       <td width="12%">Option:</td>
  23.       <td width="88%"><input type="checkbox" name="run_cfgmaker" value="ON" checked>Generate
  24.         config</td>
  25.     </tr>
  26.     <tr>
  27.       <td width="12%"></td>
  28.       <td width="88%"><input type="checkbox" name="run_mrtg" value="ON" checked>Run
  29.         mrtg</td>
  30.     </tr>
  31.     <tr>
  32.       <td width="12%"></td>
  33.       <td width="88%"><input type="checkbox" name="run_indexmaker" value="ON" checked>Create
  34.         html index</td>
  35.     </tr>
  36.     <tr>
  37.       <td width="12%">Cfgmaker options:</td>
  38.       <td width="88%" align="left" valign="top">
  39.         <input type="checkbox" name="nodown" value="--no-down">Query down
  40.         interface (--no-down)</td>
  41.     </tr>
  42.     <tr>
  43.       <td width="12%"></td>
  44.       <td width="88%" align="left" valign="top">
  45.         <input type="checkbox" name="noreverse" value="--noreversedns">No
  46.         reverse Dns (--noreversedns)</td>
  47.     </tr>
  48.     <tr>
  49.       <td width="12%">Mrtg Options:</td>
  50.       <td width="88%" align="left" valign="top">
  51.         <p align="left"><input type="checkbox" name="growright" value="growright" checked>Right
  52.         starting graph (growright)</td>
  53.     </tr>
  54.     <tr>
  55.       <td width="12%"></td>
  56.       <td width="88%"><input type="checkbox" name="bits" value="bits" checked>Graph
  57.         in Bits (bits)</td>
  58.     </tr>
  59.     <tr>
  60.       <td width="12%">Interface Name:</td>
  61.       <td width="88%"><select size="1" name="interface_desc">
  62.           <option selected value="nr">Interface Number</option>
  63.           <option value="ip">Ip Address</option>
  64.           <option value="eth">Ethernet Number</option>
  65.           <option value="descr">Interface Description</option>
  66.           <option value="name">Interface Name</option>
  67.           <option value="alias">Interface Alias</option>
  68.           <option value="type">Interface Type</option>
  69.         </select></td>
  70.     </tr>
  71.   </table>
  72.   <p><input type="submit" value="Add switch" name="B1"><input type="reset" value="Reset" name="B2"></p>
  73. </form>
  74. <hr>
  75. <? 
  76. if($REQUEST_METHOD == "POST"){ 
  77. // Replace this path with the path to the config.inc.php file
  78. include ("e:\mrtg\conf\config.inc.php");
  79. // Build Cfgmaker options from the html form
  80. $cfgmaker_option = " ".$nodown." ".$noreverse;
  81.  
  82. // Build Cfgmaker options from the html form
  83. $cfgmaker_global_option = $growright.",".$bits; 
  84. $cfgmaker_param = "--global "WorkDir: ".$mrtg_html_dir.$switch_ip."""." --global "Icondir: ".$mrtg_icon_dir."""
  85. ." --global "Options[_]: ".$cfgmaker_global_option."""
  86. ." --ifdesc=".$interface_desc." --community "
  87. .$snmp_community
  88. .$cfgmaker_option." --output=".$mrtg_config_dir
  89. .$switch_ip.".cfg";
  90. $indexmaker_option = " --output=".$mrtg_html_dir.$switch_ip.".html"." --prefix=./".$switch_ip."/"." ".$mrtg_config_dir.$switch_ip.".cfg";;
  91. // Test if the host answer telnet ('cause UDP querie is always successfull :-()
  92. $fp = fsockopen ($switch_ip, 23, $errno, $errstr, 1);
  93. if (!$fp) {
  94.     echo "The host:".$switch_ip." did not respond...";
  95.     echo "<hr><a href=./>Back to index</a>";
  96.     exit();
  97. }
  98. // Creating dir for Switch config files and stats files
  99. if (!file_exists($switch_ip) && $switch_ip <> "") { 
  100. mkdir ($switch_ip,700);
  101. }
  102. // Run Cfg maker and mrtg script with argument from the form
  103. if ($switch_ip <> "") {
  104. if ($run_cfgmaker == "ON") {
  105. //echo $mrtg_html_dir."<br>";
  106. //echo $perl_exe." ".$cfgmaker_exe." ".$cfgmaker_param." ".$switch_ip;
  107. system($perl_exe." ".$cfgmaker_exe." ".$cfgmaker_param." ".$switch_ip);
  108. echo "Mrtg config for <b><a href=".$switch_ip.".html".">".$switch_ip."</a></b> created...<br>";
  109. }
  110. if ($run_mrtg == "ON") {
  111. //echo $perl_exe." ".$mrtg_exe." ".$mrtg_config_dir.$switch_ip.".cfg"."<br>";
  112. system ($perl_exe." ".$mrtg_exe." ".$mrtg_config_dir.$switch_ip.".cfg");
  113. echo "1st run Mrtg stats generated...<br>";
  114. }
  115. if ($run_indexmaker == "ON") {
  116. system ($perl_exe." ".$indexmaker_exe." ".$indexmaker_option);
  117. echo "Mrtg html index generated...<br>";
  118. }
  119. }
  120. }
  121. echo "<br><a href=./>Back to index</a>";
  122. ?>
  123. </body>
  124. </html>