diff --git a/database-update.sql b/database-update.sql index e3edfc0bbd..347ecf04a1 100644 --- a/database-update.sql +++ b/database-update.sql @@ -28,3 +28,4 @@ ALTER TABLE sensors MODIFY sensor_descr VARCHAR(255); ALTER TABLE `vrfs` MODIFY `mplsVpnVrfRouteDistinguisher` VARCHAR(128); ALTER TABLE `vrfs` MODIFY `vrf_name` VARCHAR(128); ALTER TABLE `ports` MODIFY `ifDescr` VARCHAR(255); +CREATE TABLE IF NOT EXISTS `vmware_vminfo` (`id` int(11) NOT NULL AUTO_INCREMENT, `device_id` int(11) NOT NULL, `vmwVmVMID` int(11) NOT NULL, `vmwVmDisplayName` varchar(128) NOT NULL, `vmwVmGuestOS` varchar(128) NOT NULL, `vmwVmMemSize` int(11) NOT NULL, `vmwVmCpus` int(11) NOT NULL, `vmwVmState` varchar(128) NOT NULL, PRIMARY KEY (`id`), KEY `device_id` (`device_id`), KEY `vmwVmVMID` (`vmwVmVMID`)) ENGINE=InnoDB DEFAULT CHARSET=utf8; diff --git a/discovery.php b/discovery.php index d57299bed7..17ea705a52 100755 --- a/discovery.php +++ b/discovery.php @@ -182,6 +182,7 @@ while ($device = mysql_fetch_array($device_query)) include("includes/discovery/cisco-mac-accounting.inc.php"); include("includes/discovery/cisco-pw.inc.php"); include("includes/discovery/cisco-vrf.inc.php"); + include("includes/discovery/vmware-vminfo.inc.php"); include("includes/discovery/toner.inc.php"); include("includes/discovery/ucd-diskio.inc.php"); include("includes/discovery/services.inc.php"); @@ -221,4 +222,4 @@ if ($debug) echo("$string\n"); logfile($string); -?> \ No newline at end of file +?> diff --git a/html/images/os/vmware.png b/html/images/os/vmware.png new file mode 100644 index 0000000000..3ff82d91e3 Binary files /dev/null and b/html/images/os/vmware.png differ diff --git a/html/includes/print-vm.inc.php b/html/includes/print-vm.inc.php new file mode 100644 index 0000000000..15ca83e378 --- /dev/null +++ b/html/includes/print-vm.inc.php @@ -0,0 +1,24 @@ +"); + +echo("" . $vm['vmwVmDisplayName'] . ""); +echo("" . $vm['vmwVmState'] . ""); + +if ($vm['vmwVmGuestOS'] == "E: tools not installed") { + echo("Unknown (VMware Tools not installed)"); +} else { + echo("" . $config['vmware_guestid'][$vm['vmwVmGuestOS']] . ""); +} + +if ($vm['vmwVmMemSize'] >= 1024) { + echo("" . $vm['vmwVmMemSize']/1024 . " GB"); +} else { + echo("" . $vm['vmwVmMemSize'] . " MB"); +} + +echo("" . $vm['vmwVmCpus'] . " CPU"); + +?> diff --git a/html/pages/device.inc.php b/html/pages/device.inc.php index 4d3d98ad66..64173b3c15 100644 --- a/html/pages/device.inc.php +++ b/html/pages/device.inc.php @@ -105,6 +105,15 @@ if (device_permitted($_GET['id']) || $check_device == $_GET['id']) '); } + if (@mysql_result(mysql_query("SELECT COUNT(id) FROM vmware_vminfo WHERE device_id = '" . $device["device_id"] . "'"), 0) > '0') + { + echo('
  • + + Virtual Machines + +
  • '); + } + if (@mysql_result(mysql_query("select count(*) from vrfs WHERE device_id = '" . $device['device_id'] . "'"), 0) > '0') { echo('
  • @@ -226,4 +235,4 @@ else { include("includes/error-no-perm.inc.php"); } -?> \ No newline at end of file +?> diff --git a/html/pages/device/vm.inc.php b/html/pages/device/vm.inc.php new file mode 100644 index 0000000000..188a92953a --- /dev/null +++ b/html/pages/device/vm.inc.php @@ -0,0 +1,16 @@ +Server NamePower StatusOperating SystemMemoryCPU'); + +$i = "1"; +$vm_query = mysql_query("SELECT id, vmwVmVMID, vmwVmDisplayName, vmwVmGuestOS, vmwVmMemSize, vmwVmCpus, vmwVmState FROM vmware_vminfo WHERE device_id = '".mres($_GET['id'])."' ORDER BY vmwVmDisplayName"); + +while ($vm = mysql_fetch_array($vm_query)) +{ + include("includes/print-vm.inc.php"); + $i++; +} + +echo(""); + +?> diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index ec271e8d70..6c890c7056 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -224,4 +224,6 @@ $config['astext'][65333] = "Cymru Bogon Feed"; ### What should we warn about? $config['warn']['ifdown'] = false; -?> \ No newline at end of file +## INCLUDE THE VMWARE DEFINITION FILE. +require_once("vmware_guestid.inc.php"); +?> diff --git a/includes/discovery/os/vmware.inc.php b/includes/discovery/os/vmware.inc.php new file mode 100755 index 0000000000..cfa17d63bd --- /dev/null +++ b/includes/discovery/os/vmware.inc.php @@ -0,0 +1,8 @@ + diff --git a/includes/discovery/ports.inc.php b/includes/discovery/ports.inc.php index d3bdb67b87..873e35b6ab 100755 --- a/includes/discovery/ports.inc.php +++ b/includes/discovery/ports.inc.php @@ -31,6 +31,7 @@ foreach (explode("\n", $ports) as $entry){ if (empty($ifDescr)) { $nullintf = 1; } if ($device['os'] == "catos" && strstr($if, "vlan") ) { $nullintf = 1; } + if ($device['os'] == "vmware" && preg_match("/Device ([a-z0-9]+) at .*/", $ifDescr, $matches)) { $ifDescr = $matches[1]; } $ifDescr = fixifName($ifDescr); if (preg_match('/serial[0-9]:/', $if)) { $nullintf = 1; } if (isset($config['allow_ng']) && !$config['allow_ng']) { diff --git a/includes/discovery/vmware-vminfo.inc.php b/includes/discovery/vmware-vminfo.inc.php new file mode 100755 index 0000000000..f83fc5583b --- /dev/null +++ b/includes/discovery/vmware-vminfo.inc.php @@ -0,0 +1,118 @@ + \ No newline at end of file diff --git a/includes/polling/os/vmware.inc.php b/includes/polling/os/vmware.inc.php new file mode 100644 index 0000000000..4caee61f41 --- /dev/null +++ b/includes/polling/os/vmware.inc.php @@ -0,0 +1,102 @@ + $value) { + + + /* + * Check the property for any modifications. + */ + + if ($vm_info[$property] != $db_info[$property]) { + mysql_query("UPDATE vmware_vminfo SET " . $property ." = '" . mres($vm_info[$property]) ."' WHERE id = '" . $db_info["id"] . "'"); + log_event($db_info["vmwVmDisplayName"] . " (" . preg_replace("/^vmwVm/", "", $property) . ") -> " . $vm_info[$property], $device['device_id']); + } + } +} + + +/* + * Finished discovering VMware information. + */ + +echo("\n"); +?> \ No newline at end of file diff --git a/includes/polling/ports.inc.php b/includes/polling/ports.inc.php index 23dc41ee1c..88657c743a 100755 --- a/includes/polling/ports.inc.php +++ b/includes/polling/ports.inc.php @@ -105,7 +105,7 @@ while ($port = mysql_fetch_array($port_query)) if ($port_stats[$port['ifIndex']] && $port['disabled'] != "1") { // Check to make sure Port data is cached. $this_port = &$port_stats[$port['ifIndex']]; - + if ($device['os'] == "vmware" && preg_match("/Device ([a-z0-9]+) at .*/", $this_port['ifDescr'], $matches)) { $this_port['ifDescr'] = $matches[1]; } $polled_period = $polled - $port['poll_time']; $update .= "`poll_time` = '".$polled."'"; diff --git a/includes/static-config.php b/includes/static-config.php index b0d71106b0..2583379802 100644 --- a/includes/static-config.php +++ b/includes/static-config.php @@ -660,6 +660,13 @@ $config['os'][$os]['over'][0]['graph'] = "device_current"; $config['os'][$os]['over'][0]['text'] = "Current"; $config['os'][$os]['icon'] = "servertech"; +$os = "vmware"; +$config['os'][$os]['type'] = "server"; +$config['os'][$os]['text'] = "VMware"; +$config['os'][$os]['ifXmcbc'] = 1; +$config['os'][$os]['over'][0]['graph'] = "device_bits"; +$config['os'][$os]['over'][0]['text'] = "Device Traffic"; + $device_types = array('server', 'network', 'firewall', 'workstation', 'printer', 'power', 'environment'); ### Graph Types diff --git a/includes/vmware_guestid.inc.php b/includes/vmware_guestid.inc.php new file mode 100644 index 0000000000..6ed011717d --- /dev/null +++ b/includes/vmware_guestid.inc.php @@ -0,0 +1,100 @@ + diff --git a/mibs/vmware/VMWARE-AGENTCAP-MIB.mib b/mibs/vmware/VMWARE-AGENTCAP-MIB.mib new file mode 100644 index 0000000000..5f1b257a09 --- /dev/null +++ b/mibs/vmware/VMWARE-AGENTCAP-MIB.mib @@ -0,0 +1,548 @@ +-- ********************************************************** +-- Copyright 2008 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-AGENTCAP-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY + FROM SNMPv2-SMI + vmwareAgentCapabilities + FROM VMWARE-ROOT-MIB + AGENT-CAPABILITIES + FROM SNMPv2-CONF; +vmwAgentCapabilityMIB MODULE-IDENTITY + LAST-UPDATED "200810270000Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " + DESCRIPTION + "This module defines agent capabilities for VMware agents." + REVISION "200810270000Z" + DESCRIPTION + "Capabilities for VMware ESX 4.0 added." + ::= { vmwareAgentCapabilities 1 } + +vmwEsxCapability OBJECT IDENTIFIER ::= { vmwAgentCapabilityMIB 1 } + + +vmwESX41x AGENT-CAPABILITIES + PRODUCT-RELEASE + "4.1.x" + STATUS current + DESCRIPTION + "Release 4.1.x for VMware ESX" + REFERENCE + "http://www.vmware.com/products" + + -- RFC 3418 + SUPPORTS SNMPv2-MIB + INCLUDES { + snmpGroup, + systemGroup, + snmpCommunityGroup, + snmpBasicNotificationsGroup, + snmpWarmStartNotificationGroup + -- groups not supported; snmpSetGroup, snmpNotificationGroup + } + + VARIATION snmpSetSerialNo + ACCESS not-implemented + DESCRIPTION "Agent provides read-only view of system information." + + VARIATION snmpTrapOID + ACCESS not-implemented + DESCRIPTION "Agent does not proxy other agents RFC1157 Trap-PDUs." + + VARIATION snmpTrapEnterprise + ACCESS not-implemented + DESCRIPTION "Agent does not proxy other agents RFC1157 Trap-PDUs." + + VARIATION snmpEnableAuthenTraps + SYNTAX INTEGER { disabled(2) } + ACCESS read-only + DESCRIPTION "Agent does not allow authentication traps. Poll snmpInBadCommunityNames for same info." + -- the above implies this: + -- VARIATION authenticationFailure + -- ACCESS not-implemented + -- DESCRIPTION "Agent does not provide this notification. snmpEnableAuthenTraps will return disabled." + + + -- ********************* ************ ************ *************** *** + -- RFC 2863 + SUPPORTS IF-MIB + INCLUDES { + ifGeneralInformationGroup, + linkUpDownNotificationsGroup + } + + VARIATION ifAdminStatus + ACCESS read-only + DESCRIPTION "Agent provides read-only view of administrative state for each interface. + ESX virtual layer 2 switches may support changing administrative state + of physical network interfaces (nics)." + + VARIATION ifLinkUpDownTrapEnable + ACCESS read-only + DESCRIPTION "Agent provides read-only view of system information." + + VARIATION ifAlias + ACCESS read-only + DESCRIPTION "ifIndexes may only change across reboot." + + VARIATION ifInUnknownProtos + ACCESS not-implemented + DESCRIPTION "This counter always returns 0." + + -- ifRcvAddressGroup is interface/media specific + VARIATION ifRcvAddressStatus + ACCESS not-implemented + DESCRIPTION "Required if media specific mib modules are implemented." + + VARIATION ifRcvAddressType + ACCESS not-implemented + DESCRIPTION "Required if media specific mib modules are implemented." + + -- ********************* ************ ************ *************** *** + + -- REVISION 200712270000Z + SUPPORTS VMWARE-SYSTEM-MIB + INCLUDES { + vmwSystemGroup + } + -- REVISION 200810150000Z + SUPPORTS VMWARE-RESOURCES-MIB + INCLUDES { + vmwResourceGroup + } + -- REVISION 200810230000Z + SUPPORTS VMWARE-VMINFO-MIB + INCLUDES { + vmwVmInfoGroup, + vmwVmInfoNotificationGroup + } + -- VARIATION vmwVmNetConnType + -- DESCRIPTION "This object was valid for ESX 2.5 systems only. Only value returned was 'monitor_dev'" + -- STATUS deprecated + + -- REVISION 200712270000Z + SUPPORTS VMWARE-ENV-MIB + INCLUDES { + vmwEnvNotificationGroup + } + + ::= { vmwEsxCapability 2 } + + +vmwESX40x AGENT-CAPABILITIES + PRODUCT-RELEASE + "4.0.x" + STATUS current + DESCRIPTION + "Release 4.0.x for VMware ESX" + REFERENCE + "http://www.vmware.com/products" + + -- RFC 3418 + SUPPORTS SNMPv2-MIB + INCLUDES { + snmpGroup, + systemGroup, + snmpCommunityGroup, + snmpBasicNotificationsGroup, + snmpWarmStartNotificationGroup + -- groups not supported; snmpSetGroup, snmpNotificationGroup + } + + VARIATION snmpSetSerialNo + ACCESS not-implemented + DESCRIPTION "Agent provides read-only view of system information." + + VARIATION snmpTrapOID + ACCESS not-implemented + DESCRIPTION "Agent does not proxy other agents RFC1157 Trap-PDUs." + + VARIATION snmpTrapEnterprise + ACCESS not-implemented + DESCRIPTION "Agent does not proxy other agents RFC1157 Trap-PDUs." + + VARIATION snmpEnableAuthenTraps + SYNTAX INTEGER { disabled(2) } + ACCESS read-only + DESCRIPTION "Agent does not allow authentication traps. Poll snmpInBadCommunityNames for same info." + -- the above implies this: + -- VARIATION authenticationFailure + -- ACCESS not-implemented + -- DESCRIPTION "Agent does not provide this notification. snmpEnableAuthenTraps will return disabled." + + + -- ********************* ************ ************ *************** *** + -- RFC 2863 + SUPPORTS IF-MIB + INCLUDES { + ifGeneralInformationGroup, + linkUpDownNotificationsGroup + } + + VARIATION ifAdminStatus + SYNTAX INTEGER { up(1) } + ACCESS read-only + DESCRIPTION "Agent provides read-only view of system information and + does not support changing operational state." + + VARIATION ifLinkUpDownTrapEnable + ACCESS read-only + DESCRIPTION "Agent provides read-only view of system information." + + -- ifXTable not implemented + VARIATION ifTableLastChange + ACCESS not-implemented + DESCRIPTION "post RFC 1213 managed objects not implemented." + + VARIATION ifConnectorPresent + ACCESS not-implemented + DESCRIPTION "ifXTable not implemented." + + VARIATION ifHighSpeed + ACCESS not-implemented + DESCRIPTION "ifXTable not implemented." + + VARIATION ifName + ACCESS not-implemented + DESCRIPTION "ifXTable not implemented." + + VARIATION ifAlias + ACCESS not-implemented + DESCRIPTION "ifXTable not implemented." + + -- ifFixedLengthGroup + VARIATION ifAlias + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCInOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCOutOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInUnknownProtos + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + -- ifHCFixedLengthGroup + VARIATION ifHCInOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCOutOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInUnknownProtos + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + -- ifPacketGroup + VARIATION ifInOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInUnknownProtos + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifMtu + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInUcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInMulticastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInBroadcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInDiscards + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutUcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutMulticastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutBroadcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutDiscards + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifPromiscuousMode + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + + -- ifHCPacketGroup + VARIATION ifInOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInUnknownProtos + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifMtu + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInUcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInMulticastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInBroadcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInDiscards + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutUcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutMulticastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutBroadcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutDiscards + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifPromiscuousMode + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + -- ifVHCPacketGroup + VARIATION ifHCInUcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCInMulticastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCInBroadcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCOutUcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCOutMulticastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCOutBroadcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCInOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifHCOutOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutOctets + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInUnknownProtos + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutErrors + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifMtu + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInUcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInMulticastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInBroadcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifInDiscards + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutUcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutMulticastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutBroadcastPkts + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifOutDiscards + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + VARIATION ifPromiscuousMode + ACCESS not-implemented + DESCRIPTION "Performance counters not implemented." + + -- ifCounterDiscontinuityGroup + VARIATION ifCounterDiscontinuityTime + ACCESS not-implemented + DESCRIPTION "Required if Performance counters are implemented." + + -- ifRcvAddressGroup is interface/media specific + VARIATION ifRcvAddressStatus + ACCESS not-implemented + DESCRIPTION "Required if media specific mib modules are implemented." + + VARIATION ifRcvAddressType + ACCESS not-implemented + DESCRIPTION "Required if media specific mib modules are implemented." + + + -- ********************* ************ ************ *************** *** + + -- REVISION 200712270000Z + SUPPORTS VMWARE-SYSTEM-MIB + INCLUDES { + vmwSystemGroup + } + -- REVISION 200810150000Z + SUPPORTS VMWARE-RESOURCES-MIB + INCLUDES { + vmwResourceGroup + } + -- REVISION 200810230000Z + SUPPORTS VMWARE-VMINFO-MIB + INCLUDES { + vmwVmInfoGroup, + vmwVmInfoNotificationGroup + } + -- VARIATION vmwVmNetConnType + -- DESCRIPTION "This object was valid for ESX 2.5 systems only. Only value returned was 'monitor_dev'" + -- STATUS deprecated + + -- REVISION 200712270000Z + SUPPORTS VMWARE-ENV-MIB + INCLUDES { + vmwEnvNotificationGroup + } + + ::= { vmwEsxCapability 1 } + +END + diff --git a/mibs/vmware/VMWARE-ENV-MIB.mib b/mibs/vmware/VMWARE-ENV-MIB.mib new file mode 100644 index 0000000000..9614ae36c0 --- /dev/null +++ b/mibs/vmware/VMWARE-ENV-MIB.mib @@ -0,0 +1,231 @@ +-- ********************************************************** +-- Copyright 2008 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-ENV-MIB DEFINITIONS ::= BEGIN + +IMPORTS + Integer32, NOTIFICATION-TYPE, OBJECT-TYPE, TimeTicks, + MODULE-IDENTITY, OBJECT-IDENTITY + FROM SNMPv2-SMI + DisplayString + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + vmwProductSpecific, vmwNotifications + FROM VMWARE-ROOT-MIB + vmwESX + FROM VMWARE-PRODUCTS-MIB + VmwSubsystemStatus, VmwSubsystemTypes + FROM VMWARE-TC-MIB; + + vmwEnvironmentalMIB MODULE-IDENTITY + LAST-UPDATED "200810300000Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " +DESCRIPTION + "This MIB module identifies hardware components of a machine as provided by IPMI." + +REVISION "200810300000Z" +DESCRIPTION + "Introduce vmwESXNotification to match ESX 3.5 agent." + +REVISION "200712270000Z" +DESCRIPTION + "This is the first revision of this MIB module." +::= { vmwEnv 10 } + +vmwEnv OBJECT IDENTIFIER + ::= { vmwProductSpecific 20 } + +vmwESXNotifications OBJECT-IDENTITY +STATUS current +DESCRIPTION + "Parent of all ESX specific notifications (traps, informs)." + ::= { vmwESX 0 } + +vmwEnvNumber OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Count of number of conceptual rows in vmwEnvTable" + ::= { vmwEnv 1 } + +vmwEnvLastChange OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The value of sysUptime when a conceptual row was added + or deleted from this table" + ::= { vmwEnv 2 } + +vmwEnvTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwEnvEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This table is populated from monitoring subsystems such as IPMI + One conceptual row is maintained for each reporting component. + Conceptual rows are not persistent across device resets" + ::= { vmwEnv 3 } + +vmwEnvEntry OBJECT-TYPE + SYNTAX VmwEnvEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "One entry for each physical component reporting its + status to ESX Operating System" + INDEX { vmwEnvIndex } + ::= { vmwEnvTable 1 } + +VmwEnvEntry ::= SEQUENCE { + vmwEnvIndex Integer32, + vmwSubsystemType VmwSubsystemTypes, + vmwHardwareStatus VmwSubsystemStatus, + vmwEventDescription DisplayString, + vmwEnvHardwareTime TimeTicks +} + +vmwEnvIndex OBJECT-TYPE + SYNTAX Integer32 (1..1000) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A unique identifier that does not persist across management restarts" + ::= { vmwEnvEntry 1 } + +vmwSubsystemType OBJECT-TYPE + SYNTAX VmwSubsystemTypes + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Hardware component reporting environmental state" + ::= { vmwEnvEntry 2 } + +vmwHardwareStatus OBJECT-TYPE + SYNTAX VmwSubsystemStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Last reported state of this component" + ::= { vmwEnvEntry 3 } + +vmwEventDescription OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Human readable description of this event" + ::= { vmwEnvEntry 4 } + +vmwEnvHardwareTime OBJECT-TYPE + SYNTAX TimeTicks + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Value of sysUptime when vmwHardwareStatus was obtained" + ::= { vmwEnvEntry 5 } + +vmwEnvHardwareEvent NOTIFICATION-TYPE + OBJECTS { vmwSubsystemType, vmwHardwareStatus, + vmwEventDescription, vmwEnvHardwareTime } + STATUS current + DESCRIPTION + "This notification, if the agent is so configured, may be sent when the + system has detected a material change in physical condition of the + hardware" + ::= { vmwNotifications 301 } + +vmwESXEnvHardwareEvent NOTIFICATION-TYPE + OBJECTS { vmwSubsystemType, vmwHardwareStatus, + vmwEventDescription, vmwEnvHardwareTime } + STATUS current + DESCRIPTION + "ESX Specific version of this notification, + if the agent is so configured, may be sent when + the ESX Operating System has detected a material change in + physical condition of the hardware" + ::= { vmwESXNotifications 301 } + + +-- conformance information +vmwEnvironmentalMIBConformance +OBJECT IDENTIFIER ::= { vmwEnvironmentalMIB 2 } +vmwEnvironmentMIBCompliances +OBJECT IDENTIFIER ::= { vmwEnvironmentalMIBConformance 1 } +vmwEnvMIBGroups OBJECT IDENTIFIER ::= { vmwEnvironmentalMIBConformance 2 } + +-- compliance statements + +vmwEnvMIBBasicCompliance2 MODULE-COMPLIANCE +STATUS current +DESCRIPTION + "The compliance statement for entities which implement the + VMWARE-RESOURCE-MIB." +MODULE -- this module +MANDATORY-GROUPS { vmwEnvironmentGroup } + + +GROUP vmwESXEnvNotificationGroup +DESCRIPTION + "This group is mandatory for ESX based systems agents." + +GROUP vmwEnvNotificationGroup +DESCRIPTION + "This group is mandatory for vmware based systems agents." +::= { vmwEnvironmentMIBCompliances 3 } + +vmwEnvMIBBasicCompliance MODULE-COMPLIANCE +STATUS obsolete +DESCRIPTION + "The compliance statement for entities which implement the + VMWARE-RESOURCE-MIB." +MODULE -- this module +MANDATORY-GROUPS { vmwEnvironmentGroup, vmwEnvNotificationGroup } +::= { vmwEnvironmentMIBCompliances 2 } + + +vmwEnvironmentGroup OBJECT-GROUP + OBJECTS { + vmwEnvNumber, + vmwEnvLastChange, + vmwSubsystemType, + vmwHardwareStatus, + vmwEventDescription, + vmwEnvHardwareTime + } + STATUS current + DESCRIPTION + "These objects provide physical hardware environmental details." + ::= { vmwEnvMIBGroups 1 } + +vmwEnvNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + vmwEnvHardwareEvent + } + STATUS current + DESCRIPTION + "Notifications related to physical subsystems." + ::= { vmwEnvMIBGroups 2 } + +vmwESXEnvNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + vmwESXEnvHardwareEvent + } + STATUS current + DESCRIPTION + "ESX System specific notifications about physical subsystems." + ::= { vmwEnvMIBGroups 3 } + + +END -- end of module VMWARE-ENV-MIB. diff --git a/mibs/vmware/VMWARE-OBSOLETE-MIB.mib b/mibs/vmware/VMWARE-OBSOLETE-MIB.mib new file mode 100644 index 0000000000..ef3cc8e7f4 --- /dev/null +++ b/mibs/vmware/VMWARE-OBSOLETE-MIB.mib @@ -0,0 +1,578 @@ +-- ********************************************************** +-- Copyright 2008 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-OBSOLETE-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, + Counter32, Gauge32, Counter64, Integer32 + FROM SNMPv2-SMI + DisplayString + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + vmwResources, vmwTraps, vmwObsolete, vmwNotifications + FROM VMWARE-ROOT-MIB + vmwESX + FROM VMWARE-PRODUCTS-MIB + vmwVmID, vmwVmConfigFilePath + FROM VMWARE-VMINFO-MIB + vmwMemory, vmwCPU + FROM VMWARE-RESOURCES-MIB; + + vmwObsoleteMIB MODULE-IDENTITY + LAST-UPDATED "200810151159Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " +DESCRIPTION + "This MIB module contains all previously published managed objects that have been made + obsolete. The mib preserves OID mappings such that backward compatiblity is maintained." + +REVISION "200810151159Z" +DESCRIPTION + "This is the first version of this mib module. Objects from VMWARE-RESOURCES-MIB, + VMWARE-TRAPS-MIB moved here." +::= { vmwObsolete 1 } + + +-- Originally defined in VMWARE-VMKERNEL-MIB +vmkLoaded OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Has the vmkernel been loaded? (yes/no)" + ::= { vmwESX 1 } + +-- Originally defined in VMWARE-RESOURCES-MIB +--vmwResources OBJECT IDENTIFIER ::= { vmware 3 } +--vmwCPU OBJECT IDENTIFIER ::= { vmwResources 1 } + +vmwCpuTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwCpuEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "CPU Usage table by virtual machine." + ::= { vmwCPU 2 } + +vmwCpuEntry OBJECT-TYPE + SYNTAX VmwCpuEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "A record for CPU usage by a single virtual machine." + INDEX { vmwCpuVMID } + ::= { vmwCpuTable 1 } + + VmwCpuEntry ::= SEQUENCE { + vmwCpuVMID Integer32, + vmwCpuShares Gauge32, + vmwCpuUtil Gauge32 + } + +vmwCpuVMID OBJECT-TYPE + SYNTAX Integer32 (0..1023) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "ID allocated to running vm by the vmkernel." + ::= { vmwCpuEntry 1 } + +vmwCpuShares OBJECT-TYPE + SYNTAX Gauge32 + UNITS "unknown" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Share of CPU allocated to vm by vmkernel." + ::= { vmwCpuEntry 2 } + +vmwCpuUtil OBJECT-TYPE + SYNTAX Gauge32 + UNITS "seconds" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Time the virtual machine has been running on the CPU (seconds)." + ::= { vmwCpuEntry 3 } + +vmwMemTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwMemEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "Table of memory usage by virtual machine." + ::= { vmwMemory 4 } + +vmwMemEntry OBJECT-TYPE + SYNTAX VmwMemEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "A record for memory usage by a single virtual machine." + INDEX { vmwMemVMID } + ::= { vmwMemTable 1 } + + VmwMemEntry ::= SEQUENCE { + vmwMemVMID Integer32, + vmwMemShares Gauge32, + vmwMemConfigured Gauge32, + vmwMemUtil Gauge32 + } + +vmwMemVMID OBJECT-TYPE + SYNTAX Integer32 (0..1023) + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "ID allocated to running vm by the vmkernel." + ::= { vmwMemEntry 1 } + +vmwMemShares OBJECT-TYPE + SYNTAX Gauge32 + UNITS "unknown" + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Shares of memory allocated to vm by vmkernel." + ::= { vmwMemEntry 2 } + +vmwMemConfigured OBJECT-TYPE + SYNTAX Gauge32 + UNITS "kilobytes" + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Amount of memory the vm was configured with. (KB)" + ::= { vmwMemEntry 3 } + +vmwMemUtil OBJECT-TYPE + SYNTAX Gauge32 + UNITS "kilobytes" + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Amount of memory utilized by the vm. (KB; instantaneous)" + ::= { vmwMemEntry 4 } + +vmwHBATable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwHbaEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "Disk adapter and target information table." + ::= { vmwResources 3 } + +vmwHBAEntry OBJECT-TYPE + SYNTAX VmwHbaEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "A record for a single hba on the machine." + INDEX { vmwHbaIdx } + ::= { vmwHBATable 1 } + + VmwHbaEntry ::= SEQUENCE { + vmwHbaIdx Integer32, + vmwHbaName DisplayString, + vmwHbaVMID Integer32, + vmwDiskShares Gauge32, + vmwNumReads Counter32, + vmwKbRead Counter32, + vmwNumWrites Counter32, + vmwKbWritten Counter32 + } + + +vmwHbaIdx OBJECT-TYPE + SYNTAX Integer32 (0..1023) + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "Index for HBA table @todo fix this!." + ::= { vmwHBAEntry 1 } + +vmwHbaName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "String describing the disk. Format: :: " + ::= { vmwHBAEntry 2 } + +vmwHbaVMID OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "ID assigned to running vm by the vmkernel." + ::= { vmwHBAEntry 3 } + +vmwDiskShares OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Share of disk bandwidth allocated to this vm." + ::= { vmwHBAEntry 4 } + +vmwNumReads OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Number of reads to this disk since disk module was loaded." + ::= { vmwHBAEntry 5 } + +vmwKbRead OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Kilobytes read from this disk since disk module was loaded." + ::= { vmwHBAEntry 6 } + +vmwNumWrites OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Number of writes to this disk since disk module was loaded." + ::= { vmwHBAEntry 7 } + +vmwKbWritten OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Kilobytes written to this disk since disk module was loaded." + ::= { vmwHBAEntry 8 } + + +vmwNetTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwNetEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "Network adapter statistics." + ::= { vmwResources 4 } + +vmwNetEntry OBJECT-TYPE + SYNTAX VmwNetEntry + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "A record for a single nic on the machine." + INDEX { vmwNetIdx } + ::= { vmwNetTable 1 } + + VmwNetEntry ::= SEQUENCE { + vmwNetIdx Integer32, + vmwNetName DisplayString, + vmwNetVMID Integer32, + vmwNetIfAddr DisplayString, + vmwNetShares Gauge32, + vmwNetPktsTx Counter32, + vmwNetKbTx Counter32, + vmwNetPktsRx Counter32, + vmwNetKbRx Counter32, + vmwNetHCPktsTx Counter64, + vmwNetHCKbTx Counter64, + vmwNetHCPktsRx Counter64, + vmwNetHCKbRx Counter64 + } + + +vmwNetIdx OBJECT-TYPE + SYNTAX Integer32 (0..255) + MAX-ACCESS not-accessible + STATUS obsolete + DESCRIPTION + "Index for net table." + ::= { vmwNetEntry 1 } + +vmwNetName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "String describing the network adapter. Format: vmnic*" + ::= { vmwNetEntry 2 } + +vmwNetVMID OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "ID assigned to running vm by the vmkernel." + ::= { vmwNetEntry 3 } + +vmwNetIfAddr OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "MAC address of vm's virtual NIC." + ::= { vmwNetEntry 4 } + +vmwNetShares OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Share of net bandwidth allocated to this vm." + ::= { vmwNetEntry 5 } + +vmwNetPktsTx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Number of pkts transmitted on this NIC since network module was + loaded. Deprecated in favour of pktsHCTx." + ::= { vmwNetEntry 6 } + +vmwNetKbTx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Kilobytes sent from this NIC since network module was loaded. + Deprecated in favour of kbHCTx." + ::= { vmwNetEntry 7 } + +vmwNetPktsRx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Number of pkts received on this NIC since network module was loaded. + Deprecated in favour of pktsHCRx." + ::= { vmwNetEntry 8 } + +vmwNetKbRx OBJECT-TYPE + SYNTAX Counter32 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Kilobytes received on this NIC since network module was loaded. + Deprecated in favour of kbHCRx." + ::= { vmwNetEntry 9 } + +-- +-- High Capacity Counter objects. These objects are all 64 bit version +-- of the above four counter objects. They have the same +-- basic semantics as their 32-bit counterparts, however, their syntax +-- has been extended to 64 bits. +-- + +vmwNetHCPktsTx OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Number of pkts transmitted on this NIC since network module was loaded." + ::= { vmwNetEntry 10 } + +vmwNetHCKbTx OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Kilobytes sent from this NIC since network module was loaded." + ::= { vmwNetEntry 11 } + +vmwNetHCPktsRx OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Number of pkts received on this NIC since network module was loaded." + ::= { vmwNetEntry 12 } + +vmwNetHCKbRx OBJECT-TYPE + SYNTAX Counter64 + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Kilobytes received on this NIC since network module was loaded." + ::= { vmwNetEntry 13 } + +-- VMWARE-TRAPS-MIB + +vpxdTrapType OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the trap type in the preceding traps." + ::= { vmwTraps 301 } + +vpxdHostName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the name of the host in the preceding traps." + ::= { vmwTraps 302 } + +vpxdVMName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the name of the VM in the preceding traps." + ::= { vmwTraps 303 } + +vpxdOldStatus OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the old status in the preceding traps." + ::= { vmwTraps 304 } + +vpxdNewStatus OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the new status in the preceding traps." + ::= { vmwTraps 305 } + +vpxdObjValue OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the current object value in the preceding traps." + ::= { vmwTraps 306 } + +-- obsolete notifications as originally published in VMWARE-TRAPS-MIB.mib + + +vmPoweredOn NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath } + STATUS obsolete + DESCRIPTION + "This trap is sent when a virtual machine is powered ON from a suspended + or a powered off state." + ::= { vmwNotifications 1 } + +vmPoweredOff NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath } + STATUS obsolete + DESCRIPTION + "This trap is sent when a virtual machine is powered OFF." + ::= { vmwNotifications 2 } + +vmHBLost NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath } + STATUS obsolete + DESCRIPTION + "This trap is sent when a virtual machine detects a loss in guest heartbeat." + ::= { vmwNotifications 3 } + +vmHBDetected NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath } + STATUS obsolete + DESCRIPTION + "This trap is sent when a virtual machine detects or regains the guest heartbeat." + ::= { vmwNotifications 4 } + +vmSuspended NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath } + STATUS obsolete + DESCRIPTION + "This trap is sent when a virtual machine is suspended." + ::= { vmwNotifications 5 } + +vpxdTrap NOTIFICATION-TYPE + OBJECTS { vpxdTrapType, vpxdHostName, vpxdVMName, vpxdNewStatus, + vpxdOldStatus, vpxdObjValue } + STATUS obsolete + DESCRIPTION + "This trap is sent when entity status changed." + ::= { vmwNotifications 201 } + + +-- conformance information + +vmwObsoleteMIBConformance +OBJECT IDENTIFIER ::= { vmwObsoleteMIB 2 } +vmwObsoleteMIBCompliances +OBJECT IDENTIFIER ::= { vmwObsoleteMIBConformance 1 } +vmwObsMIBGroups OBJECT IDENTIFIER ::= { vmwObsoleteMIBConformance 2 } + +vmwObsoleteObsoleteMIBCompliance MODULE-COMPLIANCE +STATUS obsolete +DESCRIPTION + "The compliance statement for entities which implement the + VMWARE-RESOURCE-MIB." +MODULE -- this module +MANDATORY-GROUPS { vmwObsoleteGroup, vmwOldVCNotificationGroup } +::= { vmwObsoleteMIBCompliances 3 } + +vmwObsoleteGroup OBJECT-GROUP + OBJECTS { + vmkLoaded, + vmwCpuShares, + vmwCpuUtil, + vmwMemShares, + vmwMemConfigured, + vmwMemUtil, + vmwHbaName, + vmwHbaVMID, + vmwDiskShares, + vmwNumReads, + vmwKbRead, + vmwNumWrites, + vmwKbWritten, + vmwNetName, + vmwNetVMID, + vmwNetIfAddr, + vmwNetShares, + vmwNetPktsTx, + vmwNetKbTx, + vmwNetPktsRx, + vmwNetKbRx, + vmwNetHCPktsTx, + vmwNetHCKbTx, + vmwNetHCPktsRx, + vmwNetHCKbRx, + vpxdTrapType, + vpxdHostName, + vpxdVMName, + vpxdOldStatus, + vpxdNewStatus, + vpxdObjValue + } + STATUS obsolete + DESCRIPTION + "These objects are no longer provided, see VMWARE-VMINFO-MIB for replacement." + ::= { vmwObsMIBGroups 2 } + +vmwOldVCNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + vpxdTrap, + vmPoweredOn, + vmPoweredOff, + vmHBLost, + vmHBDetected, + vmSuspended + } + STATUS obsolete + DESCRIPTION + "Group of objects describing notifications (traps)." + ::= { vmwObsMIBGroups 3 } + +END diff --git a/mibs/vmware/VMWARE-PRODUCTS-MIB.mib b/mibs/vmware/VMWARE-PRODUCTS-MIB.mib new file mode 100644 index 0000000000..5536a24713 --- /dev/null +++ b/mibs/vmware/VMWARE-PRODUCTS-MIB.mib @@ -0,0 +1,49 @@ +-- ********************************************************** +-- Copyright 2007 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-PRODUCTS-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY + FROM SNMPv2-SMI + vmwOID, vmwProductSpecific + FROM VMWARE-ROOT-MIB; + +vmwProducts MODULE-IDENTITY + LAST-UPDATED "200707300000Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " + DESCRIPTION + "This MIB module provides the OID identifiers + which are returned from SNMPv2-MIB sysObjectId for + agents in specific VMware products. + " + REVISION "200707300000Z" + DESCRIPTION + "The initial revision." + ::= { vmwProductSpecific 11 } + +vmwESX OBJECT IDENTIFIER + ::= { vmwProductSpecific 1 } + +vmwDVS OBJECT IDENTIFIER + ::= { vmwProductSpecific 2 } + +vmwVC OBJECT IDENTIFIER + ::= { vmwProductSpecific 3 } + +vmwServer OBJECT IDENTIFIER + ::= { vmwProductSpecific 4 } + +oidESX OBJECT IDENTIFIER + ::= { vmwOID 1 } + +END -- end of module VMWARE-PRODUCTS-MIB. diff --git a/mibs/vmware/VMWARE-RESOURCES-MIB.mib b/mibs/vmware/VMWARE-RESOURCES-MIB.mib new file mode 100644 index 0000000000..8924b855e0 --- /dev/null +++ b/mibs/vmware/VMWARE-RESOURCES-MIB.mib @@ -0,0 +1,269 @@ +-- ********************************************************** +-- Copyright 2007-20009 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-RESOURCES-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE, Gauge32, Integer32 + FROM SNMPv2-SMI + DisplayString + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF + VmwSubsystemStatus + FROM VMWARE-TC-MIB + vmwResources + FROM VMWARE-ROOT-MIB; + + vmwResourcesMIB MODULE-IDENTITY + LAST-UPDATED "200810150000Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " +DESCRIPTION + "This MIB module provides instrumentation of ESX Hypervisor resources such + as cpu, memory, and disk." + +REVISION "200810150000Z" +DESCRIPTION + "All per-VM managed objects were moved to new managed objects in VMWARE-VMINFO MIB. + See VMWARE-OBSOLETE-RESOURCE-MIB for oid assignments in prior version of this mib module. + Add to comments the Managed Object Browser (MOB) URLs which provide + data this MIB module exposes." + +REVISION "200712270000Z" +DESCRIPTION + "This is the first revision in SMIv2 format. Prior version was published as SMIv1." +::= { vmwResources 10 } + +vmwCPU OBJECT-IDENTITY +STATUS current +DESCRIPTION + "Information about physical CPU(s)" +::= { vmwResources 1 } + +vmwNumCPUs OBJECT-TYPE + SYNTAX Gauge32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of physical CPUs on the system." + ::= { vmwCPU 1 } + +-- Memory subtree + +vmwMemory OBJECT IDENTIFIER ::= { vmwResources 2 } + +vmwMemSize OBJECT-TYPE + SYNTAX Gauge32 + UNITS "kilobytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Amount of physical memory present on machine as provided by Hypervisor. + It is computed from the sum of vmwMemCOS plus unreserved property as + reported VIM subsystem. Unreserved is computed from hypervisor's total + number of memory pages. + + VIM Parent Container: https://esx.example.com/mob/?moid=memorySystem + VIM property: unreserved + MOB: https://esx.example.com/mob/?moid=memoryManagerSystem&doPath=consoleReservationInfo + + For reference here two other related VIM properties: + VIM property: memorySize + MOB: https://esx.example.com/mob/?moid=ha%2dhost&doPath=summary%2ehardware + + VIM property: totalMemory + MOB: https://esx.example.com/mob/?moid=ha%2dcompute%2dres&doPath=summary + " + ::= { vmwMemory 1 } + +vmwMemCOS OBJECT-TYPE + SYNTAX Gauge32 + UNITS "kilobytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This managed object reports memory allocated for COS, theConsole OS + (aka Service Console) which is a memory region carved out of physical + memory to boot a RedHat Linux distribution/provides device management + interface. + + Note that in the VMware ESXi product there is no COS so this will report 0. + + This managed object reports the amount of physical memory allocated to the COS. + VIM Parent Container: https://esx.example.com/mob/?moid=memorySystem + VIM property: serviceConsoleReserved + MOB: https://esx.example.com/mob/?moid=memoryManagerSystem&doPath=consoleReservationInfo + " + ::= { vmwMemory 2 } + +vmwMemAvail OBJECT-TYPE + SYNTAX Gauge32 + UNITS "kilobytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Amount of memory available to run Virutal Machines and to allocate for + hypervisor needs. It is computed by subtracting vmwMemCOS from + vmwMemSize. The result is the amount of memory available to VMs and to + the hypervisor. + + To get a more accurate view of memory available to VMs the following property + represents the amount of resources available for the root resource pool for running + virtual machines. + + VIM property: effectiveMemory + MOB: https://esx.example.com/mob/?moid=ha%2dcompute%2dres&doPath=summary + " + ::= { vmwMemory 3 } + + +-- Storage subtree + +vmwStorage OBJECT IDENTIFIER ::= { vmwResources 5 } +vmwHostBusAdapterNumber OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of entries in vmwHostBusAdapterTable." + ::= { vmwStorage 1 } + +vmwHostBusAdapterTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwHostBusAdapterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Inventory of Host Bus Adatpers found in this system. + CLI: esxcfg-scsidevs -a + VIM Parent Container: https://esx.example.com/mob/?moid=storageSystem + VIM property: hostBusAdapter + MOB: https://esx.example.com/mob/?moid=storageSystem&doPath=storageDeviceInfo" + ::= { vmwStorage 2 } + +vmwHostBusAdapterEntry OBJECT-TYPE + SYNTAX VmwHostBusAdapterEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Details for this adapter." + INDEX { vmwHostBusAdapterIndex } + ::= { vmwHostBusAdapterTable 1 } + +VmwHostBusAdapterEntry ::= SEQUENCE +{ +vmwHostBusAdapterIndex Integer32, +vmwHbaDeviceName DisplayString, +vmwHbaBusNumber Integer32, +vmwHbaStatus VmwSubsystemStatus, +vmwHbaModelName DisplayString, +vmwHbaDriverName DisplayString, +vmwHbaPci DisplayString +} + +vmwHostBusAdapterIndex OBJECT-TYPE + SYNTAX Integer32 (0..1023) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An arbitrary index assigned to this adapter." + ::= { vmwHostBusAdapterEntry 1 } + +vmwHbaDeviceName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The system device name for this host bus adapter." + ::= { vmwHostBusAdapterEntry 2 } + +vmwHbaBusNumber OBJECT-TYPE + SYNTAX Integer32 (-1|0..1023) + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The host bus number. For unsuported HBA's reports -1." + ::= { vmwHostBusAdapterEntry 3 } + +vmwHbaStatus OBJECT-TYPE + SYNTAX VmwSubsystemStatus + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The operational status of the adapter." + ::= { vmwHostBusAdapterEntry 4 } + +vmwHbaModelName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The model name of the host bus adapter." + ::= { vmwHostBusAdapterEntry 5 } + +vmwHbaDriverName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The name of the driver." + ::= { vmwHostBusAdapterEntry 6 } + +vmwHbaPci OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The Peripheral Connect Interface (PCI) ID of the device." + ::= { vmwHostBusAdapterEntry 7 } + +-- Net subtree +-- See IF-MIB for details of network interfaces + + +-- conformance information +vmwResourceMIBConformance +OBJECT IDENTIFIER ::= { vmwResourcesMIB 2 } +vmwResourceMIBCompliances +OBJECT IDENTIFIER ::= { vmwResourceMIBConformance 1 } +vmwResMIBGroups OBJECT IDENTIFIER ::= { vmwResourceMIBConformance 2 } + +-- compliance statements +vmwResourceMIBCompliance MODULE-COMPLIANCE +STATUS current +DESCRIPTION + "The compliance statement for entities which implement the + VMWARE-RESOURCE-MIB." +MODULE -- this module +MANDATORY-GROUPS { vmwResourceGroup } +::= { vmwResourceMIBCompliances 2 } + +vmwResourceGroup OBJECT-GROUP + OBJECTS { + vmwNumCPUs, + vmwMemSize, + vmwMemCOS, + vmwMemAvail, + vmwHostBusAdapterNumber, + vmwHbaDeviceName, + vmwHbaBusNumber, + vmwHbaStatus, + vmwHbaModelName, + vmwHbaDriverName, + vmwHbaPci + } + STATUS current + DESCRIPTION + "These objects provide resource details." + ::= { vmwResMIBGroups 1 } + + +END diff --git a/mibs/vmware/VMWARE-ROOT-MIB.mib b/mibs/vmware/VMWARE-ROOT-MIB.mib new file mode 100644 index 0000000000..2a0496bf38 --- /dev/null +++ b/mibs/vmware/VMWARE-ROOT-MIB.mib @@ -0,0 +1,103 @@ +-- ********************************************************** +-- Copyright 2007 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-ROOT-MIB DEFINITIONS ::= BEGIN + +IMPORTS + MODULE-IDENTITY, OBJECT-IDENTITY, enterprises + FROM SNMPv2-SMI; + +vmware MODULE-IDENTITY + LAST-UPDATED "200707300000Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " + DESCRIPTION + "VMware managed object root assignements + This module defines the VMware SNMP MIB root + and its primary subtrees. + " + REVISION "200707300000Z" + DESCRIPTION + "The initial revision. Prior version was released in + SMIv1 format as VMWARE-ROOT-MIB." + ::= { enterprises 6876 } + + +-- The parent oid of snmpv1 traps when sent in snmpv2/v3 +-- vmwNotifications OBJECT IDENTIFIER ::= { vmware 0 } +vmwNotifications OBJECT-IDENTITY +STATUS current +DESCRIPTION + "Parent of all notifications (traps, informs)." + ::= { vmware 0 } + +vmwSystem OBJECT-IDENTITY +STATUS current +DESCRIPTION + "Parent of all managed objects relating to system software identification." +::= { vmware 1 } + +vmwVirtMachines OBJECT-IDENTITY +STATUS current +DESCRIPTION + "Parent of all managed objects relating to virtual machine inventory." +::= { vmware 2 } + +vmwResources OBJECT-IDENTITY +STATUS current +DESCRIPTION + "Parent of all managed objects relating to resource utilization." +::= { vmware 3 } + +vmwProductSpecific OBJECT-IDENTITY +STATUS current +DESCRIPTION + "parent of objects specific to a given hardware/software product." +::= { vmware 4 } + +vmwLdap OBJECT-IDENTITY +STATUS current +DESCRIPTION + "VMware specific LDAP schema definitions." +::= { vmware 40 } + +vmwTraps OBJECT-IDENTITY +STATUS current +DESCRIPTION + "Managed objects defined under this node are only visible in + notifications varbind lists and can not be polled." +::= { vmware 50 } + +vmwOID OBJECT-IDENTITY +STATUS deprecated +DESCRIPTION + "Assignments under this are no longer made." +::= { vmware 60 } + +vmwareAgentCapabilities OBJECT-IDENTITY +STATUS current +DESCRIPTION + "All agent capabilities defnitions occur under this." +::= { vmware 70 } + +vmwExperimental OBJECT-IDENTITY +STATUS current +DESCRIPTION + "Used for product testing and development." +::= { vmware 700 } + +vmwObsolete OBJECT-IDENTITY +STATUS current +DESCRIPTION + "Conformance, meta SMI oids for Obsolete smi assignements done under this arc." +::= { vmware 800 } + +END diff --git a/mibs/vmware/VMWARE-SYSTEM-MIB.mib b/mibs/vmware/VMWARE-SYSTEM-MIB.mib new file mode 100644 index 0000000000..39d1545bc3 --- /dev/null +++ b/mibs/vmware/VMWARE-SYSTEM-MIB.mib @@ -0,0 +1,104 @@ +-- ********************************************************** +-- Copyright 2007 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-SYSTEM-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE + FROM SNMPv2-SMI + DisplayString + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP + FROM SNMPv2-CONF + vmwSystem + FROM VMWARE-ROOT-MIB; + + vmwSystemMIB MODULE-IDENTITY + LAST-UPDATED "200801120000Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " +DESCRIPTION + "This MIB module provides for System Software identification" + +REVISION "200801120000Z" +DESCRIPTION + "Add to comments the Managed Object Browser (MOB) URLs which provide + data this MIB module exposes." + +REVISION "200712270000Z" +DESCRIPTION + "This is the first revision in SMIv2 format. One object + (vmwProdOID) has been dropped from the original SMIv1 version + as it duplicates sysObjectId from SNMPv2-MIB." + +::= { vmwSystem 10 } + +vmwProdName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This product's name. + VIM Property: AboutInfo.name + https://esx.example.com/mob/?moid=ServiceInstance&doPath=content%2eabout" + ::= { vmwSystem 1 } + +vmwProdVersion OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The product's version release identifier. Format is Major.Minor.Update + VIM Property: AboutInfo.version + https://esx.example.com/mob/?moid=ServiceInstance&doPath=content%2eabout" + ::= { vmwSystem 2 } + +-- { vmwSystem 3 } oid obsolete, do not reuse + +vmwProdBuild OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "This identifier represents the most specific identifier. + VIM Property: AboutInfo.build + https://esx.example.com/mob/?moid=ServiceInstance&doPath=content%2eabout" + ::= { vmwSystem 4 } + +-- conformance information +vmwSystemMIBConformance +OBJECT IDENTIFIER ::= { vmwSystemMIB 2 } +vmwSystemMIBCompliances +OBJECT IDENTIFIER ::= { vmwSystemMIBConformance 1 } +vmwSysMIBGroups OBJECT IDENTIFIER ::= { vmwSystemMIBConformance 2 } + +-- compliance statements +vmwSysMIBBasicCompliance MODULE-COMPLIANCE +STATUS current +DESCRIPTION + "The compliance statement for entities which implement the + VMWARE-SYSTEM-MIB." +MODULE -- this module +MANDATORY-GROUPS { vmwSystemGroup } +::= { vmwSystemMIBCompliances 2 } + +vmwSystemGroup OBJECT-GROUP + OBJECTS { + vmwProdName, + vmwProdVersion, + vmwProdBuild + } + STATUS current + DESCRIPTION + "These objects uniquely identifies a given VMware system software image." + ::= { vmwSysMIBGroups 1 } + +END -- end of module VMWARE-SYSTEM-MIB. diff --git a/mibs/vmware/VMWARE-TC-MIB.mib b/mibs/vmware/VMWARE-TC-MIB.mib new file mode 100644 index 0000000000..964ed4ef01 --- /dev/null +++ b/mibs/vmware/VMWARE-TC-MIB.mib @@ -0,0 +1,153 @@ +-- ********************************************************** +-- Copyright 2007 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-TC-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY + FROM SNMPv2-SMI + TEXTUAL-CONVENTION + FROM SNMPv2-TC + vmwSystem + FROM VMWARE-ROOT-MIB; + + vmwTcMIB MODULE-IDENTITY + LAST-UPDATED "200909050000Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " +DESCRIPTION + "This MIB module provides common datatypes for use in VMWARE + enterprise mib modules" +REVISION "200909050000Z" +DESCRIPTION + "Added VmwLongDisplayString" +REVISION "200712270000Z" +DESCRIPTION + "This is the first revision." +::= { vmwSystem 11 } + +VmwSubsystemTypes ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Define the various subsystems fond on hardware." + SYNTAX INTEGER { unknown(1), chassis(2), powerSupply(3), fan(4), cpu(5), + memory(6), battery(7), temperatureSensor(8), + raidController(9), voltage(10) + } + +VmwSubsystemStatus ::= TEXTUAL-CONVENTION + STATUS current + DESCRIPTION + "Define the state oof a given subsystem if known." + SYNTAX INTEGER { unknown(1), normal(2), marginal(3), critical(4), failed(5) } + +VmwConnectedState ::= TEXTUAL-CONVENTION + DISPLAY-HINT "7a" + STATUS current + DESCRIPTION + "Can hold one of the following values: 'true' or 'false' or 'unknown'." + SYNTAX OCTET STRING (SIZE (7)) + +VmwLongDisplayString ::= TEXTUAL-CONVENTION + DISPLAY-HINT "1a" + STATUS current + DESCRIPTION + "Represents textual information taken from the NVT ASCII + character set, as defined in pages 4, 10-11 of RFC 854. + + To summarize RFC 854, the NVT ASCII repertoire specifies: + + - the use of character codes 0-127 (decimal) + + - the graphics characters (32-126) are interpreted as + US ASCII + + - NUL, LF, CR, BEL, BS, HT, VT and FF have the special + meanings specified in RFC 854 + + - the other 25 codes have no standard interpretation + + - the sequence 'CR LF' means newline + + - the sequence 'CR NUL' means carriage-return + + - an 'LF' not preceded by a 'CR' means moving to the + same column on the next line. + + - the sequence 'CR x' for any x other than LF or NUL is + illegal. (Note that this also means that a string may + end with either 'CR LF' or 'CR NUL', but not with CR.) + + An object defined using this syntax may be of indefinite + length, as specified by the protocol, but displays may + choose to display only the first 4096 characters." + SYNTAX OCTET STRING + +VmwLongSnmpAdminString ::= TEXTUAL-CONVENTION + DISPLAY-HINT "4096t" + STATUS current + DESCRIPTION "This TC adapted from SnmpAdminString from SNMP-FRAMEWORK-MIB An + octet string containing administrative information, preferably + in human-readable form. + + To facilitate internationalization, this + information is represented using the ISO/IEC + IS 10646-1 character set, encoded as an octet + string using the UTF-8 transformation format + described in [RFC2279]. + + Since additional code points are added by + amendments to the 10646 standard from time + to time, implementations must be prepared to + encounter any code point from 0x00000000 to + 0x7fffffff. Byte sequences that do not + correspond to the valid UTF-8 encoding of a + code point or are outside this range are + prohibited. + + The use of control codes should be avoided. + + When it is necessary to represent a newline, + the control code sequence CR LF should be used. + + The use of leading or trailing white space should + be avoided. + + For code points not directly supported by user + interface hardware or software, an alternative + means of entry and display, such as hexadecimal, + may be provided. + + For information encoded in 7-bit US-ASCII, + the UTF-8 encoding is identical to the + US-ASCII encoding. + + UTF-8 may require multiple bytes to represent a + single character / code point; thus the length + of this object in octets may be different from + the number of characters encoded. Similarly, + size constraints refer to the number of encoded + octets, not the number of characters represented + by an encoding. + + Note that when this TC is used for an object that + is used or envisioned to be used as an index, then + a SIZE restriction MUST be specified so that the + number of sub-identifiers for any object instance + does not exceed the limit of 128, as defined by + [RFC3416]. + + Note that the size of an SnmpAdminString object is + measured in octets, not characters." + + SYNTAX OCTET STRING + +END diff --git a/mibs/vmware/VMWARE-VC-EVENT-MIB.mib b/mibs/vmware/VMWARE-VC-EVENT-MIB.mib new file mode 100644 index 0000000000..786cc27a73 --- /dev/null +++ b/mibs/vmware/VMWARE-VC-EVENT-MIB.mib @@ -0,0 +1,251 @@ +-- ********************************************************** +-- Copyright 2008 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-VC-EVENT-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE + FROM SNMPv2-SMI + SnmpAdminString + FROM SNMP-FRAMEWORK-MIB + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + -- add these for HP SIM + --vmwProductSpecific + --FROM VMWARE-ROOT-MIB; + -- remove these for HP SIM + vmwVC + FROM VMWARE-PRODUCTS-MIB + VmwLongSnmpAdminString + FROM VMWARE-TC-MIB; + + vmwVCMIB MODULE-IDENTITY + LAST-UPDATED "200912150000Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " +DESCRIPTION + "This MIB module identifies vCenter Trap notifications (traps or inform)." +REVISION "200912150000Z" +DESCRIPTION + "Notification vpxdAlarm is now obsolete and is replaced with vpxdAlarmInfo, + new object group vmwVCAlarmGroup is created making the vmwVCAlarmInfoGroup + obsolete, new notification group vmwVCAlarmNotificationGroup is created + making vmwVCNotificationGroup obsolete,new varbinds vmwVpxdTargetObj and + vmwVpxdTargetObjType are added, var binds vmwVpxdHostName, vmwVpxdVMName + and vmwVpxdTrapType have become obsolete." +REVISION "200909080000Z" +DESCRIPTION + "VC SNMP Agent has always used UTF-8 in notifications, + update this MIB module to reflect that." + +REVISION "200905270000Z" +DESCRIPTION + "Updated comments on the alarm trap and parameters with more detail." +REVISION "200904060000Z" +DESCRIPTION + "Swap vmwVpxdNewStatus and vmwVpxdOldStatus to match code implementation." +REVISION "200903170000Z" +DESCRIPTION + "Changed vmwVpxdObjValue be of type vmwLongDisplayString" +REVISION "200802220000Z" +DESCRIPTION + "This is the first revision in SMIv2 format. Prior version was published as SMIv1. + Notifications were formerly in the VMWARE-TRAPS-MIB module." +::= { vmwVC 1 } + + +-- product compatiblity: smilint warning: redefinition of vmwVC in VMWARE-PRODUCTS-MIB +-- The folowing redefinition of vmwVC is a workaround for HP SIM which +-- doesn't process IMPORTS more than one level deep. +-- vmwVC OBJECT IDENTIFIER ::= { vmwProductSpecific 3 } + +vmwVCNotifications OBJECT IDENTIFIER ::= {vmwVC 0 } + +-- ********************************************************** +-- Notifications by an agent that implements this mib module +-- ********************************************************** + +vpxdAlarm NOTIFICATION-TYPE + OBJECTS { vmwVpxdTrapType, vmwVpxdHostName, vmwVpxdVMName, + vmwVpxdOldStatus, vmwVpxdNewStatus, vmwVpxdObjValue } + STATUS obsolete + DESCRIPTION + "This notification is sent on entity alarm state change, by the vCenter Server SNMP agent. + This information is also available through the vSphere client, through the Alarms screen, + or through the Managed Object Browser(MOB) interface for alarms at + https:///mob/?moid=AlarmManager. + Listing individual objects of a specific type or ID can be done through the PropertyCollector SDK API. + See http://www.vmware.com/support/developer/vc-sdk/visdk2xpubs/ReferenceGuide/vmodl.query.PropertyCollector.html + for details." + ::= { vmwVCNotifications 201 } + +vpxdDiagnostic NOTIFICATION-TYPE + STATUS current + DESCRIPTION + "This notification is sent on starting or restarting vCenter Server, + on requesting a test notification explicitly, and can also be + configured to be sent periodically at a specified time interval via + vCenter Server configuration by the vCenter Server SNMP agent." + ::= { vmwVCNotifications 202 } + +vpxdAlarmInfo NOTIFICATION-TYPE + OBJECTS { vmwVpxdTargetObjType, vmwVpxdOldStatus, vmwVpxdNewStatus, vmwVpxdObjValue, vmwVpxdTargetObj } + STATUS current + DESCRIPTION + "This notification is sent on entity alarm state change, by the vCenter Server SNMP agent. + This information is also available through the vSphere client, through the Alarms screen, + or through the Managed Object Browser(MOB) interface for alarms at + https:///mob/?moid=AlarmManager. + Listing individual objects of a specific type or ID can be done through the PropertyCollector SDK API. + See http://www.vmware.com/support/developer/vc-sdk/visdk2xpubs/ReferenceGuide/vmodl.query.PropertyCollector.html + for details." + ::= { vmwVCNotifications 203 } + +-- ********************************************************** +-- Notification parameters +-- ********************************************************** + +vmwVpxdTrapType OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS accessible-for-notify + STATUS obsolete + DESCRIPTION + "This is the alarm notification type." + ::= { vmwVC 301 } + +vmwVpxdHostName OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS accessible-for-notify + STATUS obsolete + DESCRIPTION + "This is the name of the vSphere host in the notification." + ::= { vmwVC 302 } + +vmwVpxdVMName OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS accessible-for-notify + STATUS obsolete + DESCRIPTION + "This is the name of the VM in the notification." + ::= { vmwVC 303 } + +vmwVpxdOldStatus OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the old status in the notification." + ::= { vmwVC 304 } + +vmwVpxdNewStatus OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the new status in the notification." + ::= { vmwVC 305 } + +vmwVpxdObjValue OBJECT-TYPE + SYNTAX VmwLongSnmpAdminString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the current object value in the notification." + ::= { vmwVC 306 } + +vmwVpxdTargetObj OBJECT-TYPE + SYNTAX SnmpAdminString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the current object in the notification. This may be + one of esx host name, vm name, or other. This value must not be empty." + ::= { vmwVC 307 } + +vmwVpxdTargetObjType OBJECT-TYPE + SYNTAX INTEGER { unknown(1), host(2), vm(3), other(4)} + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the alarm target object type." + ::= { vmwVC 308 } + +-- conformance information +vmwVCMIBConformance OBJECT IDENTIFIER ::= { vmwVCMIB 2 } +vmwVCMIBCompliances OBJECT IDENTIFIER ::= { vmwVCMIBConformance 1 } +vmwVCMIBGroups OBJECT IDENTIFIER ::= { vmwVCMIBConformance 2 } + +-- compliance statements +vmwVCMIBBasicCompliance MODULE-COMPLIANCE + STATUS obsolete + DESCRIPTION + "The compliance statement for entities which implement VMWARE-VC-EVENT-MIB." + MODULE -- this module + MANDATORY-GROUPS { vmwVCAlarmInfoGroup, vmwVCNotificationGroup } + ::= { vmwVCMIBCompliances 2 } + +-- compliance statements +vmwVCMIBBasicComplianceRev2 MODULE-COMPLIANCE + STATUS current + DESCRIPTION + "The compliance statement for entities which implement VMWARE-VC-EVENT-MIB." + MODULE -- this module + MANDATORY-GROUPS { vmwVCAlarmGroup, vmwVCAlarmNotificationGroup } + ::= { vmwVCMIBCompliances 3 } + +vmwVCAlarmInfoGroup OBJECT-GROUP + OBJECTS { + vmwVpxdTrapType, + vmwVpxdHostName, + vmwVpxdVMName, + vmwVpxdOldStatus, + vmwVpxdNewStatus, + vmwVpxdObjValue + } + STATUS obsolete + DESCRIPTION + "These objects provide alarm notification details." + ::= { vmwVCMIBGroups 1 } + +vmwVCNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + vpxdAlarm, + vpxdDiagnostic + } + STATUS obsolete + DESCRIPTION + "Group of objects describing notifications (traps)." + ::= { vmwVCMIBGroups 2 } + +vmwVCAlarmGroup OBJECT-GROUP + OBJECTS { + vmwVpxdTargetObjType, + vmwVpxdOldStatus, + vmwVpxdNewStatus, + vmwVpxdObjValue, + vmwVpxdTargetObj + } + STATUS current + DESCRIPTION + "These objects provide alarm notification details." + ::= { vmwVCMIBGroups 3 } + +vmwVCAlarmNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + vpxdAlarmInfo, + vpxdDiagnostic + } + STATUS current + DESCRIPTION + "Group of objects describing notifications (traps)." + ::= { vmwVCMIBGroups 4 } + +END -- end of VMWARE-VC-EVENT-MIB. diff --git a/mibs/vmware/VMWARE-VMINFO-MIB.mib b/mibs/vmware/VMWARE-VMINFO-MIB.mib new file mode 100644 index 0000000000..12875099d1 --- /dev/null +++ b/mibs/vmware/VMWARE-VMINFO-MIB.mib @@ -0,0 +1,680 @@ +-- ********************************************************** +-- Copyright 2008 VMware, Inc. All rights reserved. +-- ********************************************************** + +VMWARE-VMINFO-MIB DEFINITIONS ::= BEGIN + + IMPORTS + MODULE-IDENTITY, Integer32, OBJECT-TYPE, NOTIFICATION-TYPE + FROM SNMPv2-SMI + DisplayString, PhysAddress + FROM SNMPv2-TC + MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP + FROM SNMPv2-CONF + VmwConnectedState + FROM VMWARE-TC-MIB + vmwESXNotifications + FROM VMWARE-ENV-MIB + vmwVirtMachines, vmwTraps + FROM VMWARE-ROOT-MIB; + + vmwVmInfoMIB MODULE-IDENTITY + LAST-UPDATED "200810230000Z" + ORGANIZATION "VMware, Inc" + CONTACT-INFO + "VMware, Inc + 3401 Hillview Ave + Palo Alto, CA 94304 + Tel: 1-877-486-9273 or 650-427-5000 + Fax: 650-427-5001 + Web: http://communities.vmware.com/community/developer/forums/managementapi + " +DESCRIPTION + "This MIB module provides for monitoring of inventory and state via polling + and notifications of state changes for virtual machines residing on + this host system. This MIB module also provides a mapping beween SMI + managed objects defined here and their corresponding VMware Virtual + Infrastructure Management (VIM) API properties." + +REVISION "200810230000Z" +DESCRIPTION + "Add to comments the Managed Object Browser (MOB) URLs which provide + data this MIB module exposes. + Handle cases in reporting string for managed objects in this mib + where the values depend on additional operator configuration. + Instead of returning an empty string, an error message of the form: + W|E: error description + Add vmNumCpus to vmwVmTable to better report on VSMP virtual machines. + Add vmwVmNetConnected and vmwVmMAC to vmwVmNetTable + VIM Virtual Devices index range values are documented based on ESX 3/4 + implementation, they may change in the future releases. + Update comments to note that CDROM also lists DVDROM virtual devices." + +REVISION "200712270000Z" +DESCRIPTION + "This is the first revision in SMIv2 format. Prior version was published as SMIv1. + Notifications found here were formerly in the VMWARE-TRAPS-MIB module." +::= { vmwVirtMachines 10 } + + +-- the vm inventory for this system + + vmwVmTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwVmEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "A table containing information on virtual machines that have been + configured on the system." + ::= { vmwVirtMachines 1 } + + vmwVmEntry OBJECT-TYPE + SYNTAX VmwVmEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identifies a registered VM on this ESX system." + INDEX { vmwVmIdx } + ::= { vmwVmTable 1 } + + VmwVmEntry ::= SEQUENCE { + vmwVmIdx Integer32, + vmwVmDisplayName DisplayString, + vmwVmConfigFile DisplayString, + vmwVmGuestOS DisplayString, + vmwVmMemSize Integer32, + vmwVmState DisplayString, + vmwVmVMID Integer32, + vmwVmGuestState DisplayString, + vmwVmCpus Integer32 + } + + vmwVmIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "An operational identifier given the VM when registered on this ESX system. + The value is not unique across ESX systems and may change upon reboot. + VIM property: ha-vm-folder + MOB: https://esx.example.com/mob/?moid=ha%2dfolder%2dvm + A given Virtual Machine Instance can be queried using this URL: + MOB: https://esx.example.com/mob/?moid=vmwVmIdx" + ::= { vmwVmEntry 1 } + + vmwVmDisplayName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Name by which this vm is displayed. It is not guaranteed to be unique. + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=summary%2eguest" + ::= { vmwVmEntry 2 } + + vmwVmConfigFile OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Path to the configuration file for this vm expressed as a fully + qualified path name in POSIX or DOS extended format + VM Config file File name: + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2efiles + VM Datastore containing the filename: + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2edatastoreUrl" + ::= { vmwVmEntry 3 } + + vmwVmGuestOS OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Operating system running on this vm. This value corresponds to the + value specified when creating the VM and unless set correctly may differ + from the actual OS running. Will return one of the values if set in order: + Vim.Vm.GuestInfo.guestFullName + Vim.Vm.GuestInfo.guestId + Vim.Vm.GuestInfo.guestFamily + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=guest + where moid = vmwVmIdx. + If VMware Tools is not running, value will be of form 'E: error message'" + ::= { vmwVmEntry 4 } + + vmwVmMemSize OBJECT-TYPE + SYNTAX Integer32 + UNITS "megabytes" + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Memory configured for this virtual machine. + Memory > MAX Integer32 is reported as max integer32. + VIM Property: memoryMB + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware" + ::= { vmwVmEntry 5 } + + vmwVmState OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Power state of the virtual machine. + VIM Property: powerState + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=summary%2eruntime" + ::= { vmwVmEntry 6 } + + vmwVmVMID OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Same value as vmwVmIdx, note that indexes in SMIv2 are not accessible. + https://esx.example.com/mob/?moid=vmwVmIdx" + ::= { vmwVmEntry 7 } + + vmwVmGuestState OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Operation mode of guest operating system. Values include: + running - Guest is running normally. + shuttingdown - Guest has a pending shutdown command. + resetting - Guest has a pending reset command. + standby - Guest has a pending standby command. + notrunning - Guest is not running. + unknown - Guest information is not available. + VIM Property: guestState + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=guest" + ::= { vmwVmEntry 8 } + + vmwVmCpus OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Number of virtual CPUs assigned to this virtual machine. + VIM Property: numCPU + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware" + ::= { vmwVmEntry 9 } + +-- Host Bus Adapters + + vmwVmHbaTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwVmHbaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Table of host bus adapters (hba) for all vms in vmwVmTable." + ::= { vmwVirtMachines 2 } + + vmwVmHbaEntry OBJECT-TYPE + SYNTAX VmwVmHbaEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Uniquely identifies a given virtual machine host bus adapter." + INDEX { vmwHbaVmIdx, vmwVmHbaIdx } + ::= { vmwVmHbaTable 1 } + + VmwVmHbaEntry ::= SEQUENCE { + vmwHbaVmIdx Integer32, + vmwVmHbaIdx Integer32, + vmwHbaNum DisplayString, + vmwHbaVirtDev DisplayString + } + + vmwHbaVmIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This number corresponds to the vmwVmIdx in vmwVmTable." + ::= { vmwVmHbaEntry 1 } + + vmwVmHbaIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Uniquely identifies a given Host Bus adapter in this VM. May + change across system reboots." + ::= { vmwVmHbaEntry 2 } + + vmwHbaNum OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The name of the hba as it appears in the VM Settings. + VIM Property: Virtual Device index of 200-299. + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware" + ::= { vmwVmHbaEntry 3 } + + vmwHbaVirtDev OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The oem host bus adapter hardware being emulated to the Guest OS. + MOB: Not visible." + ::= { vmwVmHbaEntry 4 } + +-- Host Bus Adapter Targets + + vmwHbaTgtTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwHbaTgtEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Table of all virtual disks configured for vms in vmwVmTable." + ::= { vmwVirtMachines 3 } + + vmwHbaTgtEntry OBJECT-TYPE + SYNTAX VmwHbaTgtEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identifies a specific storage disk. Index may change across reboots." + INDEX { vmwHbaTgtVmIdx, vmwHbaTgtIdx } + ::= { vmwHbaTgtTable 1 } + + VmwHbaTgtEntry ::= SEQUENCE { + vmwHbaTgtVmIdx Integer32, + vmwHbaTgtIdx Integer32, + vmwHbaTgtNum DisplayString + } + + vmwHbaTgtVmIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This number corresponds to vmwVmIdx in vmwVmTable." + ::= { vmwHbaTgtEntry 1 } + + vmwHbaTgtIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This value identifies a particular disk." + ::= { vmwHbaTgtEntry 2 } + + vmwHbaTgtNum OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Identifies the disk as seen from the host bus controller + VIM Property: Virtual Device's with index of 2000-2999,3000-3999. + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware" + ::= { vmwHbaTgtEntry 3 } + +-- vm network interfaces + + vmwVmNetTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwVmNetEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Table of network adapters (nic) for all vms in vmwVmTable." + ::= { vmwVirtMachines 4 } + + vmwVmNetEntry OBJECT-TYPE + SYNTAX VmwVmNetEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identifies a particular nic for the specified vmwVmIdx" + INDEX { vmwVmNetVmIdx, vmwVmNetIdx } + ::= { vmwVmNetTable 1 } + + VmwVmNetEntry ::= SEQUENCE { + vmwVmNetVmIdx Integer32, + vmwVmNetIdx Integer32, + vmwVmNetNum DisplayString, + vmwVmNetName DisplayString, + vmwVmNetConnType DisplayString, + vmwVmNetConnected VmwConnectedState, + vmwVmMAC PhysAddress + } + + vmwVmNetVmIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This number corresponds to vmwVmIdx in vmwVmTable." + ::= { vmwVmNetEntry 1 } + + vmwVmNetIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identifies a unique network adapter in this table. + Not guaranteed to be the same across system reboots." + ::= { vmwVmNetEntry 2 } + + vmwVmNetNum OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "The name of the device as it appears in the VM Settings. + VIM Property: Virtual Device's with index of 4000-4999. + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware" + ::= { vmwVmNetEntry 3 } + + vmwVmNetName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "What this virutal nic is connected to such as a virtual switch portgroup identifier. + VIM Property: Virtual Device's with index of 4000-4999. + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware + then select property 'backing' to how this nic connects. + If no backing was defined by operator, string will start with W: + If unavailable, string will start with E:" + ::= { vmwVmNetEntry 4 } + + vmwVmNetConnType OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS obsolete + DESCRIPTION + "Do not use this value, and should an agent return it discard it." + ::= { vmwVmNetEntry 5 } + + vmwVmNetConnected OBJECT-TYPE + SYNTAX VmwConnectedState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Reports 'true' if the ethernet virtual device is connected to the virtual machine." + ::= { vmwVmNetEntry 6 } + + vmwVmMAC OBJECT-TYPE + SYNTAX PhysAddress + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Reports the configured virtual hardware MAC address. If VMware + Tools is not running, or VM has not yet been powered on for the + first time and mac is to be generated by VM then the value is + zero'd out/empty. VIM Property: Virtual Device's with index of + 4000-4999. MOB: + https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware" + ::= { vmwVmNetEntry 7 } + +-- vm floppy drive details + + vmwFloppyTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwFloppyEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Table of floppy drives for all vms in vmwVmTable." + ::= { vmwVirtMachines 5 } + + vmwFloppyEntry OBJECT-TYPE + SYNTAX VmwFloppyEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identifies one specific floppy device. May change across system reboots." + INDEX { vmwFdVmIdx, vmwFdIdx } + ::= { vmwFloppyTable 1 } + + VmwFloppyEntry ::= SEQUENCE { + vmwFdVmIdx Integer32, + vmwFdIdx Integer32, + vmwFdName DisplayString, + vmwFdConnected VmwConnectedState + } + + vmwFdVmIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This number corresponds to vmwVmIdx in vmwVmTable." + ::= { vmwFloppyEntry 1 } + + vmwFdIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identifies one specific virtual floppy device." + ::= { vmwFloppyEntry 2 } + + vmwFdName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "File or Device that this device is connected to, example /dev/fd0. + VIM Property: Virtual Device's with index of 8000-8999. + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware + If no backing was defined by operator, string will start with W: + If unavailable, string will start with E:" + ::= { vmwFloppyEntry 3 } + + vmwFdConnected OBJECT-TYPE + SYNTAX VmwConnectedState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Reports 'true' if the floppy drive virtual device is connected to the virtual machine." + ::= { vmwFloppyEntry 4 } + +-- VM CDROM drive backing + + vmwCdromTable OBJECT-TYPE + SYNTAX SEQUENCE OF VmwCdromEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Table of DVD or CDROM drives for all vms in vmwVmTable." + ::= { vmwVirtMachines 6 } + + vmwCdromEntry OBJECT-TYPE + SYNTAX VmwCdromEntry + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identifies a specific DVD or CDROM drive. Value may change across system reboots." + INDEX { vmwCdVmIdx, vmwCdromIdx } + ::= { vmwCdromTable 1 } + + VmwCdromEntry ::= SEQUENCE { + vmwCdVmIdx Integer32, + vmwCdromIdx Integer32, + vmwCdromName DisplayString, + vmwCdromConnected VmwConnectedState + } + + vmwCdVmIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "This number corresponds to the vmwVmIdx the vmwVmTable." + ::= { vmwCdromEntry 1 } + + vmwCdromIdx OBJECT-TYPE + SYNTAX Integer32 (0..65535) + MAX-ACCESS not-accessible + STATUS current + DESCRIPTION + "Identifies the specific DVD or CDROM drive." + ::= { vmwCdromEntry 2 } + + vmwCdromName OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Reports the iso or device this virtual drive has been configured to use + VIM Property: Virtual Device's with index of 3000-3999 (same as disks) + MOB: https://esx.example.com/mob/?moid=vmwVmIdx&doPath=config%2ehardware + then select property 'backing' to how this cdrom connects. + If no backing was defined by operator, string will start with W: + If unavailable, string will start with E:" + ::= { vmwCdromEntry 3 } + + vmwCdromConnected OBJECT-TYPE + SYNTAX VmwConnectedState + MAX-ACCESS read-only + STATUS current + DESCRIPTION + "Reports true if the dvd/cdrom is connected to the virtual machine." + ::= { vmwCdromEntry 4 } + +-- +-- Notifications +-- + +vmwVmID OBJECT-TYPE + SYNTAX Integer32 + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This holds the same value as vmwVmVMID of the affected vm generating the trap. + to allow polling of the affected vm in vmwVmTable." + ::= { vmwTraps 101 } + +vmwVmConfigFilePath OBJECT-TYPE + SYNTAX DisplayString + MAX-ACCESS accessible-for-notify + STATUS current + DESCRIPTION + "This is the path to the config file of the affected vm generating the trap + and is same as vmwVmTable vmwVmConfigFile. It is expressed as POSIX pathname." + ::= { vmwTraps 102 } + +vmwVmPoweredOn NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName } + STATUS current + DESCRIPTION + "This trap is sent when a virtual machine is powered on from a suspended + or a powered off state. The origin of this event can be several: + for instance may be operator initiated, existing vmx process reconnects to control subsystem. + NOTE: vms powered up due to VMotion are not reported. Upon receiving this notification client applications should + poll the vmwVmTable to obtain current status." + +::= { vmwESXNotifications 1 } + +vmwVmPoweredOff NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName } + STATUS current + DESCRIPTION + "This trap is sent when a virtual machine is powered off. The origin of this event can be several: + for instance may be operator initiated, vmx process terminating abnormally. NOTE: vms powered down due + to VMotion are not reported. Upon receiving this notification client applications should + poll the vmwVmTable to obtain current status." +::= { vmwESXNotifications 2 } + +vmwVmHBLost NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName } + STATUS current + DESCRIPTION + "This trap is sent when a virtual machine detects a loss in guest heartbeat. The Guest heartbeat + is only sent if VMware Tools are installed in the Guest OS. Control process will send this event whenever it + determines the number of guest heartbeats for a given period of time have not been received. + Upon receiving this notification client applications should + poll the vmwVmTable to obtain current status." +::= { vmwESXNotifications 3 } + +vmwVmHBDetected NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName } + STATUS current + DESCRIPTION + "This trap is sent when a virtual machine detects or regains the required number of guest heartbeats + for a given period of time. This is only sent if VMware tools are installed in the Guest OS. + Upon receiving this notification client applications should + poll the vmwVmTable to obtain current status." +::= { vmwESXNotifications 4 } + +vmwVmSuspended NOTIFICATION-TYPE + OBJECTS { vmwVmID, vmwVmConfigFilePath, vmwVmDisplayName } + STATUS current + DESCRIPTION + "This trap is sent when a virtual machine is suspended. The origin of this event may be several: operator + initiated, by software api clients, and by other means. + Upon receiving this notification client applications should + poll the vmwVmTable to obtain current status." +::= { vmwESXNotifications 5 } + +-- conformance information +vmwVmInfoMIBConformance OBJECT IDENTIFIER ::= { vmwVmInfoMIB 2 } +vmwVmInfoMIBCompliances OBJECT IDENTIFIER ::= { vmwVmInfoMIBConformance 1 } +vmwVmInfoMIBGroups OBJECT IDENTIFIER ::= { vmwVmInfoMIBConformance 2 } + +-- compliance statements +vmwResMIBBasicCompliance MODULE-COMPLIANCE +STATUS current +DESCRIPTION + "The compliance statement for entities which implement the + VMWARE-RESOURCE-MIB." +MODULE -- this module +MANDATORY-GROUPS { vmwVmInfoGroup, vmwVmInfoNotificationGroup } +::= { vmwVmInfoMIBCompliances 2 } + + +vmwVmInfoGroup OBJECT-GROUP + OBJECTS { + vmwVmDisplayName, + vmwVmConfigFile, + vmwVmGuestOS, + vmwVmMemSize, + vmwVmState, + vmwVmVMID, + vmwVmGuestState, + vmwHbaNum, + vmwHbaVirtDev, + vmwHbaTgtNum, + vmwVmNetNum, + vmwVmNetName, + vmwVmNetConnected, + vmwVmMAC, + vmwFdName, + vmwFdConnected, + vmwCdromName, + vmwCdromConnected, + vmwVmID, + vmwVmConfigFilePath, + vmwVmCpus + } + STATUS current + DESCRIPTION + "These objects provide virtual machine details." + ::= { vmwVmInfoMIBGroups 1 } + +vmwVmInfoNotificationGroup NOTIFICATION-GROUP + NOTIFICATIONS { + vmwVmPoweredOn, + vmwVmPoweredOff, + vmwVmHBLost, + vmwVmHBDetected, + vmwVmSuspended + } + STATUS current + DESCRIPTION + "Group of objects describing notifications (traps)." + ::= { vmwVmInfoMIBGroups 2 } + +-- Obsolete details +vmwVmObsoleteGroup OBJECT-GROUP + OBJECTS { + vmwVmNetConnType + } + STATUS obsolete + DESCRIPTION + "Managed objects that should not be used." + ::= { vmwVmInfoMIBGroups 3 } + + +END -- end of module VMWARE-VMINFO-MIB.