54 lines
2.0 KiB
PHP
54 lines
2.0 KiB
PHP
<?php
|
|
/**
|
|
* Observium
|
|
*
|
|
* This file is part of Observium.
|
|
*
|
|
* @package observium
|
|
* @subpackage discovery
|
|
* @copyright (C) Adam Armstrong
|
|
*
|
|
*/
|
|
|
|
// Try to discover any Virtual Machines.
|
|
|
|
// Variable to hold the discovered Virtual Machines.
|
|
$vmw_vmlist = [];
|
|
|
|
/*
|
|
* Fetch the Virtual Machine information.
|
|
*
|
|
* VMWARE-VMINFO-MIB::vmwVmDisplayName.224 = STRING: My First VM
|
|
* VMWARE-VMINFO-MIB::vmwVmDisplayName.416 = STRING: My Second VM
|
|
* VMWARE-VMINFO-MIB::vmwVmGuestOS.224 = STRING: windows7Server64Guest
|
|
* VMWARE-VMINFO-MIB::vmwVmGuestOS.416 = STRING: winLonghornGuest
|
|
* VMWARE-VMINFO-MIB::vmwVmMemSize.224 = INTEGER: 8192 megabytes
|
|
* VMWARE-VMINFO-MIB::vmwVmMemSize.416 = INTEGER: 8192 megabytes
|
|
* VMWARE-VMINFO-MIB::vmwVmState.224 = STRING: poweredOn
|
|
* VMWARE-VMINFO-MIB::vmwVmState.416 = STRING: poweredOn
|
|
* VMWARE-VMINFO-MIB::vmwVmVMID.224 = INTEGER: 224
|
|
* VMWARE-VMINFO-MIB::vmwVmVMID.416 = INTEGER: 416
|
|
* VMWARE-VMINFO-MIB::vmwVmCpus.224 = INTEGER: 2
|
|
* VMWARE-VMINFO-MIB::vmwVmCpus.416 = INTEGER: 2
|
|
*/
|
|
|
|
$oids = snmpwalk_cache_oid($device, 'vmwVmTable', [], 'VMWARE-VMINFO-MIB');
|
|
|
|
foreach ($oids as $index => $entry) {
|
|
// Call VM discovery
|
|
discover_virtual_machine($valid, $device, [ 'id' => $entry['vmwVmUUID'],
|
|
'name' => $entry['vmwVmDisplayName'],
|
|
'cpucount' => $entry['vmwVmCpus'],
|
|
'memory' => $entry['vmwVmMemSize'] * 1024 * 1024,
|
|
'status' => $entry['vmwVmState'],
|
|
'os' => $entry['vmwVmGuestOS'],
|
|
'type' => 'vmware',
|
|
'source' => 'vmware-snmp' ]);
|
|
}
|
|
|
|
// Clean up removed VMs (our type - vmware-snmp - only, so we don't clean up other modules' VMs)
|
|
check_valid_virtual_machines($device, $valid, 'vmware-snmp');
|
|
//echo(PHP_EOL);
|
|
|
|
// EOF
|