CHECK_DISKIO UNKNOWN - Cannot open timer (): No such file o


#1

Hello

After a server crash, i get this error: CHECK_DISKIO UNKNOWN - Cannot open timer (): No such file or directory. This command was working fine untill my server got a high load, and ended with a force reboot.

The architecture of the monitoring system is made by a server who running nagios and checks other 30 servers. on the monitoring server the command for diskiosda check is: check_nrpe!-H xx.xx.xx.xx -c check_diskiosda (xx is the monitored server IP).

this is the only server who’s havening a different nagios monitoring system. I guess is without nrpe. Beccause the file /usr/local/nagios/etc/nrpe.cfg
is missing. all installation is on etc/nagios and the i have objects and command config file

Si this possible that this error to arise due to a HDD bad sector? (the cluster who use to have that plugin wrriten on it is gone?

Thank you

Silvio


#2

I have the same probem.

If i run the test in local it works:

/usr/lib/nagios/plugins/check_diskio --device /dev/sda --critical 20000 --warning 10000
CHECK_DISKIO OK - sda 5.06 Ksectors/s | WRITE=5133;10000;20000 READ=49;10000;20000 TOTAL=5182;10000;20000

But then, triying from nagios server dont:

./check_nrpe -H xxx.xxx.xxx.xxx -c check_diskio
CHECK_DISKIO UNKNOWN - Cannot open timer (): No such file or directory

Any ideas?


#3

first thing i’d check the user permissions for the script, will it run as user nagios on the target server?


#4

Always use root for this check, it works perfectly in all the other servers.


#5

I know I resurrect the dead here, but if anyone hits this error via google as I did, the solution that worked for me was to modify line 1040 in check_diskio:

original:
( $diff, $in, $out ) = read_timer();

new:
( $diff, $in, $out ) = read_timer( $tmp_files{$device} );

as the original function call is without parameters, thus bombing on a non-existing filename.