diff --git a/lib/Site/HWClock.pm b/lib/Site/HWClock.pm new file mode 100644 index 0000000000000000000000000000000000000000..4fcaf4fe1856c88ee87479c608965633ed70dd7d --- /dev/null +++ b/lib/Site/HWClock.pm @@ -0,0 +1,64 @@ +package Site::HWClock; + +use strict; +use warnings; + +use base 'Resmon::Module'; + +use Time::HiRes; +use Resmon::ExtComm qw(run_command); + +=pod + +=head1 NAME + +Site::HWClock - check HWClock status + +=head1 SYNOPSIS + + Site::HWClock { + local : noop + } + +=head1 DESCRIPTION + +This module retrieves HWClock value and compares to System clock statistics. + +=head1 CONFIGURATION + +=over + +=item check_name + +Arbitrary name of the check. + +=head1 METRICS + +=over + +=item hwclock (time) + +=item system (time) + +=item diff (time) + +=back + +=cut + +sub handler { + my $self = shift; + my $config = $self->{'config'}; + my $now = Time::HiRes::time(); + my $rtc = qx(date +%s.%N -d "`hwclock -r`"); + chomp $rtc; + + return { + "hwclock" => [$rtc, "%F"], + "system" => [$now, "%F"], + "diff" => [$now - $rtc, "%F"] + }; +}; + +1; +