Host Resources MIB
obsoletes
- rfc-1514 — Host Resources MIB
Extracted elements (28)
hrSWInstalledLastChange and hrSWInstalledLastUpdateTime are provided so that management stations can poll these scalar objects to determine when re-downloading the potentially large hrSWInstalledTable is necessary, rather than always retrieving the full table.
hrSystemUptime tracks time since the host was last initialized, intentionally distinct from sysUpTime in SNMPv2-MIB which tracks only SNMP agent uptime; the two values diverge when the agent is restarted without rebooting the host.
The InternationalDisplayString textual convention was introduced because HostMIB agents generally cannot be correctly configured for the character set used by all files on a multi-user system; instead, NMS applications rely on human configuration to interpret the character set, mirroring the behavior of local applications.
A MIB conforming to SMIv1 can be produced from this SMIv2 module by translation; however, Counter64 objects cannot be translated and must be omitted, and some machine-readable information will be converted to textual descriptions without changing semantics.
Not every piece of running software in hrSWRunTable will appear in hrSWInstalledTable because the installed table only covers software stored locally; software loaded from network-mounted file systems will be absent from hrSWInstalledTable.
If hrDiskStorageCapacity media is removable and currently removed, this value should be zero.
If hrFSLastFullBackupDate or hrFSLastPartialBackupDate is unknown, the variable shall have the value corresponding to January 1, year 0000, 00:00:00.0, encoded as (hex)'00 00 01 01 00 00 00 00'.
Implementation of the System and Interfaces groups from SNMPv2-MIB and IF-MIB is mandatory for all implementors of the Host Resources MIB.
New type registrations beyond those in this document require review by a Designated Expert appointed by the IESG to prevent duplicate registrations for the same technology.
Setting hrSWRunStatus to invalid(4) shall cause the software to stop running and be unloaded; sets to other values are not valid.
The hrSystemGroup, hrStorageGroup, and hrDeviceGroup are mandatory conformance groups; hrSWRunGroup is mandatory only when hrSWRunPerfGroup is implemented; hrSWRunPerfGroup and hrSWInstalledGroup are optional.
The value of hrDeviceIndex must remain constant at least from one re-initialization of the agent to the next re-initialization, ensuring stable device identification.
The value of hrFSIndex and hrPartitionIndex must remain constant at least from one re-initialization of the agent to the next re-initialization.
hrDeviceStatus reports the operational state of a device with five values: unknown(1), running(2), warning(3), testing(4), and down(5); warning(3) means the device is still operational but an unusual error has been reported.
The hrDeviceTable provides common information for all device types. Entries with hrDeviceType of processor, network, printer, or disk storage have corresponding entries in device-specific sub-tables (hrProcessorTable, hrNetworkTable, hrPrinterTable, hrDiskStorageTable).
The hrStorageTable is a conceptual table of logical storage areas on the host, representing storage as seen by applications (disk partitions, file systems, RAM, swap space) rather than physical devices; removable media without file systems are excluded.
The hrSWInstalledTable tracks software locally installed on the host in long-term storage; it does not include software loadable remotely from a network server and may track executables, packages, or patches depending on the implementation.
The hrSWRunPerfTable augments hrSWRunTable with two performance metrics: hrSWRunPerfCPU (centi-seconds of CPU consumed) and hrSWRunPerfMem (KBytes of real memory allocated).
The hrSWRunTable contains an entry for each distinct piece of software running or loaded into memory, including the OS, device drivers, and applications; hrSWRunStatus is read-write to allow termination by setting it to invalid(4).
The hrSystemGroup contains seven objects: hrSystemUptime, hrSystemDate (read-write), hrSystemInitialLoadDevice (read-write), hrSystemInitialLoadParameters (read-write), hrSystemNumUsers, hrSystemProcesses, and hrSystemMaxProcesses.
The HOST-RESOURCES-TYPES module defines IANA-maintained registries for storage types (hrStorageTypes, 10 initial entries), device types (hrDeviceTypes, 19 initial entries), and file system types (hrFSTypes, 23 initial entries). IANA is the registration authority for new entries.
Objects in the Running Software Group and Installed Software Group expose the OS version, application names, and versions, which could assist an attacker in identifying exploitable software bugs; GET access to these objects should be controlled and values may warrant encryption in transit.
Read-write objects (hrSystemDate, hrSystemInitialLoadDevice, hrStorageSize, hrSWRunStatus, etc.) can negatively affect system operations if SET operations are permitted in a non-secure environment; SNMPv3 with User-based Security Model (RFC 2574) and View-based Access Control Model (RFC 2575) is recommended.
SNMPv1 is not a secure environment; even with network-layer security such as IPsec, SNMPv1 provides no access control over who may GET or SET MIB objects. Implementors should use SNMPv3.
hrPrinterDetectedErrorState is an OCTET STRING where each bit (0–14) encodes a distinct printer error condition (lowPaper=0, noPaper=1, ..., overduePreventMaint=14); bit 0 is the MSB of the first byte.
InternationalDisplayString is an OCTET STRING textual convention supporting multi-byte character encodings; when a SIZE clause is specified, size refers to the number of octets, not the number of encoded symbols.
KBytes is a textual convention encoded as Integer32 (0..2147483647) representing storage size in units of 1024 bytes. Used by hrMemorySize, hrStorageSize, hrDiskStorageCapacity, hrPartitionSize, and hrSWRunPerfMem.
ProductID is an OBJECT IDENTIFIER textual convention intended to uniquely identify manufacturer, model, and version of hardware or software; unknown products use { 0 0 }.