mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-10-31 03:12:30 +00:00 
			
		
		
		
	git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@4482 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /*
 | |
|  * setup.php
 | |
|  * perform the "monstart", "monadd" and "monstop" actions for selected monitoring plugins
 | |
|  */
 | |
| 
 | |
| if(!isset($TOPDIR)) { $TOPDIR="..";}
 | |
| 
 | |
| require_once "$TOPDIR/lib/security.php";
 | |
| require_once "$TOPDIR/lib/functions.php";
 | |
| require_once "$TOPDIR/lib/display.php";
 | |
| require_once "$TOPDIR/lib/monitor_display.php";
 | |
| 
 | |
| $name = $_REQUEST['name'];
 | |
| $action = $_REQUEST['action'];
 | |
| //read the "monitoring" table to see whether node status monitoring is enable or not
 | |
| //$xml = docmd("webrun", "", array("gettab name=$name monitoring.nodestatmon"));
 | |
| //if(getXmlErrors($xml, $errors)) {
 | |
| //    echo "<p class=Error>",implode(' ', $errors), "</p>";
 | |
| //    exit;
 | |
| //}
 | |
| //
 | |
| //foreach($xml->children() as $response) foreach($response->children() as $data)
 | |
| //{
 | |
| //    $nodemonstat = $data;
 | |
| //}
 | |
| switch($action) {
 | |
|     case "stop":
 | |
|         monstop($name);
 | |
|         break;
 | |
|     case "restart":
 | |
|         monrestart($name);
 | |
|         break;
 | |
|     case "start":
 | |
|         monstart($name);
 | |
|         break;
 | |
|     default:
 | |
|         break;
 | |
| }
 | |
| 
 | |
| function monstop($plugin)
 | |
| {
 | |
|     $xml = docmd("monstop", "", array("$plugin","-r"));
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| function monrestart($plugin)
 | |
| {
 | |
|     $xml = docmd("monstop", "", array("$plugin", "-r"));
 | |
|     if(getXmlErrors($xml, $errors)) {
 | |
|         echo "<p class=Error>",implode(' ', $errors), "</p>";
 | |
|         exit;
 | |
|     }
 | |
|     $xml = docmd("moncfg", "", array("$plugin", "-r"));
 | |
|     if(getXmlErrors($xml, $errors)) {
 | |
|         echo "<p class=Error>",implode(' ', $errors), "</p>";
 | |
|         exit;
 | |
|     }
 | |
| 
 | |
|     $xml = docmd("monstart", "", array("$plugin", "-r"));
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| function monstart($plugin)
 | |
| {
 | |
|     //Before running "monstart", the command "monls" is used to check
 | |
|     $xml = docmd("monls","", NULL);
 | |
|     if(getXmlErrors($xml, $errors)) {
 | |
|         echo "<p class=Error>",implode(' ', $errors), "</p>";
 | |
|         exit;
 | |
|     }
 | |
|     $has_plugin = false;
 | |
|     if(count($xml->children()) != 0) {
 | |
|         foreach($xml->children() as $response)  foreach($response->children() as $data) {
 | |
|             $arr = preg_split("/\s+/", $data);
 | |
|             if($arr[0] == $plugin) {
 | |
|                 $has_plugin = true;
 | |
|             }
 | |
|         }
 | |
|     }
 | |
|     if($has_plugin == false) {
 | |
|         //if $has_plugin == false, that means the plugin is not added into the monitoring table
 | |
|         $xml = docmd("monadd",'', array("$plugin"));
 | |
|         if(getXmlErrors($xml, $errors)) {
 | |
|             echo "<p class=Error>",implode(' ', $errors), "</p>";
 | |
|             exit;
 | |
|         }
 | |
|     }
 | |
|     //we have to make sure that the plugin is added in the "monitoring" table
 | |
|     $xml = docmd("monstart", "", array("$plugin", "-r"));
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| ?>
 |