NFS-Server application not collecting RPC stats

Hello. I have installed the snmpd extension line for nfs-server on a server machine and the application is discovered as expected. However, although the “NFS v3” and “NFS v4” statistics are being graphed correctly in the Web UI, the default “NFS” statistics, which graph low level operations such as RPC calls, are showing “-nan” for all fields. I am attaching small screenshots to illustrate the problem.

./validate.php is showing all OK:

====================================

Component Version
LibreNMS 1.63-41-g25330646f
DB Schema 2020_04_19_010532_eventlog_sensor_reference_cleanup (164)
PHP 7.2.24-0ubuntu0.18.04.4
Python 3.6.9
MySQL 10.2.31-MariaDB-1:10.2.31+maria~bionic
RRDTool 1.7.0
SNMP NET-SNMP 5.7.3
====================================

[OK] Composer Version: 1.10.6
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database schema correct

The only clue I have is that one of the three rrd files created by the poller is not being updated along with the others. It is the “app-nfs-server-default” file, which is created the first time the NFS app is discovered, but then never updated:

$ ls -lh nfs
-rw-rw-r-- 1 librenms librenms 5.1M May 7 01:10 app-nfs-server-default-48.rrd
-rw-rw-r-- 1 librenms librenms 2.6M May 7 11:55 app-nfs-server-proc3-48.rrd
-rw-rw-r-- 1 librenms librenms 243K May 7 11:55 app-nfs-server-proc4-48.rrd

The screenshot below shows an excerpt from the NFS Server “NFS” tab. All graphs are empty and the values are -nan. In contrast, the NFS v4 and v3 graphs are showing up with plausible values.
Thanks in advance for help and advice.

Lincoln

Same here. I think it has something to do with the update function. It seems to be missing the “rc” values in the update.

rc 0 109727081 20335930
fh 0 0 0 0 0
io 1184645137 4292584344
th 8 0 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000 0.000
ra 0 0 0 0 0 0 0 0 0 0 0 0
net 130067107 0 130067230 1844
rpc 130060451 1 1 0 0

results in:

RRD[update /app-nfs-server-default-223.rrd N:0:0:0:0:0:1184645137:4292584344:8:0:0.000:0.000:0.000:0.000:0.000:0.000:0.000:0.000:0.000:0.000:0:0:0:0:0:0:0:0:0:0:0:0:130067107:0:130067230:1844:130060451:1:1:0:0 --daemon unix:/var/run/rrdcached.sock]

But it missing the rc values: “0:109727081:20335930”, so it fails? due to mismatched number of values expected in rrd.

Line 206 in /opt/librenms/includes/polling/applications/nfs-server.inc.php

is ‘rc’ => array(‘th_hits’, ‘th_misses’, ‘th_nocache’),

probably should be ‘rc’ => array(‘rc_hits’, ‘rc_misses’, ‘rc_nocache’),

Seems to work with this change.