Found while building SNMP for the BSDs (NetOrk/netork#800), on OpenBSD 7.9 with net-snmp from packages, set up by run_device_action("fix_snmp").
What happens. On an idle VM, net-snmp answers ssCpuIdle (UCD-SNMP-MIB, 1.3.6.1.4.1.2021.11.11.0) with 0. The raw CPU counters (ssCpuRaw*) are wrong too, and so is hrProcessorLoad (100). net-snmp appears to map OpenBSD's kernel CPU states wrongly.
Why it shows in netOrk.OpenBSDDriver gets its health metrics from napalm-device-types' HealthMetricsMixin (through OSDriver), which computes cpu_percent = 100 - ssCpuIdle. Every OpenBSD host with SNMP set up therefore reports 100 % CPU, and netOrk's CPU thresholds and charts follow from that. This already applies to an OpenBSD host added by hand: the driver is pinned on netOrk's main since NetOrk/netork#826. It is not limited to provisioned VMs, which wait for NetOrk/netork#797.
On FreeBSD 15.1 the same OIDs are right, once the agent has been running for about a minute.
Options. Not decided yet.
OpenBSDDriver leaves cpu_percent out of its health metrics, so netOrk shows CPU as unknown rather than wrong. Memory, swap and load are correct on OpenBSD and stay. This is a driver-side override, or a class attribute in HealthMetricsMixin if more drivers need it.
Find out whether a newer net-snmp or a different OID reads OpenBSD's CPU correctly. This first needs a check against sysctl kern.cp_time on the host.
Memory buffers and cache (memBuffer, memCached) are not provided on OpenBSD either. That is not a wrong value: netOrk just has no figure for them.
Found while building SNMP for the BSDs (NetOrk/netork#800), on OpenBSD 7.9 with net-snmp from packages, set up by `run_device_action("fix_snmp")`.
**What happens.** On an idle VM, net-snmp answers `ssCpuIdle` (UCD-SNMP-MIB, `1.3.6.1.4.1.2021.11.11.0`) with 0. The raw CPU counters (`ssCpuRaw*`) are wrong too, and so is `hrProcessorLoad` (100). net-snmp appears to map OpenBSD's kernel CPU states wrongly.
**Why it shows in netOrk.** `OpenBSDDriver` gets its health metrics from napalm-device-types' `HealthMetricsMixin` (through `OSDriver`), which computes `cpu_percent = 100 - ssCpuIdle`. Every OpenBSD host with SNMP set up therefore reports 100 % CPU, and netOrk's CPU thresholds and charts follow from that. This already applies to an OpenBSD host added by hand: the driver is pinned on netOrk's main since NetOrk/netork#826. It is not limited to provisioned VMs, which wait for NetOrk/netork#797.
On FreeBSD 15.1 the same OIDs are right, once the agent has been running for about a minute.
**Options.** Not decided yet.
1. `OpenBSDDriver` leaves `cpu_percent` out of its health metrics, so netOrk shows CPU as unknown rather than wrong. Memory, swap and load are correct on OpenBSD and stay. This is a driver-side override, or a class attribute in `HealthMetricsMixin` if more drivers need it.
2. Find out whether a newer net-snmp or a different OID reads OpenBSD's CPU correctly. This first needs a check against `sysctl kern.cp_time` on the host.
Memory buffers and cache (`memBuffer`, `memCached`) are not provided on OpenBSD either. That is not a wrong value: netOrk just has no figure for them.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Found while building SNMP for the BSDs (NetOrk/netork#800), on OpenBSD 7.9 with net-snmp from packages, set up by
run_device_action("fix_snmp").What happens. On an idle VM, net-snmp answers
ssCpuIdle(UCD-SNMP-MIB,1.3.6.1.4.1.2021.11.11.0) with 0. The raw CPU counters (ssCpuRaw*) are wrong too, and so ishrProcessorLoad(100). net-snmp appears to map OpenBSD's kernel CPU states wrongly.Why it shows in netOrk.
OpenBSDDrivergets its health metrics from napalm-device-types'HealthMetricsMixin(throughOSDriver), which computescpu_percent = 100 - ssCpuIdle. Every OpenBSD host with SNMP set up therefore reports 100 % CPU, and netOrk's CPU thresholds and charts follow from that. This already applies to an OpenBSD host added by hand: the driver is pinned on netOrk's main since NetOrk/netork#826. It is not limited to provisioned VMs, which wait for NetOrk/netork#797.On FreeBSD 15.1 the same OIDs are right, once the agent has been running for about a minute.
Options. Not decided yet.
OpenBSDDriverleavescpu_percentout of its health metrics, so netOrk shows CPU as unknown rather than wrong. Memory, swap and load are correct on OpenBSD and stay. This is a driver-side override, or a class attribute inHealthMetricsMixinif more drivers need it.sysctl kern.cp_timeon the host.Memory buffers and cache (
memBuffer,memCached) are not provided on OpenBSD either. That is not a wrong value: netOrk just has no figure for them.