/[projects]/misc/xenconsole/ajaxdata.php
ViewVC logotype

Diff of /misc/xenconsole/ajaxdata.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1885 by torben, Fri Nov 30 17:56:07 2012 UTC revision 1891 by torben, Sun Dec 2 14:56:06 2012 UTC
# Line 27  include('xenapi.php'); Line 27  include('xenapi.php');
27    
28  /* Establish session with Xenserver */  /* Establish session with Xenserver */
29  $xenserver = new XenApi($url, $login, $password);  $xenserver = new XenApi($url, $login, $password);
 $vms_array = $xenserver->VM__get_all_records();  
30    
31    $hosts_array = $xenserver->host__get_all();
32    $host = $xenserver->host__get_record($hosts_array[0]);
33    $host_metrics = $xenserver->host_metrics__get_record($host["metrics"]);
34    
35    $mem_total = $host_metrics["memory_total"];
36    $mem_free = $host_metrics["memory_free"];
37    
38    $vms_array = $xenserver->VM__get_all_records();
39    
40  header("Content-Type: text/xml");  header("Content-Type: text/xml");
41  echo "<xen>";  echo "<xen>";
42    echo "<host>";
43    echo "<memtotal>{$mem_total}</memtotal>";
44    echo "<memfree>{$mem_free}</memfree>";
45    echo "</host>";
46    
47  // List all machines  // List all machines
48  foreach($vms_array as $vm) {  foreach($vms_array as $vmref => $vm) {
49          if ($vm["is_a_template"] != 0 || $vm["is_control_domain"] != 0) {          if ($vm["is_a_template"] != 0 || $vm["is_control_domain"] != 0) {
50                  continue;                  continue;
51          }          }
# Line 43  foreach($vms_array as $vm) { Line 54  foreach($vms_array as $vm) {
54          $name = $vm["name_label"];          $name = $vm["name_label"];
55          $uuid = $vm["uuid"];          $uuid = $vm["uuid"];
56          $state = $vm["power_state"] ;          $state = $vm["power_state"] ;
57            $cpus = $vm["VCPUs_max"];
58    
59    
60          $network = "";          $network = "";
61          $url = "";          $url = "";
62          $session = "";          $session = "";
63            $os = "";
64            $cpuavg = 0.0;
65          if ( $vm["power_state"] == "Running" ) {          if ( $vm["power_state"] == "Running" ) {
66                  if ($vm["guest_metrics"] != "OpaqueRef:NULL") {//guest tools installed                  if ($vm["guest_metrics"] != "OpaqueRef:NULL") {//guest tools installed
67                          $guest_metrics = $xenserver->VM_guest_metrics__get_record( $vm["guest_metrics"] );                          $guest_metrics = $xenserver->VM_guest_metrics__get_record( $vm["guest_metrics"] );
68                          $network = implode( ",",  $guest_metrics["networks"])  ;                          $network = implode( ",",  $guest_metrics["networks"])  ;
69                            $os =  $guest_metrics["os_version"]["name"];
70                  }                  }
71                    $cpusum = 0.0;
72                    for ($i=0; $i<$cpus; $i++) {
73                            $cpusum += $xenserver->VM__query_data_source($vmref, "cpu" . $i);
74                    }      
75                    $cpuavg = round (  ($cpusum/$cpus) * 100);
76                    
77    
78                  foreach($vm["consoles"] as $conref) {                  foreach($vm["consoles"] as $conref) {
79                          $con = $xenserver->console__get_record( $conref );                          $con = $xenserver->console__get_record( $conref );
# Line 73  foreach($vms_array as $vm) { Line 94  foreach($vms_array as $vm) {
94          echo "<network>{$network}</network>";          echo "<network>{$network}</network>";
95          echo "<conurl>{$url}</conurl>";          echo "<conurl>{$url}</conurl>";
96          echo "<session>{$session}</session>";          echo "<session>{$session}</session>";
97            echo "<os>{$os}</os>";
98            echo "<cpuavg>{$cpuavg}</cpuavg>";
99                    
100          echo "</vm>";            echo "</vm>";  
101  }  }

Legend:
Removed from v.1885  
changed lines
  Added in v.1891

  ViewVC Help
Powered by ViewVC 1.1.20