...
This appears to be because it's reading /proc/$PID/stat and simply splitting on space and then grabbing the third element,
which would normally be the process status, but when the process name contains a space, this is no longer true.
Code Block |
---|
NMIS# snmpd --version NET-SNMP version: 5.7.2 NMIS# cat /proc/3253/stat 3253 (opmantek.pl web) S 3137 3137 3137 0 -1 4202816 5749 0 0 0 390 43 0 0 20 0 1 0 4442 543064064 64976 18446744073709551615 1 1 0 0 0 0 0 4224 5 18446744073709551615 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NMIS# snmpwalk -v 2c -c COMMUNITYSTRING 127.0.0.1 1.3.6.1.2.1.25.4.2.1.7.3253 HOST-RESOURCES-MIB::hrSWRunStatus.3253 = INTEGER: invalid(4) NMIS# systemctl status omkd ● omkd.service - Opmantek Webserver Loaded: loaded (/etc/systemd/system/omkd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2020-09-24 11:02:54 UTC; 10h ago Main PID: 3137 (opmantek.pl web) CGroup: /system.slice/omkd.service ├─3137 opmantek.pl webserver -f -p /var/run/opmantek.exe.pid -r ├─3253 opmantek.pl webserver -f -p /var/run/opmantek.exe.pid -r ├─3254 opmantek.pl webserver -f -p /var/run/opmantek.exe.pid -r ├─3255 opmantek.pl webserver -f -p /var/run/opmantek.exe.pid -r ├─3256 opmantek.pl webserver -f -p /var/run/opmantek.exe.pid -r └─3257 opmantek.pl webserver -f -p /var/run/opmantek.exe.pid -r Sep 24 11:02:22 omk-vm9-centos7 systemd[1]: Starting Opmantek Webserver... Sep 24 11:02:54 omk-vm9-centos7 systemd[1]: Started Opmantek Webserver. NMIS# snmpd --version NET-SNMP version: 5.7.2 NMIS# cat /proc/3253/stat 3253 (opmantek.pl web) S 3137 3137 3137 0 -1 4202816 5749 0 0 0 390 43 0 0 20 0 1 0 4442 543064064 64976 18446744073709551615 1 1 0 0 0 0 0 4224 5 18446744073709551615 0 0 17 0 0 0 0 0 0 0 0 0 0 0 0 0 0 NMIS# snmpwalk -v 2c -c COMMUNITYSTRING 127.0.0.1 1.3.6.1.2.1.25.4.2.1.7.3253 HOST-RESOURCES-MIB::hrSWRunStatus.3253 = INTEGER: invalid(4) |
A consequence of this issue is that when an affected version of snmpd is installed, NMIS will report a monitored service as 'down' when it is 'running' if the process name contains a space.